From ca2e599c7276b45a0555200d0e0b9fe099dd1dc0 Mon Sep 17 00:00:00 2001 From: Andy Date: Thu, 14 Jan 2021 15:31:58 +0700 Subject: [PATCH 01/80] Updated RU dictionary Updating the Russian translation PrusaSlicer-2.3.0-rc3 by Andylg --- resources/localization/ru/PrusaSlicer.mo | Bin 261986 -> 402899 bytes resources/localization/ru/PrusaSlicer_ru.po | 12490 +++++++++--------- 2 files changed, 6151 insertions(+), 6339 deletions(-) diff --git a/resources/localization/ru/PrusaSlicer.mo b/resources/localization/ru/PrusaSlicer.mo index c0b9a51e970c1a0106c1c038865c7ad8795de200..e292895138b5453b59033de08526c88198585361 100644 GIT binary patch literal 402899 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⋙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 delta 75671 zcmZ791#}h15Fl6}1eXiNT>@O(3lu9Yl0xy~lu`=CDNfN+ z#N= zCq0$wIJ0Irj*GJ~0Y+m!T!u;T1op#Am<(&rbeyc%1~cGDOo$6HK7Ngf@LLRV9KW-N zKqeBdBkelxP#4CU1l8b8OpXa>Q$EOXGUH3)<)cl-Mdq3ggrYiD57S~BjEzy4 z6o=XPRE$ge&TImy$yjJJwt5+kv(v`++4y199sG>Cg9|qO4kjl47#T$8U(_8tjH}8e zLUkaWH4CaEIWaNqJEaKdg6g(FBWrVvOL|)y?~1y!o~VutwT`t;M>QBg)wc%K&{p)} zL7RUBQxg9T{b>mNNk9#K#N8NozT@n}L-+-b3D5~Vjw+vXfq4`aP>-w;>iSlg1v}aF zF{lxlV&k(hJMl%RxwLNq<3EYO2@=%PCJW88?}C~We$0zYQIqQ!hTvt?oxa6jjJwFh z)8K02Ij{g8N9F$yHDa+Bn@1gtx<1!p#=jSV;v}en<)|KihZ>?Etfw&r@!QtdsF6sp zguBITs1X>48j)$J$vO`;H`b%-+llG$6sp`kKLHKNU#JR_FE!69J?aiJV=kT#si zZ=Ggch-z>x=D}U4JHCx|@CmBJrI(owHAI#7wD5;olq4GKs7kVrcXxg4~uadZa`h%{%dwqj6{vhU{rlyp+7r; z$u?m#>X~h~@dKz19Yc-4MN|d1P#t)J+3+pq#7t|=omayU;*C%Z^~bz81VeEZs^05s z8GjAkQxfC{%!I+~Oo4)^XI23AL!>bf(S1)riuD)D-jHfF)X*c1!k zSnJmHjK7}YbrOo=8*9FA%&cvTg-8!WO|rSD+4~K~#)GJiAG2Pv=?_su{|wb(-v)Di zFlwZ7pz`bZ38<&-ZGnEMI~kAhaJ6+4YIg5H-SHVz1us$M<8CyoBqzovUIi0iT}+G3 zQ6m|Fx`FXl|55_FvmK}kPuln&n3ecT)P<=wnP;0Ha}zIv>PSbdfa5R^9!@}TBIRn&!bQ4P1k zw8JqYj>WyW0`;uhZ#Q#b5H2P@6E(v5cQF3*2vi}UWpfcz;XkOJCf;d=EG32z z4?(TlDyWV$M%`Hlo8Av~Bco9b&$H>9QRVicCgm@f0x$1m{57OcNzjGqV~mAScUB$M zU<;ex-KLMQ&O}wT3iSwgqDJC8R={hR2-E*y>dTFahoWw@<`0a&0_{l9P!B-e*>u#9 zFGlSTYcLY`V=^qZ%k1sdQ4O|1mG6Shus3Sb9mI5a3diF;RQX=JO}zvB1ayZpP|tK3 z=EKdXj$Fbtcpo)aKA=Ww)Q@};Vl>uNK2F6#dzi?$8>izd)b(F6A#~j$tbyNJ{r@AN zhRW?T>$f&)L?TglFbOqeb5P4>Ick!vLEXtgEQ%*k&-NXb!#MlRkXOaD#J@z9?~A&A z5N6OlMH8q@!ndfc@o!9zsSlV*SQPb)%V2J-hZ?CU)CM#b6S|JG4!K!p+d;Nh?03j? zXdY%Fz5;XMKGdVShgmeHe-TiHNq%CYVJ1`s1F-}yLVD_)K@II=Y=}7zv%lj&T!djq z%s${8H6t1aGn1YYbpypw_0+U>!8Nq+_z9?Bj$`JItD&A%9n>S}fO>}Es39JMad8^9 z!?`#NUtk>UbKESqC`?FvJSu%Q>P8n>*P&m}W+wqve8zeOwO;R`=E7^#97%M-3}Jdy z`6{S#^=!PIjrTx3!l9_^=2};wMs_P|Bz`}^`0LJ}lTaFyo-`S?un_UCSPP?3BXZ69 z9CH(obINSVg-{i?u@1IIV=mIa#VmLMHIlDU9Z&KzeOQE;%pq^O^OozQt z7mi1jUy8cJ?HCWwU_!iv1@JCvsFR&G^@O0VFM(R_^)NoR^%GEq-E784)P>Vgcf7== ze}}5zAnI9OMoq?>=)?5Cm>bB9iHH|KHBc7Sv1&HGAtol?7S(ZoPXfB*0oDnqp2{!&&oS(S_fX}Vo-rNmh8m%Ps1ciqYG5_$2EIdeuU6|plF$b!_f~W?oU{Y*|!PpUX=lxJOGy>J}1y}|*Vlu7&y9D$I zUZZ-P_%}1u*{q?cA#Z|euobF-K3EJ#VmaK3%722f&^c%BJT?{~8jPAVm2n8Rky`)f z2{gg_=lMYqSD-4W{kz#v8X!aEG(&Zy1L}^tq3--E)JV-j&4sUfFEjK6lUsy1N-YACm$M&=Rff}U4Q#r?4x@sX$s?&5HKfoiDl zRXdrj6R;ua3sL1CVs`w;#xq=_70u4P*UW4$jxCATKvlR5mA@J_q?=K9yc6r=NgGdl z-Eo457r=a27`I|;jLlFd{DT=!JQ@Eo%y-!Rh&RK{ zxC^Ue_q*oha}$OV{}=h(aY|6zczlZtnlt*o_hY2f`cKE1K>Q;%!U+$|XT?Q~AntGS z&~YXbIE1^f&Le(S$5@YzYq2CfuJwdff}@_A3g-P~)^pNlX3k{63|vvzO<+@^09EGuPrj5@4&VpqweSd4#8L0 z0{gr)Lw^L-@HtG5*Dy9dLv`?f=r2Yf=#`n(B~cxzje2&CP#aHs8xKc4s=?OjsG(nt zS|#gI<-bQYxEEF5ulNOC#Lk%ce(W&hJb!0cWvwgLN0Cr{Hnx9qR{cy8q0# zTqRJm`T=Sr|3Z!63(SQ<@68t(c`*a=x|kQcVcSN^eGBSQZAW$Z5^7HTW#c~A^*WXgH5p5yCRs&PeYH@NwmxbVwL-r#y4j3gn3?!s z%!u<*%WoU%neW3EP+^7zeM?I1% zsQPQg_M1CwW(#z{Vq|p1mKea|_&4g&F z`dQSS-$9M&BW#8KR|GWV4HCHCw_5G6G4TzU7XL#vn2MjV)j(Ejam-1)2CAW6sPe;6 z9i3}kkLu_i)D50NjZBPz^Ri^}GkF;V7Fw3bh<(qlRz^ zmd69A2HvAaBwR2(%f)!CaWqZ^loQSG#0cs@nV|6@(8i|z2%^b;y+Fwd0XZ>r^G$Fy8M5t#q95pGY zqc)5ssE)+t-B}&Yg38Z_dK6_*`#=L!LtRlF>W!*@Bx;1_qefs2YL3LDVEwD%!z8G} z^Y}O3L0xb@rRnKyR6`$8Lzgm@F%#+$g*YdbDS;1aHyz@N44f z{b@`G4xncFuc#isM%_tpS`$x$>Sz(vBdClTk$ULeG3wd(M(uP1Q00c8MrIu54&sX{ z)QucUZ$`p@(FPu&hU`76q9hs2>`sNcvka&qD`?Y0Q4Li_jX(`l2ODB#?0_9`1vWt^ zqj_{qQ5|b<^gBHXsNq4V3MZl(nugl>7NUB*6;7cvBLO|@)2KVRikc*kF&}VJwF$#gTi2rQY_s(U>VoU2j@(Bz{1587#3ANU zr9?H99yOWspl+zNjn_og+Z?ru`l4Sw9%?h@+Kf%8p2nbN@d;GJ53nx&iw&?wR`V?9 zqISX+sEXIx^zTr!elMz{XHgxxWPOm8^{;32h6LSV@@%g65}LtU3w7Z@)P^$xH8+-^ z?(iF%{sZdHFQFdYebk-)iz=TiySbsvsL5IcwaP-X`^^PSNzet|P;V}yP?Pa1)NGxI z8i8okWL$&VdUx6M*QgPTo5OS@9jbh8)Z8e8d9fjC1cst+e6pW_w!+n@J2-%9@E25v zuAuJd1?ri{&S@ITfEx0Gs5>latG$zku^6Ox3;_Xp)G6B`#T+~pnMRjN|s-fRdkK&O{e}}q(qK*s zxiFK~e<=bQ>Sm}7rzh$T=b`RkFREj|qjtFGScngi)cLt%tWm&qnCMR1f^0zOC$kSO zD(pI)F#!WW; zDb^sKu8f(C9Z+*847GZCqxP5ns1cindQ=Nhk7{EX*1smrArcDU@2E)=RMtGRET|3@ zLCw~ds0#X{p8Z(V2+g+n-=G>iWWA21h`+(ISUA+w7mj)avqM?`s$eAvniRWi#yQMG z{0@d-qH^ZW3Zf=c3Dg{^fttLHQ621ux^6OR1inX2#u(K4{~5JxU!$)7&rd)*S-kRQ zh|*vO;yG{}j>E|qzk>O}BpOx0QPiFOjCvRR6E(RKRy1$ZsnF{n#wEQmYQ$QhZlF8r zk@$z$jPW)j8gr4c#>P*fD!zuQ;6Cb+y+TzGw~~pcL`~w{sL5IZmEQ{0U^gs>gYkd3 z4Xe<;^G#**gU4g+M@E?{u2T)aK@IIw)Er1u)!carRK=mV5^JI!-9xO4zG|i;4N)Bl zL;X-X2Ipa=>Sh)Fj^(ue-xAPrDpkYG?yxV+j<^=pfumRq@1Z7B+M2HSbz4JJgU3;` zK4mRq2Gr1Jvlc=6vo?Oy#-F3^*r{!nWnxr?sZr?} zQ5#cU)U2+6YN$SH1iGU-I2JV*rda2oUllAOpoZ6>K8AOqD%y`)Zf8&(yoH){FOY@d zB(7s-d#$==Nc*E2oR6ySd(=8Vi0a@aRQ*p-bLD?^S^q5vB&=taSr^oZj6)55tomj$ zW=D0j4yr>fP!)%xDjJRLa6X3NE1Zt48<=_?pstVG&`wrV2Xi;{n+>NF37JS}ih6ea zaWRfWHIS~6sh}{b;qs{U-4r#XEwM6oL`~L}7=Q}`vOYVUf#y6uHsiEqb6n688Cefzx~3u*oTLqI!Nu8wBe)xjdfd*UWsjDxXO zCo_o-;2b93d3-{8_b#rp6PtDA5s;oR%=LbuQLh`5Q{_-|<9&Btx3NtR<_76^@s(y< zWKZ^P61w*?cRsqe8LGXQi1dbi78&X16-%SX8SDydd5woT<>=>r?C$43Iq96q~S@ZXS-vNdFEdZ zHg7~%@h#~ohL|sxk_>hA%Twnxw#H?{T<0SGi?{LYaM$^O+ef%gG;SNoYAZ#c<|x;x zgrjhB5HAQA3u}!r-(J-p%d(>*%Ww_lwvKb13BN$hjcq&XW^*2V<(-qZjpDC<=eY!=FpwH=1sI4^`6XQa>kL&OooH5mGKxL+x zJE()|NJG><&=$2{bVco;!%#0YQ!qWQv-yWmH*(2OASZ!`s0xCanjJ9>Dn0~D;%F?6 zJ5e2egxaWHp*rr&aGk7>3U$Y&Q7<-iu>y8Mb!a7~#_!O3|36NkKMA+65jLG^dbS3& z)$Twwa18Z`uG#oA)H94V%ZxyL)QzOZhFBi+;xyDt?M~Fl+`N6p3bn6%MBPC4Ii{U5sG)C;-k<;L zPM``2Q5c0gu_@+{HXZR>C!+3XCg#FjI2CW=Z`gY->z!3mX&wz=tNE_8k@TJc*ZTv= zsTY_%e>0vVeepuqiPZX!SY+1YZPer&wAkFi2-J{GwDF}jz8*E{_Sy7Ps19AQ`R`F1 zPl_dGL<*wn>3}_OAnMcg5A=Tj|DM2E5`veS3vQu?KE*OK`Ldyguq778J{XNlZGO?^ zX1R99wxst$O}gV)9OJAo%QO^65buK@@zDy_e;x%^nub!WGPAZeb|AeIYP}xBW_S{7 zVV2cq4)j1h`#z}28igrv0&1=-vTi^v!`-M!d=WLr9Ppr`=E$ zj6mI?-#P)ckxaLKjVia-dH^*yenJiDB~*uQqL$}9RDI8E`fKYulg|AA#tcbZ)a*}c zpv@jJm2&3$gS7GqZF9C(>${_KbRjdI-%}x3ab1vRKo{s z`~qr3-k^p)&MwoDRH!*p9d&&J)T8K(dZdxNSpO>ECqZ{Q8CB6L)EwA~dK9No&-MnY zqFB4l2&6?-m;?3mLkSGQCa4Y$KwUo>_2?F(+FOl!w440|^kT3RHCfK0p51L5{};8q z68vb&Wx){Qp{Qru2K6Y~qxSTkSP&lUcFvmF1#U6>139yITO$FV-~_o!!I_mKCt z?B~zry57%#S5cFs_)q4$pca^$_&99L9c;oD#6KK1bE5eX(_udrC4DjK`qS8r^3PF| zvE?!I$R=V5mBUc{70YP-Cp>OG)v9ALGNLdV*P%wB+zInYzQ9t%+hJCmi~5w?iIwmb z>Y0}~Y2GL5pjOv3)P}Vj+u&N%hz6Zv&S?GDCZI{x-8$Sl6E)KlV2P4=)%yioog5YO}aIx5%>}F;a{k|KiwJA za8XnPb#1&mYIcvosu+#c@d9dyGyG~g*4#P*HAz>Y=EA{WS^tFz1fMm}uoCLR{@4jO zVR=mQn;G)DxQA!k2d81a^Cms!cQe$NQOocNYWXI(U~VKgRwUj8)xp`Qau+W6&EEZr zg#VF{`J#DtDKD8-(Hu1g#-T=HCTdo%!-4n<>XB5xY|6DqjYv3Z1c##@&06e6!CH73%VD;w{7A(ew?|bRblsFIi0W7w8*hY~q-{_;+#J*# zT5jV%pjOEd)PCcCXfxiTcCxsCn4bgEU_IhJQ2WCU)N;Cm>R|F4<}EoBYCZSIta#M= z0JUQ#xM}u>!l?Ygm>(BnN7{Fe5YQdux@CTY2?(J*yauhc{8n z@F8lQ=e}QTh{(^w9Z5RXLN@E9yc`_4iFb?|4@9jAF zwSLq_vJbU<&Y~Ll8#QOrJv8yMs5|Y9O5cEbbSJHEQ1#_{WYWXX`~6=u0WG^Ns2)GW z4jA&-Ouo_9J=l`;H@FoWKQS9g&{HZRo(B7101II3zs#d7hT2y;VG*2*+JKJy#roIm zze0lcfh^C=KF|=8G26%BKcq+hZJznm=dN>v^k=B`yW^$VxXz(Q=n?A9-=pSCrdMXq zZ;pyj#j<$V`r(z|d^uF+f96Z3`KSt#yf%AwAyh*pQ5QDFPBnVRm3w2a{eA_3S!Yqiy<8 z>jPAU2|k)-7lKWQ*FX*V0@TOuS=7!Mhu0RhR}h&ae!eUS@-jxCCdX>j#&O=p|3y99 zd~T3am^-b2sfqUq3UVsrIMi}Ff@<(Omc-P)Aa7aLLoMfNs7d!d>NDjSre^**vG}S> z4QGgLDyWCLqw%OATa3$a1FGTLae};M))9Xqz8>{#d&dp(KGjB|8a#y>(dVcgGI2Z; z?~H|rkHU+z?`$TZ^*la)koV{Rx8Q8zEfNGdvAN@iIEDDLghAei)UZTB-XrRl*bHSf zjwF8v4#wh1OhX&72JvI4XPr1W$eYadP$S$E{Th;)1T@LkpgsehVL$wc`mpGiG|2f1 z=c1Ntnq;Qpwy0IG3bi`+TmQx3#EU04kKkLZM*JCSq>85q^0w~kDT4gox7yQ5(1*ee z`~?%Hxp*QU`e-Mvv13dCRLzT2o<5Y()7bsE^&J*cd-z2sTa^w?}v^tidrs%V0GB#W>gKDOy?^91n+T$y928%&bdn=^iA76JA6 zBx>XEL!l+hWV2mR}TV#Aabu+=^B3Hw@Ru zR?32=f>BtPj2P6T@D;K{h|P%?Kz$aBMeSrOQSb4`QCo6wVe_bJqMmJARKpWd4X;Ce z9G|f1|6n=VchVFwldLJK!j7nCz792O_n=!^m}lnC;Ecuj%v zh!;ZLd1+KfJEQJ=3MO%RokzWT{aBJ!K)h5b*1v|jW@)o5TBAD93$>@u!nC*^)8j$Z zq`ZdOh+d$|mo5|J{k@>Js5$eK^B6}luJ+*-@$YGtx&<&;E=j>+c2uZH>=xEhcGb zhJFX~QQ+LiHuw+D)_3AgaaNZg zrxf1r8suysKU23L@9%sa$H&B1bq{jlkUyhGkkcRMg$FrZF>bFQrziIA9pr>@XBYdh z{`q0XsnCx{fY~F>4wWRzOp@|gg$jqF=E#qzb?po^lQIwLku^b0vVJ%Sm!PgoF^G=h zm#FuMX{e2DE0(|`gINEn@GS`qFxz1BO#7n>&c>{`7Pavl#|roy>tW#`W*LpZe8lIV zuG@?1*l#xdZ`2D&hM}e-9Z==Q4rTq5xRvw{xEqs> zG9z;ewO>3&HSo&D6L2Gnr@$7N7xjWN2339wCcqff)_n*=(0_)2X8+&T;L)aFA=E2X zSyYefqV6op=Fi7y;w$ktEIG!Mi}#hez9?#>%40KZh}sXgaKZWXeya{H~;9 z{}TzQM=_|1ezyf4qbf=<(eykY>Mi#REPWNKvCk1&wIVDG}f*M#0 zM_7-b_xFF2Og1}QC{Ce3IO>tSvZk0~;>E0uQ61@L-C(_I%{CLV>Fl)F&N?`PDUx`I*k;rn-$h-RZ?SnJs)DMZ zHEPm!N9B*S&P8px8?h3e!73QM#H@zKsP_B=2!t@?>rr=pVrh`~cf4{eGtYiC4krIJ z#wNeU3iI|`7vm6*#5p(=D`29PK~6`kgSzvLs8_gssE_4~sF8by{2=0Y60S0{u@0)> zAXHChqAEO#dLs&6ZF-y+3lVRR>cDhNiE~l=$Tz5lPuTQpsP};9xB_deF^}{SOgQ>_|gfYCHjTI&6gt(A{D_+!mo8!3Ff|)9VF+%2@VWvs{LuI&cDu<4eqixwo2S)d2Mf#$a#U zYU7!{3-Z1O-DfZ`jHDk4s=X3Cu=k4{Au? zp?a2rJ>&s7GH?_cx(qe@W3UF^#8Aw2z)nik9Ppza z;YK`4M@}K-{LY+1W;UKi6?ll+nd1LsCR;_+&jI~W&vvv;UxRA+BI*%1hs_3)3-$S4 z5!G-v97}_9Q1z!iYC2d7bL#WIKLPzf5I`-9b(j%_mJ#$a~Zcb*W?vrc;2^sEr-k%XgG!3fla zlTq&li%=u63x~$y(V&)bi{H#MU53j4#rgtued=?@+^CT&gWmW5od|dhp`P(%)a03q z8nU%G29M$ntaU!fS%n`^Be3#!vt#bI{*HPif1@5<>I>#)#hj>-sD)ZxLocxY)st^X z(4GB;74W&W@I~{=)CaX(c48THFPRR9q9$EUR6Wx%1b3oF;38(lcbE?|T{atBE!2$# zF8j@-i6KEd)EU&Xaj%%y=TfMht_u#tIjGNucvsCN%Z_?|uZx;9L-9YHk9vgB*USj4 z#cITNSpP+ha0UN$v-34X^)L!G63bDKVjpU5oIv&XPt@#=`-h1aMlI8Zs2y%7Y6NH4 z^q*0W;x%e=XS`wNSQ*sF_y-X9k-$9s8XMmFvq?DeUwjZhzUQ;^lf@Bazt#o!Kx;5*bK$au$m$~8tc&;!fi6x5v_ zMUBi=R73xwmS=*yri1lSkETERa5<{Ot5MhO#9Uhc=LzT;zr(?p@1EIGSD}XbgpEJP z0>snaH+y>x)Z`nFx}#I54&K7HnCVZ`kzuGCScc{C0P2yv#{#tPWPe~9YJ{3ZLr}|P z9%}g<#ZLIUO)ve>JmVfXlk~Ny4wQOiw(xqW&xWa}Ids)}A9d%?Q8yg?nDwt`S&@Je zI%6@MjUjj#bKpH2Pw>PvoF6r`;aC>~sP%jYb$yDb<`I5@>ez7XhO@B^zQI1&>@U`T zHUfwKG99>wn&l~J}MW_z#N6oPp z*bEaqH`jG|?l>c~jcGF*tY@F#49 ziC&sJZHJm0r%)SM+*f8URQ3~4!I3z^WzWVML2M|mX%J_>;qxB1y`{%Y}s)Hg-XM?r+AD_yF5r=A=IFw_?Lk zBYYfn!!MDM;P=1DeBLu2iJFYxqlV}LYAAz~`@A{Q5{nQYj-zlB_QL!rOalSbBe{nv zmoTNNw>)YY_s1c)5bI&`R6g_m-+_Q8S6|fU{Zg!hF{l@apwvF^FAfw!?T9g`$#oc8 z<3o&x)zkRA*AnZ`J5ek22TlSh*zgKcd#8R6TgB= z&yd0Ay;c`M&Gu=S1h-)}JcL>Co;7Yp^Jwy-?z{$SDH-KeMSgCypgvAMY~x&f<5(cZT@9KN;O4tItVH`YVhkJt(`+ zdy|@vRf%89?lb@XZ-yK`?_;$9-r|Cqs9BqrDgQloN5#|UHjktwj-%W-Oo8$9`n-?t zO!<7??++Uye?-X1oZsjD&5Gv*%p~nq(C6)pJ5U=^>_UE@_r+uHLO$QR+1>hnI%yPzJ`S2q4NYG*v`C!l9> z1vR;zqlWkcYLcZd=JP%iDxsEDTk9Ou#&jI@=&qvIQB=imQP(Fe?(<%5OQJTY8mKuC zfm&_;c?2~3cVQQX>;d*5UazFNlO3pv5|%O@D}wqItcP09Ls1=BW7A`BBk{Yat$J2z zpZAwej$>uw$I6&}CSF;e6QcFskU)Jh`e6;+hgx>ALVeyB3q|l4@t^PuIykkQ&)Z6W zD{m%Yk_u+1OJP>ZwL{&I-^RC~H``G^MgNH!iCUGE&iacapq*4mFv13~=UP{T~dM74b0*Yj8L56bVT?eqTH z&fGdazW*g*W?i3i8tc_F8$|m0KJSm;zQs@~Jk!8zGzl8{yuZ~JhEbG%i8aaZ(b(sG z-@mnqnZz+onG2*3Xy)_Y8%BM}qow>!oQBn#`<$iZpGChuG$LA>JE_^)^zatyQ5p zoqXQ^x*?`B>tC~XV;An!$LBQaS1E71`JB0Uy9Zk*Lpivo*+|m&;TaRp)0h2#{5t)3 zWH_n6&)G)$>_{F3_0$;Xb9fze_7Tw?uNux=B3^ie&*2ZyIEP00oV}F$akQTTBn%zr z^Cm}}3FeNvPc)Nn{3Nqcq@B!Up`0Hzx#mwXljsP}BmNAhlRti{&-+VhDW?0JAmYvp zpZEJf-%Rsq_!6V&NW)n^@9&%)_RnFxQt*1T&-(%4^xX%BPfGUc$)#q#=VflCF!==u4KJQ6yh1yv9?qFvmJ{0wNe`BZFA@jzVRZ$N0 zTK)vJ+}s~bxwJTrcxTiG_b0B!SIDFHJBxRj4dq+Zr`0v=jj?w7yr1d%qc)mF7?%zl zLA`vQ{?V-acc=|0+aA+!NlZ(;o;3{P5+8-yStnqCdRAdA{rR8JeP*_f-EY?YHq?%H z7^j=tXTYjiGOLGg2hSSkJ?&aVq;8q&|KdOFB2b)+E-d1G9N;{u)Ws*j|4Pi z>3`y#4U3}QfNEm|eudhAUZD4>c-VZLc1M+ahn2C!5%c0Q5FZmifXi^xQSu78WV zqa3Hr2sXv(#Czed_%G^1>Etiw({#`o(}CzSe)D0of`n`o_!&RqGt`I0vtQYISrv_b z^EtPPZ#?hgpHpL5U*KI4PhVuH@y|=_^?2@zncb_d@#4aDwXd6o{<~p5rsLlQmQ0hJb!pJcH@EAj^GIAoNc*2-4@`4P1yraOeX@247%%Z2FLq z!S7MO4WIYOR9x$cnY{B+Z$fdN`kXCT5cN&VHRO@_og{ymXSEx(+-f~D%cLFZnf66J zdsTXG#geq)G7g z)CSZY^$3QbU+a7W0X^$0)*GmyzKe-5=&k8cQd9+LQ60^TTDHZlp*Fn=CM3NsYGhiV zuIq}L^#d^&XTD|qYe<)qp!L4r7Cec1Bv(=Sk5CsTcxU$d9H@#*qsmoBb-1Zb?~l4} zluciT`pnpa8tF%t7!p8UHg0g;CGEJ!%fjLrtPzQO`2?y_sC4P(vMsy0c}d z<@haXXzyWuO!L9)sMS!Dwk@W{F{nARz)wJTvJLq-bPk|q>v>Fu@jjY6Pmk(A3Dh05 zK|ao%_Q+J=Urc0T#ioNK4&s^2;v7M|9H)*GOywmk7KNY}v|m$%_4 z{2OK7a@}RysV|6EwT<)g>-`~AmCHzaPtIhV={bL(BcF~@)a!3dCDTYeZaeWQGY^Fu z*a~?+@s5sMkd8Bocv_n_f$Q{zRa!i5FFs=P6lETJOYt~m^!c!qw!Wc`9GrR0J1UdS zUeFm^lJTAk!)RRZ{yMgi*2?yrj|t}h=PetrNL~nK&rt4b8qmjZGUDG*rUTc{B7eNS zk*4J7_=&s)q-*|p$7T}Bkg$_VPm$7;3!4)@VjI!_9glYsZ;AfuUC1lBt!yV{2Xajm zasFO`cZ{S=1fi~6uUE80#IKWB zyBkr*Gt$aa!E_V#zHV7d-Z;{#(!onK(389w#6KNN2w&nnz_t7$#5-2lj`|Cec#iYa zF^~fKB60~G(GI2~0~g=p`IuoD`z8hwIhGHZ9rxEQ&$E~ zUI(4Mt@m&y_&y#^Je#{0Iz`UbQuX*y~W zPD)2~)Uo-QZC+>MT{u&5t&T9x)?SF`pVv0LnvS%mKqJgUMPE^%wyi)vD%~L7nR6^@ zYbi6AvPTuC;vD$tSW4M9q}4|qLn(ida7z>Q-k22(aO(d*=k%qq>r_~hf{O^B=ii=-5k|j%TEQI_?qBpO*P_`0d?&AYlm&ma&~zepRlktbje@QQv=*QTtA2D*3@y z97H9@h%dAaMw4HGf~&D0>ZnD~A+}LnFo*LXX@7pY8tZdmgsu3bE!%>42-o-JoK0O_QO8QsOA&8u z&I+EXlYc^mx z@^jOG-U~h*-;#F9UZ=EPB~_(z0R_ z()8_SDdNA;aC3W2IVzk_{{M(C$7AH_*h<-i)Wz>IysvFuVt2~6C(S>f|1=_^BLx-4 z;i65%yKs??jKtTOp!cSv;C>sgL`BuOMn}Ll_A}lj{SIloWjVY;I*B=V(atsU=5v;{ z*Nl(F^Vc`ibGhKGYOzOM3biC{2xm?%Ohad$U^>!29h1qMY%9uc4X2^FoC7GA0Z(w& zrJRnjlsQa#PwM)XGaKm%;xPVv<>T;Uob#Lp&QY)-8UMqx6pBZB2~2?c6YQOA2jWxq z)3K1i0?z7O*Tm-UA$_&I_yqd3EfPvPXZ^8a^u?YFlV>gTz|R61Cd za_r;WZS%YY{-c*t9jOdX9Lkop9sXc#Lj&XKcyG$AChcqL7;DQn!(cjG6*p`DpGM(K z6#kcjQz$r@aHK7qmUulHxPbcE?g?hHy}yCcRHS1Ur@nB|S8MaAXEx% zdLqjIjUlw5mq@^GnO4?DbYf2;0gey=_Gh3!1WzKV51o{43L?X!SLF9W9zvO~5*n;>}(qlMx z5ne*MyQDWDJfAXsY-J=nKa!T5yr+~Mj_t`yPdFiY%Q$<}0si8%Q--u-l$}PI>Vz+9 z{;#3HIWjkLemb_2nVd?F<3!S%5JS^S^Iw!8QpD#ueo47g}V{YMfzhZIm{IkxbO`YC%+MS{Rs2hcxN4D zigD`8=IZ1fr@W3N)G_+A#uky@kF=K99KYcFop4rtW_O}s4U8rs8I|a`N_Z`4I#!Z) zoksMnMNPs9>A?Rui<35paxF=#Y8xv=_#e(=q)+6GAw7-F>r8!*ZMZmjI=nysqknqi zA0knloou6BDX1?ObTp%(;iTWB;zOkC2UHzDlb)aS3sg3n^Ng+3DMqeDN+eT#jlFE(kV$^Xc8t%%pelEfPjZo;)KDAy2&==uLh;-^F3>trN;lCv-2 zySDN+*0>bxM>q==t|NaE*C*yoMdLc=lJ@DCNBT0#enG-;@=s8wzNC1{`6cNo$@drF zKiPV^C(ntfFxW&4Nw8n(>Ey;Gm$!(p= z-uUU~ztJSRoEIn%W=CVA^)?NarQvM4f};=dA>`>RxO{Z{H1VQd4nGBP{WrE_sVEbd zI#Y6Odcq}adQq;)Kw4w9sh|HVlUbUCZe(00{P__|g$2kvPaa?AIi1Liq0BE-)|Bu+ zq{Wawg78Vyag}Ry^sw=)l>L`*L9W|E-cGz>^Ssah<+jlUR91-aK{DfVW~P!lHt%<@ zN`ADW*UdPylJ29-5_?xOxwaYcUgYVhk0)uYANjTMq3x8<=C7j6Vy^M$;y*efDOjEg z`V-HJjYxaTMKuV&4_0;r!92jig*|uGRO2MQqwS ztG=?IVe8W$SV;K!`~MYtSIU3I1sAF01)a&wd4|H@+e!`-*3p@K9VKWyKY6)`SF@cT zV9UP6CZu=gJWts=*n#rjdsp(~oHmW^6uQHO`a54=5I$lXD2eIFuWk#AC#1czjeJVJ zVgp}t1Fh{%)Uh3CNBM8aAII6$<_-Jodhh+CJ_$aXc=xkR)q92x%%HNOr0<}z^tR$q z;yt+&9VJLxXRo_w^Gyz)rUXjaG(XqZ{A`rJ*8V@-mi&gyQB>HUxPFy7m5atu=`)+} zx0NI!Z4l=*((_Wj4Hdqid^PefkoKCqIK*{KAuqySr+6!FCOy~mwjGbu^Pfdx8|8A$ zqVT^|P>Qp#(rrcholj9JD^GfH(mx$b2~;QDA-@;b?je614kM``X$dGhgR}vZX(mZq z%&Fs%)cF5HW?KqA`mEyJgw^qBoCOGslgvF-G@bZJTu5FA!XG$ialxPD|4w={ z+W<*URq|GGrYC(g=NR(7`z(JhWnObmB5eolwW3T~>izT6{@;Ma$(%mU31mE_k+u}l z@qp7u{2}%r|I=}kKz|z5@s6^Msa(H`%VX2hQBP6QrgM%UToEhd|My`0r&IYTQpbFj zv&A-^kc+x;=HNU`;~glg<3EGn+P{}*W&?Om;7;+&#rH08`@2J8p?cQ>r#Eu_WEB) z`-1RL?82!woorn2w=J+j2^@(&t61^u6mDS~&>uv2#WmSzq%V0xKP!8cxJ!Ht`Jax# z)Sa5^byTpO-$ed;{`{%a@Uw#PDHPjw{)aNi0M78Wq*z0@Xc_!V?JmWGioD zD=ub7LJjEXzeC=vWIWN(8D=PnJGl!Zo zPG8c>QppNzMOp|KU8n4A^^T(eXFD5K{3r58QlF02)K!V=>fsI2bCI@`coD+yyb?VB zWn4U#24>iXn{aVH(oPVcPx^6N`Et^0ap7swE9kTpY^Ka1%6vn`GdWvOW&>&C$=^Uc zC-E}2?g@k!kf$Sz@Nj+q(~>|MDql%rTPj*l{1s;dF6u^nKPI*nwC3V%g!fXmIF%=( z+(Y8yY`!W^%r!bDl0O8&`I`T1;(TOBW*Ffq%Fz7(jSKd2E+8Q_6;`)}wh-2_l15*c zp!aK41&foHowFWiiq9HXUP0N_*|Xj z_|lgB3Rmb_(%)i#;!8QZQ07ltCOhV(ofNi?|A^1f`(H5UUtH9WQ%4XcHbJMdEqsUz zpV>yo(V4GpdMU~l<}5}$)L#E9W#0zYnxIx|+!fmKz5AivK>*D`NA7#s^TwdZ2IB(hO?_y4ss% zi+h;MoY|DiNcr=m%^`n3<#bdrIQMKr)5!bFrhQ^A*ZOO5@kIhU3UP5Y9Enr8@NX`n z5Bz^1`I5%=RU_>UW$F>HLT5WtR!3X% zQgQxlqRtKdgw{Qlid>iq2G}x1C zbOhmZ$`2%e9_i~Svx_pz3G1j&{w>a*$k(xuvXjWy=Z|;9=Yq*(*0L82q`*9KdfT`P zJ)we3lu1H(6X$*6pN_4BPY`*<`H?aesXRH?hEva1IFPsdTp_>Yh|j59T< zN%7OsnZk33pQTV2!vFu{C>1BM9SF0AQ??M{HI#R`_HQnF#Q81hpC9*aeLw1-4P0(B zlX77S!oBejmFxJ=R$P+w)ixaYStpNBCNc3j_O9Y#`_J-glK zOJgHD)gnhiD*28Ml&7Gdy!@Q`2(QFOwz3`E!S}?^6W>YMBG?t{bNvR+-sI_cM%q@& z9^%H621OBY*_Kt4;pmp4+PJO#}itHL);9>sYu*kkN7ScCj*s$JV146e|e$>;A(={R_ zJgQQ3>nB;FCqGFV?R(lRepFOg->C42zFDJFK3f(23J^HKveva<^{(5xyhj!7YKZGWUiUIS?M~CJdAh zb|(kQBz1EJ_@8XnPZS;%-lbFTkWPKO_YMo>OzzH%Q?p=~h^}FQ=oD^wH!4snrCTj9 zHl_Pt%=A=lv>Ql})@>N*lh!R9*q+w?Gq5e4TQ*QLz58_x|M$ftZeUbKH-AiqOl}c3 zZb*-?@a{dL0#h@)B?4D6b48vk?vR+*S=@eZfd8G|qQHS{ZlOS*>~4}k$?Wc?z>Dl| zfq*Zkn<1W4BiE3A5s^`WYdPIAfn2%V$iUlN?%2TO+-`-yn!Il9xZ#lzeZ%{9kKunf zmMSP-*AUz3Mg_S|{*x~-wV+!t@VcNI9H?E$-5ID^*liMXsEB*P4V*0Ijtkr??*0_G zQNk@B965AwkFdxvr^XOQIp=`D&5~}am_SLlmm8>1+HDe8RNBoQ^QN@h!VL^8>mCcV z40Zj1ccE_bm|ErBgl?9QJbn7)XazUa?Hk~K zjg=>U6vG`B85t27cwWi}i2pz(e8Hc)gV(Jfdv$$!y5A4)E%&EuiC=fCrtalh2NJQVjo?+BpZn&E* zPSf7uJhZ@QIEpTJ7LTQ87!w3{bM{Z3ta zg!c^#=^frDJZeB-(-?O^>;X>wPD5g%zjC|!0;wjr>jU8v-EDzMlijdD>?v;1z@TYv z%9!ve?hZFlYnnSRxt_gKKU{<~?A()11)fcJGXw(D-HCxFGu)biwKLpyfzmUXyp3kM z#R7$9x#iP(TbENmVi0#Su%A{(h?f+@|9vFJ4UCS~EkwK50>96tu9WlKu7Q2?-1LEx z^WBPpHw)YYflQ0sJn_2P#~JhOVz+8gfd5}cikSJ!+*)oR(F(UsVD1XHZD8?A_dvOb zVPV>I2ANIHY1l8UZ%DN&Azi{Eqr$tfXRt-;Ihc%26phfGcxi!St66-R*0_HKYJcti z9LThmE(}@g?h58HRF4?k*J-2&@@2okckA7>0rwkse>^?TkS+tG0^u82y*oFsKmEVf z-UGaAkm`1OkCnKuQEDQp7?R6;X(QbOHn{SV%xXqy$h{j7kY&Ly=J8 z4K08j8~0j9)KS3R0Ubvj3;%cRbMDPef${fz-!o%KPT6JcRo+$hKKLj=cWU{x@i^5! zZTyFD#D6ipvBT&iZvm&%f@<7-q1w2DGIts)>EKQy3p}2&3p^9F3-i8um(hlv+GTWi zCG0jHG3c`z2=nL9V!G)r7Olm##=q%-z2MES_Cmt*_8HYCojHJCvkw}B45B(CgFdgr zO71&^=2{;%u6B%{FsEelG}?XGIOwW4VniBpX36B)6#9a(ns&cnq(?#o`cIw)fq^_; zS~{(Cwkz~Sqmw~vUV?VM;blzr-j|KbDEt*;3_bRWv5A%)gQNloDFMbTM+u~bz>k6dBYeQ>f1|$i<;!Mh90nw~=emQV$eL z+qaAn8?jUWxYP*bK|;Dt+kxfCzO?8`6&MjV<>iYwh80c z-DSqn&v#;U^Y1d_Th1tjf+?LlgIe5ezLGX~8nbq(wgxjGbNHIf#Da0tpWBUprcZOJ z`Q{)qaAwJD%YM-Z73N(uYXL_4*#fgYITxDC6D&pw@G4Y@+l1LSmyDZ0pDZ*d($IU% zA_voM!gzY+9!xuTk$DMav^L_SZ=He8 z8xVMIS&6eB;2T!oS(M+YD8GmfE;94y7v>dp$SW*z7IiM}(6N1CQDI@wkimJwCfqWa z86~eTv}>`mLtzKsa~+F|x?0a&SyDD9Zv>2V*)(SLV&~v#6Q-5{zs@dk4xC#yY22g< zGp3e0yWft!XG|^WHE}vrRz9%xB|%VDC zacW-wX(bcO@@|_r0r2>?ImOPrypr+bfhec5PAm(8bKu_ODRT&MdGUR;6~`EUCPPq}Bcd#Ag` zQ=V(RK(k^Ui7mW;42^Z9`uu6nsX3&*;7r){@=vnAlV0BgBPylzlUw2dM-djvL z%ghB??kerLq7>H(IH|pljU+=+sgbBdY`48>r|L6-{|%0`VkZ%3l3s z8ojUqf)V+wjJ-C%z0q?oUfAj0=dR{f+-vX?!@}%cm{%>X@5dcX*7q2mxxih#ix#M2 zgou%z6`loj!wU0~*4$z>n!uQyo(gxZ9=M)_6Egw*+`HX%v?N-#8kOs0GB9a$F9-1R zS$@JI7Dj@>9zn?zd&#rPOrqD;n(u|VH|jA~VF=}(Wi;z+ zD7dfJnK8^j7z$du7js?US=MA^0oiMx5pguUP(;$9R1r*Lj+-hhTgyu|76!}`K&!~? zNaZte_ZXRJ5!q;!$?m(Ku^t-p^7Up{+PdCMpPvo3(aZ!2Gqd3b)_~y7%MhD%@VA2Sr!@!)!%| zGlZnM|1iUy`f=S}t!{TC`T|h`+Pc?(L2Gj8z(33sy7O}xK{$Ufi6S3_yb51Ti_Pu*lb)$fpIj0G549fos& zX%0={c3Eo&p3~~3hQ$P|syUD;=~<4|u5lLT2lT$Gztu^B`$1@{m7XQe-a`gD3!ESU zgaHjeg+ZJxwgkZ-Y|c>u?nh|W%V6Kro6Qb1qRPzbU#lNxaRj{r+^eu0%nD#CbPk4h z?+tK2faZ4Um9(hpSpn*}FkW7-{hmrsIaREa@$~vu)2S*jwK~e!j$UvY;0FnfUahc1 z!?TdKJz=KOXQ8S!jep#X=$MJsv86^Yoo6uy00GE!=CRHLEqE|a&r z|9NJc**`=J9?LlRlrDS9yo+5n*jB3AtD@U!dB+?2wpJpn#%er^^a8U*(3}p&r=q7# zXCWJsI_3ea8(yn%b}7_K5|#k0&PD|a(UOsapw2?N^Jz0H4(0~h>%41`PB*2BL~6Yq zRQX|t8Ax-so2^6HhH)RzPM(!|LaxAP%y|ZVw8QL11=~#}^7Hd4;$smDZ~RD-hz?=J zh2gV=?$S513*3)rMzI^hfU$O9AuWxyU={Fy{jA*x-IJyw$g|5#q|@)24hml*BWc1; zb4wu;rI9LhwuL7<-|&6!};8czjzl4T;joh)PN+o?I$;(@ds!Ys>=k+Uw{{jTuYMXU$M!7Zv?3V=l(SY|Qt$YtSt# z8x|)PhDu9Dv_{}NPz(@G_fF4!=#3ToGTQGl3;TNR^Q>li@FLfsCGNf!ZLP+D_An`( z{EMa%)`5k8SCh7=pceZ1xmwWc;=N{Zg8Kn&K6XPcYuIMivFN$0i(T#Zo9RX%hN(Gf zKb1c$lWF<^cmiI19Y%#OsR#!Hnw|j^eoCa!e-4;c6mv?%(=Byo7(M=p3h%GYU{A}O zvx!*f-rZn!prCs*=2D?qpY^(>G#g%|nfJ<6nsL~SFIT)21oKfdOvKXgm(A4d#oP)gUXDRn%VR(8 z)bwVn2yo%|>V_B1UOWudCdIv2Mg~8*yt@fSaf=#o?sV??oz2JE@{*!z(I_Rwg?p(vYL( z=Twy9NawqGH0)K}`1%zylx{esuI0PK==#^pB?X&!O))LoE-=ZrS|-BcrUrMxZYN%c z4xJOD;;GjgrVMX<`^`v^PKRGNB`td$on?-YG4ysMG$pRZ7Frxs-nFP&H;ZfNeM`MXs@aDGFfEWLtl)CMd+xTG=jdBvAi4dYr!Qlm$3qqbp# ziS+xMW^kyVjAA(>kC{CJH`-!*fc`jUjtB;v;*J^e(YHrbY9z#U3v(>&4Ws&MeK{=& z%*LG07dV%I9uKg3hY_TrgECG)lqtqzUexko%W5O@Ib8LnQ+;F{o%xTF4oi4k`#ff) zNzc4%c8PxwEn-I8G7BH@2Q&iITQr_9y~ z47?kgF0=<53nIrrx=sp{i)d} zqp3jXaXH%#88o0^_{ae{bl0cAn!kSv=)3AuGf)7OQqRxK_*PhUpjZ$^J1xy%LQIce zPVv5y8GoM6^i%ZtXJ%^}@VU7vL93C<0QZyJI4A+Iq!9;|-Y*ji*;;Ezs9hx(c4&L{ zJFA)h3qaE9hL@=07iK0s|AiT;ELN}jQzY~Jul~x+_FpP!q{UwWlAZj@%u1|p2g|HXu$fUer>A*=axyG4);7{!jyxOkaItcCmi6|JGbY&hHR4>#`9B@p=5& zXkw=p%XFIfojH(x{|?ypn(q~=QIs97>%KFWWjRAi+HFe;T!pypuU1`g2=5m_d9tQ4>|C*`(o#SS&WSJDh z;R#H6q0hqALblR=H}6j6_Pl;`E#oOjDcf(5eNn#a!@tb+M*Bk$2Rz0ox*h`B65L3S zuH7#3Dc%ra0un`|4RHxgG2q1vFhp;9+7xZ+#lx_ZpBm!MzFIzPF@p>0gmq*Oj$x1X z9-Q@RTf3|nQUwbo`{iEGjMkWr353z5?0|1hBX5n!7432}7-H`v_Zsd_2kW;Z3eod1zk2UIM5wAKtvgxKcs z`hwZ?Xm&yz;VeNqjw_MUVxNWn=;Tu>G2BNK&vJGOs2Y)yj`|`N+UwjSegItw!f}|X zoWl||o~54E9O0>Erx9@m`tMsRnWi~J_s|BDpjoEK?Chm96eNTzf6nxo8d2N$3=PAJ zVTWAo9E14Jtx?mwI{jZfEzTl5d7ecHaSQ;GxP41p|o%TZs@!GX9_r}Ayi}-YtxBvY=1IMTr9&Q+5KP^ zsqYC*#PE!wBEkRKiZDCsr~?KbOLwJ-5IU41Zf|cs*&JfWiEo&u4r!@mO{QOl~ z(^|YpIMgeM#$}6_VyZNIBNPP!R${iS-S&dh8c*#2 zY|kT_ZJ(vHIiicd1x3JQQymcaz;@!wDD>L!-D;ZIUc?Jrr@A&OF03%O&}X$E5;g6` z$XN8)gk1Tw>JODc7w3wT!I%d06vvVGQD&a#9l8t8SF=cIT~KmLrP2L);v(AIMTJKB zFA9VI+FUv{MMXRCE5IgwlPA(T>RB>%FjJm$!`P@DnqY}z*3|%V7mX?qohkfLgh!q! z5Iv*Uy0^flAY`KNBd`pydjBBem`Cc61eh~dMInT}vrx3A-G#zg5a51PFA3I{MT+^6 zS5?n|@dd90ubz(Yz?k)Z0)F{ld*CB%FA@oKQGtxgWqpGf!i5_0l4>9Iepx2bAA3a0 z`Ua%4fB*h;T?a8dLJvTPxOr6(ct6!aw4syNqAO=d(XJiLD=(!sUUq`QQ^}8V7+7-| z##_y{g9Lp$0=>jyz)4mokm4`bL&s~1ASpf3mYIHa7~>flJd`s<2*>Iyv*w%v?J zArziYqG`p#sgS8En?z^EAUZRnSfri*@7Q47uU_Apbq~qp6vo-wCFCD9KnPy+<*v?W zs~ty!FBUVyb?BXg#+EE|fTJUQ(o;;LUB_e;J-Zl4CbBoo`}#iOAl-5pBisCxP)Us0 zygm^NY<=t0dmJP_B0)OlgSnZU>=UC4otf}*u%%^rRhWw`5pF1poS6aXS(5M!xZZN| z;oD)V`YqPK0DD-5XVK0AAcWJQ;^^d5DQVhe zA~J0dGayX0XSI75+;`?lKOILWFB8|&p@E`3jlWXF#qcN_1!*AqZ$TQJqhw2RUoLtY zd+CxZgp>A_!u;U3?sUv_X?q4i+w-rUH|?t{Nipjff`CEgC9bqN9~a!Y9JG{*U#vzJ^8An=K{bkI!R7pT`y zGA3N-vN`rXVK#VY7cCkg+FkrOvjnskAc%nG9do)AB~5D8Q$IP#1@ zlncgWyTw+JBmLak5*6J70FyJHR1ygkm3Uk$(ETGtb|}QH-gMFSks_HguMx4~%**BI zz{bDS{~9qk9Z4$Q)8{8~}zZ^N)$y{{7;jE>u(iP#f> zio*!)6iqW1nQZ>~-v}tB29Hrju8dxHJ&g2UHvlj8{{RvB(>GvZRimMLa4nqT$BQTk z%eouD_^#_kPI$uwE9U3ZonG_ALJ63!6_8I);8NpOkBt$@p#@k*yZ~|n;nUgCB0GF= zpUeHYp_ng5)3C83DxyIm4^i*G*{|nDk&LlRZX|>HeE{92C%AbG=G*#b$o0E7ib5*A zQ3S;`u&=Cjb~!Ow-}6D|c?x2L32q(@tE4H0rZ4>Hn`1;uqse>6WW5;PXe2aftSHdE zXEeIQV?;0s|3EwFBp?mFOvD+rnmpr}xse980J4P>m`fpeY_nKTamb7p4=M8cP!uQS zp>BP~P5)i*Dnq6^PQRI-D4Bk9$6RBt_I{4QVaSg?k z!co4tROGevLFjFzqL>4WKbDGIx_mZ%ET1Vl2u9b&EODCVos&T{sA!rvTlCV;gzB)ZZWefjR+ov?7F#hklmpPoGGt=zm?JKyN9G7;1grrFYz+<~ zbAUddBgWI-Tg0`&tZmuE-;1bJ(ybyTo?-oJ#-8Px?HKc6Xg&~+*Z0!mSP=^J_JFahkc#3hn#_M=;Ht zYpCj(fhrmOzI&&*vYlB0cP-*STj=cDF#Ep_5aE)oI=Mem zvBm>*>~fJj8jzUThs9e{ShFfaXb`4aBO8`$fD${Kq_5lj%t)Bk9NM%NZVv!3J2;$5 z-Ip6gha*&iU^}~cKRmLuyG2nX0~$LktyjYu#-)FM7%cDF?*Ub?8r~s5E{u=4fTTny zMB)!csKkanH-s#7vX6{+y*6K*FhCRkmn9Zs6Sd!g#KPAVfX9z55UpBz{R#SMAwmjk zSifTCAUz~!`8^^Jxg9&&g3Gnej<%|SMAT~3ZN)M7a!Ek6&bh5yB%)eu1TEMLJR1rB z=f6QR$u)D4c)(~0ifL-oso#(nbuK}ed+HJ>jt+hCT_`H_JkJLZGYz?IcAHK;m^*)-0l+0;bfRGYu@~ls?5Q)jtMS|ylggXO? z?0^A9hQpedFB3A_e-a1>vuUIqi$!`aLwoIA!eVkY1i>2zU zC@iOJYqT<>-oY})SF34Ph*>-Yrb57mFFi~}o52( zR_r6DShbM)KDeenvcs_p4j{#va9?s)i{ahj(rI?X4NV7o3VyX0z9;k){9_qZ(Ot#R zpd1y`o=rX)V(9_7;7ncMt-{+yVsm-^EB4AvdUcJM-P}zs0-$T}7ym7SsO{qw1Qnnq znP0*251?OEqv1an?&uL<1?5y^~Nv}k*l`6C#xQYBUG1F-sbJN$UpwJQ83O%PvY z55LA0%{qk-tJKI~JOYv0*x+hkH0 z6dF$GZ?D8^U#5FK!i`qcH~t@){4bu>@SDh*!;+RBeKI ztgw*4$(ReC!@q2mE7u)HXHA<+p-&%$-ZmZ-v9ZqQp7QR-=r;p(;|LcZ$6US#_Fum^ z=P{%pe_3yaQ|>m=(_x7kP2DC+sQfdPNUv`b@54PujUJ}X8pn=2`sxgrb#$?=E+3%M zC&V0Jb6y<{zIM^+Cq!y%E@1={vS)5#bnUB(8?@93$!+4elq;M%_o4BU= zAt_yT=-Tm=AcNdbf~to{!3T?Df-;4n?3h8a*}FgMnK=;T&R`|vZObBHApTD(ws z@svmp!-zT9%#`JX&;?ou^pS$m=!i2>IaummoH z&kDjAMXnY}05u0FV>iNo+(HU_$QJUjsxeXYqX)$+L`5z<_T4{a4lUecM@k2ByWBo6 zs?*L}fIdEoS-8(CB*Jr?1h9jh_KVgsKwgISRxwd_7}SU9a2;qQk$zgF61rJPqxbOM zUdzKoW1Wp@TC-)9rv=|)MZLHX8>-kZ;(9ek8(NXrniw=?241OK<7|?b?fo=0MLy$| zzMmh5q__`>@GG<<%PK~TJ(Rh#o*Nj$aNHKQ#m=K@d4P|_o;*u8OTO>rhV3UItig(e zeKG(zG@=WY8@+RZ4s{R##AZ{*ibPx6Mz8yIX?lU558BUMAC{kQEyd<79Ek!{QM@650e!89+gxAt*7Lfnct~yH`TgFDg zYQAI}OPU3x>n(bYtVS$t+fkA45C1tu^d;hAzaJI%+j?sKtD=j6QfkcR?bpO?*O#vg zmvOyj1a{x{Se3KRQT~#mMbvigcyL}&vYhG31LCwJB8m7_^AQV>m8D@8U*<+Yb9gbT zG3S10h8v^ks$(KG(6aw<%BeI4xU}+^7(gT66xWkeU_;E#H$@)SysrM`Fs-$1iN?IR zkpy2OY(0SyvBGSPmXOl}%@f#3#wF_UF$Cs8En+cb?2lA|tJEWMy^Heb+oCI7vK=w0 z;qP#oVV($gRlFm%33~fO2)Pc-9{W(F{_j95KgG{Shv`hbMn5bjwCY0)2?5ZUSiUiN z#^eG-?+OseE10M^)$@xD!d-l!eFH|(reBl0oTG3Y`&y)h57DqIdlOzri9j^608!k6 z-dAP!FF+E2ucnUj4Fm7hKcOGMLSuZ;<1F>w)Di{^9H0Xxps8JFtiv(JBr67C66XogrbU&t7&LZ|87okq zMj256zLh6Lc0|4IW-|c`+^ZL&1rMAQm!xgd{D!sHMg*MfSzds_@FK&bpk5!yM3har z=tz``z6O!Yh6BM)Fov~Fe2k`55}4uv9k6fM00a6es_Tp*?|VNH&kTeNU?F@72E3&a zt!79dmA{4fb>%B3g=6W1PeISyeplhN<};DkBz;jZLdB*)TwzDpY_r( zk7V6X&mplu4}T8as%wFc-mPM@{CKIYXBl)AYc^hT{H)X-#$MW)CELL1&>k>@5N~`6 z4>gWF)@r7E^(%xbL%#-Zf4x(N#-TY_4zLoGn%DkfO>X*DjHXY%741i1uZ+b};5KU? zmK`3qK+jI_Gc)31{9DVFIDh|X8vMOT&UnzSD#DU1W9!Rkj}Z({1)v3j=&cTKORs;2 zjVeQrnwieO^U~BfE)_xwj2q-Jazu|o3bODCnY=*)jER11?To!o__H1_ETbMjhzyJ6 z5u7~s0}6fdV@WS91Uy;Z1O~qKEaYEptiykBv);ru?1WahymqX}D$)PJ)1p^jZbk1_ zvMZRa2ka{iicqcRbRYyd3tPNdUGF91EC%)0=Vmar)8BGdR8h%~;()HzrNNiVR@CPw zl-6LcN@TqD3!2elPyZyw(wLuwYGJ1@$bC$uIhgRUI75Ge){6}=8TYeE4;f-{i^~~`1G5Zr3UJ%+yK6yQj02w39v6v5E;ZQG4wX2W2t7Ii{`#gRjw z3w3H@1AgbyE9`x>Inccq5g$4`35$2*@5t%h^`}TI+=N!yY+wah55Vb!u;|jm`e+Q7 z#bNxqu7i4i0d4BM2Y&LIKgCE2{|gl{oBtA_ExmnHMG&62`y?{*JJ!HeJ#$XH%>m3h zy8MJnU;DFs9)&bROc@j058)(qjts4R;o8O*u4{AwkmT$+EPXj@&Rb%kQD5ckSAU6O zgRq}wzKI_LyuU@+kBw^BR2(IJtWvF4#|l&{J3m$lQEjj4P}s>i9AN|hfyI$ju!y>6 zJex*=O6HqDHWemR_k?pIr8ScdOVM2F$*(QI*;p!^qJkPsz5c5I{Ohm!6Tx@YqC~!K zEtKuN#sFS&Sl1~c2;ro{5NuI6r!ee34gdUJ$V?72*R1;dk2E0%2bLTa~bXvqliRE=Z=>kK)&dsdI?TqlF=|O$3|<&BYu#Wd5SpLgeEP z&0-7aqa0+k_JqodLmvj?_!yVY#=r6g`YI@$LPQfm0T^NArY8OOu7an=Vv90IuQ;T>d@+;mOS5sNac~Tg*E;1 zc&XMoWUA!bv}rQ3T3^S?8v#=sb}IMS+ptkCSat-obNQL}!m+ zM^)o12`Tj?_HF)w-PMbo&jnBk^yeTHVe3R({uC7wXw3+;rSb%b$*;Fa?1HaE2N!&# zm>+Sn++O4y0lD3%mxE(y8s0X!fCbYinr+<4B$?4PcisHe$Yc=u!6e92lVrEPb>e)t z;%IZSOyPZ)*@I%F?;_ou4jnw&iEC&h zh>kBomHaoUz#!8z<=vh14E-e=gvHKx(#mr6Fuh)`Ldo4)#u`C% zU4<&9cd})kTF+L&)vk^Fhd~)RGNx7iFf0#D+xN!4T4jzLb+Z*XVtv3NDu55Ic;K@z zknkm5+%-6prl@s*+X9xnX_jM9yfd1$6W(D&flTjt-liVyAP4WXlNTjyU`WBuYi9!t z>3@y`itU1PWr~0YM31LC5Glw-5!B!ZVGmGU5KDg*%H9HKiOv+tEZSNmbA|x4)-v|9 zU=7zRV&Qbihn+3xK+Ij&;_wi`7F@4}UXduY+zN|58O-yOwSWnBN0}7X0d?X<9p&Z7 z8V|h!HmjtYjB{PmSq?Gv#zOv+?(Qlh6uNO5|E#SE`5kbeHRFbFUqii$Ww){5S-luu<^`m0*1=^RS2xx_#wdS3MeH?WLmOPD$=zitmh53l4Ry3_*%Po4)2yTGe^p8JP7Site{`4G zfxZsuNFr(_d-RY)FCaQk_K;VH`(D9e0zH=%f_a zJL)llJRrj^ox-!+Vjl-^-gYCH5B!2hIJ&=Am)+4dy<}mN{vPNhC(~<7;5X0fBcr>6 zRY6W@f3E|u449MsvHAi4-5n&NAsu<_2m8pIlD6Ps4sd!SW%Us@8g!{F=50NUM0jL4 z;{umD(p_#5M$cU;hvE>h%A+!2T|X&<8Sb!W$r#1ePZmly5}ou;f7yj*4uBpRJV182 zh&?797tj`pV*}a=_Tqki83Sz;0HReVRnkaE(ce)ajT^?mk^4fUoR~pe)GAl!R24IR z4UHXuK708+rMRLmm(m2)XI!nEx~SsRa2Z#;2~=f&hFyEWGS9MNrb2xK zTD)y{6e)gIqrgC5yA8CzHKKuztK_WEH9E_IodD>umWqGJp&L(KCI3VFx605WedeA2 z>36n3VLnVo?M8t%=-Uo6(Y#?YB?j~5@-%MJ7o?-r!yzp950`~5{OD!ayFBUeb#P3+ z9U+r0_HO9ZrLW9Jqs}k-M_COfg&fuc+Q%PQ1dS%WmkIsGwi#( z?;3dt{h8%x(UGw^7aChhW1C!FaBYdDZrndwm3y7MsGnYV7ERP&kgT>gQPn8fW-z!2`z-NOM@ky06K)wJU_Jp|(HLZk703DCpu+3r zg07E)1N6ed)IiIyw@|LxRjX#8V!rG@YTNKo;AlBFGT=IZ33STn5#9hobj)nj>s`?D zoze0c|A;*d-HIC|b>oB>IE)9V)rXy=jRrfgIJ))S$1%%O1HKSzlqqsL;~UFwDlL6&75ZaKDP}F%x87>c$3-Ab0>l z0!UrV1XF{hSr^~kUVY;kC-w<5I?uL z*pi_irZ-a^9QWf1*WrI$(q-v0MwADf!zRoeRx*=3vt@D)wqbZX*8S?|zyr**+ye82 z-bYGfBC)0Ds~NDh#X)*SF+?5&pXr9jSniN^)-Pz~z+^%L$S+_ROs{f0eURQPli8sx zWYCrRh=E;X%#ocEuv)mPyR89pgU``3?*q>GS;P=e)#+SI&hj}ZFTM#p=p;z<-dpl&gqPuWqazNPl7k7EjI?M64&n#t6!k7`|V zG3JD4{b|FQL7vhcZ!rdg3|m(DI-^Mrp!sscmUck?5JW=+zag2Z_gylprB?$sglerQ z_!gPo5;N9YE?k%1BBvSj-K}y;%4!e@3!*0q9lIp9n%= zk6WMHxXits1meWr5K% z-AjGSh9JasfHhL`(#_ zZJ1N!gG%bX4D1In&EH9XES5>l9WmxyBHI*zVPL`=ZtuohT-0*j zGrk)19ZQ>*$Y`beroBsKr$8Nvn|tNewE12{BbrcY-@PzXWABnO zRyzf@<+Swztdy}-CWeC(v|ff*1W)Bq$x<0FdHwZok^CFfJm_ZE9_!2T)@4nL#y3-W zSK^J-yHv$A%DA+@Pv!^fD1bh$0Hr)H!O*vJh|B{2!w;ZRHllrSnC4O)_19Pkij{+~ zSZG?aLJp-(D`Yo{TL~-MeWmPdB5XBhr7XCr(Y9tw0U&J1zDj_*>0L~~59T+zPgQT3 zaaYv*pWlO=`pzlQBk*b#`lM2xw#twJTj}#v^7&Les*md8lZQ|miK+XX1Bj+;wXCI{ z_sh&|%%T417yT6LG8mc$c{dvR1!~4Or-|VCEPr}>4dlAXB@7l%c?(9aZRVwhPaxLc zOdEDE0)zC{o@O$eU^4=mx1$g2Bd`(Xzz;uPLocrdsuF~d+R?QL$P6SI-`#?JaNr=d z8nS9HfIS}OINktNzYi4;=>iu`Hr7dJNv34-_`p4uuf5!_oZ5Gtx~-QT3$(ps@WlGe z$_!!y7GMsiR?xfe25cvnM3l6b$z#At)-#RK)Zav6&9!eexCNs)M4oaH9c%Z15%88| zmO}3T0V z^?-~vc5${fhOXEkQ%yeg;YJbL!katY@fWItpTeC6S8^=jWcfO8c${?ZOQW)!;5LN9st*_T zFDb3is|JTK2kd16p;-(7tjLDLz0-cuNy&x??gB=H(D^AvUI2greZ}KFC{Xj1on2w$ zqdQHBZMHA2S5Fyh}=a5?f^Q|L}5lzJu(+q%9JkVHO;fS28mfpbPLMqcc#$K<6gdF0IHeC$OwJ@~jB5W$m0wvVGh z480DLk&BSSV^7GiCh7KF8%T8F1T^a%iBIUw)s8j)+8~ntE-M zDUIuwx!$4`tPU#}eY&%)bnu=olx6|cs))92gR(mQkqVt}JqsL^$4igbnC@089a_!X z*7@#Zb)cPeW&8hpw3#}h>VWz7V9(!yA9ph6@OXXj0n@6<^E(698aEi2(KZHVg)bm1 z{(}RS;?=O8o!@AZ4Q}Gzc_!H8v1TXdH@7A)*izR*TXO&b<}5y+zza|8-4V^`e(h_3 znJwR+HI2_Vw$Q}|&4t#$tONaC)cz+{5l5^ddENY$W36%M_orp6aIm;fn9(Ecyi%pC zTLP{5X#_G9%eEuLFyt9o(82;g)iiY%^2KGlWpsum_?-FHXpD8F70j}YXaMzEu4422 zro`bL1mtZIvR-4eQLoVSE3sOu)>FcIjaG*uQBoDE(y2UO1%~h(_;5yKwymD%rLP4( zm#3TH-$z|qWiyvOLN65HvJS1%{mYG5961^Y5CF~Y8zh}RWhP{>=L9v~0G4CAK+^VH z^kcL+TZS@0S?ctlQH4iO?2-AAO#lYqNhGc(RVkKj=iHCfxgTg^;C{H^SP&Js2eGo z=k_;xyu$?&Fz>kK0v+{!$Su=4vySAnEaSoY%mCtcJ-LR5JxVYrhuIM_WcCK`0prn- zf67=`><5|owfcd7ZG{cIMhSDU@F?@C%PS;0T8!LA(Ffq=d2h=(H0V9dI_*6i%5nWW za2#5_D<>473$~_Qkb18+;@Z@4j0b`ab8Ia+n_Jd>2k7p1U=}+Us)Q@-$WWv1cwrl? zbwM-itc`QWzIo_NLs#1IHpZC!p6o%7r90AtG`QB2p^`q(0nzWlF6VrN1E?a7%XXtc zDc+*WB}ojA0aoxgr_aHni~_iSmJGi_QEZy;+muH57#eFd-JXum)3W2Tj2`(CrELec z!ZPQ_gPTXpK#2p8Wj-A^F8lc1UGctb|9>Xn4lHM6BQZifCpvCp#a0i$1FwF=agh0k ztul|wGv3CSK#Fk0V3@)K(q2(rOuZ0UU;iZCP7vK@ zWwvD_)vTGL4^JVLGwqaYnP|D2I#9(15&h=}=&&vQe`x-#Ph^K;J5{dFu7~ongJ{fT zkZL{=5o^T^%=>0^tWPf;(2Q?>v97)ZCP?0Mxn2M)=DH0Yz=bQDvM>FQxu zHfL#U%7GpY6*TSnOr8n>yZ9(gcYH3BLjAAg(#N;KtD5#XB2uqMA?5n)7qTdVIjH`v zd|i^BKwpo55jyv!?9XRpM$*Wy5J&5hB10oL_~g;vz(g4i6=T%WJzqmTocUU|r8~Zn z`Oz99d6S&z0x3@96y&w^+{a)qol!g2QYm^q(~;-8`&(ILw$omVrhS9B7>A{Gr}nmN zxDE8$_cGCh=kWRWvcZWp!0qkM$VVGN`47&>`SiuN*l1VylRU@gp@qZox{~}-aUU5zTRfY>~D>D89d-HJzuFb#8#|6@je2!WV zHV&Lq(g=)g1E3G%FIIHC!AJ)k7^Lex*i3X-0=pvCg`!9_ic;2ay7in4jj)^X86^7R z93o|W0!4b`TdY$3>T%YNQd>}$=MCnp-K5%3FGEeIf)8;tV4}dxKQdJ`Do0gV(}3J+ z6IHFv-x|^iX^RWrPoyQLYSs9_!OfT^4pO2}p%U8Jf3W|;3eh4~J@jC3?Du>+;ncKw zu@+`y(b&bYdA1=~=R-oxh^+D|GNd`IaLrf=RCu3M`Sjo<86NhC_7?1Ns|>2xVdm1n z`w$B5>%de`exwvCCs`}offT)I9Da8d4Ng_Lt~o8#t%i?VV`(fd`sIYTC!wEpfhu|u z400nKsT1-TUOCTFhsL$(<1dP^4#wkb3w4o(MGUUP(vLHa)tFCn5n~6V{P!%1V>E<&mG$Pl> zW8(vXMPW!-{Iv#gijP9o0LfOEuccbRGFfSfq)}lilX`v&%=k+fO0(+1)WxZ&e!!sY zoR&30WMAyU99s1W26?6u0@v$+kb|xK31>GVniEMpy)P!Op;_g4VGXak~DJG%1(QW|Hzgg?_Q3V!LS9O$n-{2bMBf|l4Ch`$nS3YTm&`U9@f4(Nb9@~9@ETbVk z4;Fb&E8CEu&WTT2wQfzGZ)B{%H-D@{@kYd|u0|O}{0E_rEwQSz-t&0`0A+w;_*sY@r3}Dsgt>o!x3c0@k>E>(p@^crTMnh=jCQDj zc-gypAf0{>LvL7@hAudOVI?xHN=e?=pe4h%=bw&rRI!)hQ7eXJ%^s`*C~l9Y`F2^( z7;M_O5>8S?f=UW!m0~k0=yEBQ7%Djsgwc@nSz0|9A4YilQt02b*($KJod5y#tt@F% zF5^IqKecO|nO37TDnVUE&!;M9yw8__Mex(lRGx@p-5dK!hkXe7iDZ=!&*HARs38F< zEJZD*AxSDE1q5U5z*fI4lqpZtM?Ctlg_$fs8hUy+J|0-L9|zPtnyN0j&=@)j)T`53 z-Uok2AAs1D6m?I1$bV*%%CU4F^c%j8n#x&CE`fo;)+%sZppT;T;W;GzmuISiCY5EO zDXI&7>_mawKeHfjOc%N@9W3*&bMP4!Bx2w0f6@>U`z&2ev#wpRnSKfQnh7S}^hld} zs?w%RmD1cmuB5j!FpHaUd>*9+n^{5iJn_F~a1L|(8^hDHOro<{>JxJQf=Ty&8sB)S zo~B~ca-EvxHPX~!HI_7=yG@ZJRJuU1DGhxII%e5zsNWd7(^TY1677si*Wn!Xk%6dz zWuR_YX6(#nXA7UA&ORlSft?pz=v z^SHKy8$s=n-?`K}-S5LHe4bHrFSq4XLDQF6eEsaUdw(%~)LCWPa#j8~)T*-@hF*t>kumpwe%}JS(VfkVv8x zy;0@xdk>Y}uwoxu;?r|6DQx3|%C^GZ&}S=9fO`*H5NI}y)S*^j{BZCfh0jK>EBE67 z&FQ^>9{%d3CN^iv?krTjT)TTKe9rbC1Jqd@=&62Kcezp_4R~k%d~n+F%T+{-juLTh z0aMlgpj?8AR)C}CE{D?Ye1*#TKfnI;73!cqs;VBE(vg`W&h^J2)y<&ecgYY}k0Gj` zK~*0DQx*(U*$vJa<{}v|nX@g_#=K#wZ=h9pgT}{k{wRYm}Nu!=J|V_Dw=6XGk=B7I&nQF_3~Ln2&D1 zUY)Vs;Ih%`g#GKeXH>cCUpJ_y4f{g-5_P95bS(U)`U_oY-IpRf0hvR{B8L&`bnu1Q z28@+U-(L)c>6!=t_W5`Gw|BJOXD#`WGr)n8J~n<4_)3qBEuE}o`bM>nCLC?P@5)#n|e?mYj0?UkXub2dFFU6+w!Wk-#*_(BomChJ8LlqY+gw@8z zltO1;=k-7s>;>9da17JQJJ~UXH#kQW!YAZl9-W<`E~EXWA{hP|vVHME7VE*6MA_tW zpk-}(UYZ6tkCDQ5KB^*JeP^m1qlx*LH%lFh)JWLZ9k|Rja<)1l=;4_nT-}Qy?WV%T zBHmSYi<%<6M-<@9lQfs(4t145!EIEyYwVq5+N1H!Ph=$&dpm@q+wS+RihJL&YClS%V7psU?uzVH_N)SI>;t$EWoM3>~?l_ zTdgLVbm#$9b!k)a)}z{Kfg&E8AJpVQ>!_852RIyyFa%YvRS9qsja?{gIk8q1q15Zh zK>(GG>r_D_r)l~+HKfs{SJtT!x&BdR*{(fclfl#MuNmA8#TGz*mu) z7w$Cz91#Xor>bWlCEeGnR`%Hxt| zPblXg5Ypf8^N|jy8;i}+Y_4pvj*7AB=lppFT4k*kRh$sOUu4Aj>Ig#AKB2PonLaqV z*-7D}p=E-e1nhY986b(x+o34k+tu(EoGe3zmi9lXj@8?Xc@*}Pify44A(GBGU2Gd| zeayC2^u}W<)TpBtPpi~+jja&l9qj}0BrIjXAF_e(;Oh0Xl19TJd5?Gseo`ezv}HEe z$BO7}^f|P0yISi%!0+hpCjsnU-G=Xr-M<W^AV;1-#L1L!Q?|(>SJ3&aEGDnNJ4hz1k6;fac=0G}shakC=Wm#BDSsy5EOg>gsELMg2 z9obwSU|aPg$YVaGdU10A&3O*)5D+M-mfFBwX*3sadYRm;P zQ{C4>$A7j{;Vbm~fyh`owo6TGTvgy2wp)!iBK>(6(Iq4+-q@qApyvi7k=Ch3-AwT= zb)Y5Y!iau1op7nK_;w?6HSegq;(*#^M5FH4Pii>~_c$33h^*e$fnfEA3pm}_g##Jq zz<~}|L9nb8k5vU>)rn!Q-q=4aJ){cbv8MK3B}Q?+r~nlnMij*QEEo7^KlR$HT2aCg zm0s_SmYx94E2uz>s_cmBM?=f8v-w{~V7F05I)bi$PIZq&JZ%G(#v(9e-P%o?2+D84 zwCca7XTv{zJ0Z#DFY6YK^W_#rH z`U|Rxu6PN$=-!tA(bi1Cj=88;R4YE2VOqWFgo*! z>PY{5Ro#LO&m}Dpm-*~9mDGt}XBf+sH;AszJLwA?1P>d-vgNitpj4wk*|Ih^JS{ewdm*3;lhxQ;hp3Uh@N^eO}U z^&{UyeErdXLaWbwPZgSYb@O|w1FB?q;d`N&uZ)rE*N1Kg9nU zl@$Ad8WO4V7hcuNQEGiRypq3$?5jGpE@s&mwOzrw`OuWb9=t&WhY?SKYR>pj^`R9X z0&dLxm&&rffeAx;fKGn|(#3zQvi#B&bnat-qTL^>=+;`Bdv%hfyX;x8rM3=hTu8?I zNCmI{7|WY}LS0ACoKSH(OvKh&*T8X*pd1PZ>q<-FaYWypOH~G+JPy?jr@fAbh5-?z zomA;D&Av1Aq&nFA9h|DuhiYFnhe8P7It32Em-({s#oID2q^n&koKXQjRG^m|%tgkh z>IZ>vIj#1X(M_Cyk}SBH-+r#HP-PlM^!h@5K_yN^-WEAkL?(=wmmnNhU?#&Pv<+g* zijWW8`K7vsgF@uI8JWH_U#dhDLLG#@W?jv%z#;c;58(JJjF_K%+9?@rJ{bvUmk`X) zsTccm&@7F79*Xs+C6%7a9QLcwx(jm13RjB9;UG9PQeW)e(=t6KiR=$bus z9*A8Ah@ekVU?AH0qT1p739yrmLjIZObvi7~RS#AWDWYlTV}P@^Xv4^vMcy$t!(sSb_L z^&hy7c`;G=eBPRR@nzA)GNA!G#@irAgzgrRXD>oDINUiY4UJmId|LSrTcct0mM^?5 zQ|5HXl6b3a(O+{*;Y5&$Ls6__plrOGec(IbQQCh723l#dGBd(NFhgRXjhk{dZmawE z>L%YuXBaT13F&mb_`Rwzyso)(y-Ia$Ijw#$8$3uqstvvi;8xegKdDYe@DrM(I;5n- z#XZg!igwq6b$HQPhV;T|mWQDFNiO~IAJwWu^RaAh;Cy#znPI|ND1!bA;dAczK-GdF^-pp>Cl3I>3|D zf2iN}q)EjL~|KLo&)3fawLIc(jzp!0?OBiJz}&pWUGkn-9V~!RNE`3cIh1B3g3h(*FFk&1lPAQtWg_qeF}@90v};L&Eu8hU_|hNL*U(#oRDxC}6fhwb!-(&9@K3T61C5%nE&}iu7 zcfj4x9mR)^xqsC4dS7nzz56UGoup#T{2)q7ab#q;tK3`Mo84>O51~49y%WE#LXqwo zRB&#_e_PzEc&wvipqv>U*`ZdRFM!(W5FBb-HWvYx(t|t5U9qVPu=I<9iZFBvDyLJ_*%Y>b>0AZrUBi}Omi%uv~)*F zE1L^}t_q-bc$=gCXf1Pr#h=? z0{G|>r{h!5^l+x5kk-6_@956Ya1_9Bqg}YJ;0?s=F}a3(^k;_S>O7W0w9Bb3j<*0M zLaNTA#foWZrsFn;)f5?}B08K|)sGl7BMbQ4XyxdFa~||51q>#==kwI@?M#~1$`L}t zMyUAiTHrLL*??#>%f0)=m)!(7!OY@_Ls>(_Wb`?k6w%tzgT~Gf7v(W5w&M{zHt0P& eo@xc1>dkm9mXY$NDrX3984Gx>8vnmE;Qs;mu@&I} diff --git a/resources/localization/ru/PrusaSlicer_ru.po b/resources/localization/ru/PrusaSlicer_ru.po index 93c914542..604dff5be 100644 --- a/resources/localization/ru/PrusaSlicer_ru.po +++ b/resources/localization/ru/PrusaSlicer_ru.po @@ -1,170 +1,170 @@ -# Copyright (C) 2018 -# This file is distributed under the same license as the Slic3r Prusa Edition package. +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. # -# Alexander Golikov , 2018. -# Alexander Khvostuk , 2018. -# Andylg N. , 2018. -# Andrey Tarasik , 2018. -# Yuri Kozlov , 2020. msgid "" msgstr "" -"Project-Id-Version: Slic3r Prusa Edition 1.41.1\n" +"Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-01 16:23+0100\n" -"PO-Revision-Date: 2020-12-01 13:18+0100\n" -"Last-Translator: Oleksandra Iushchenko \n" -"Language-Team: Russian \n" -"Language: ru\n" +"POT-Creation-Date: 2021-01-09 15:30+0700\n" +"PO-Revision-Date: 2021-01-10 02:38+0700\n" +"Language-Team: Andylg \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.4.2\n" -"X-Poedit-Flags-xgettext: --add-comments\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && " +"(n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 1.8.7\n" +"Last-Translator: \n" +"Language: ru_RU\n" -#: src/slic3r/GUI/AboutDialog.cpp:42 src/slic3r/GUI/AboutDialog.cpp:297 +#: src/slic3r/GUI/AboutDialog.cpp:45 src/slic3r/GUI/AboutDialog.cpp:299 msgid "Portions copyright" -msgstr "Части авторских прав" +msgstr "С использованием разработок" -#: src/slic3r/GUI/AboutDialog.cpp:132 src/slic3r/GUI/AboutDialog.cpp:261 +#: src/slic3r/GUI/AboutDialog.cpp:135 src/slic3r/GUI/AboutDialog.cpp:263 msgid "Copyright" -msgstr "Авторские права" +msgstr "Copyright" #. TRN "Slic3r _is licensed under the_ License" -#: src/slic3r/GUI/AboutDialog.cpp:134 +#: src/slic3r/GUI/AboutDialog.cpp:137 msgid "" -"License agreements of all following programs (libraries) are part of " -"application license agreement" +"License agreements of all following programs (libraries) are part of application " +"license agreement" msgstr "" "Лицензионные соглашения всех следующих программ (библиотек) являются частью " -"лицензионного соглашения приложения" +"лицензионного соглашения" -#: src/slic3r/GUI/AboutDialog.cpp:204 +#: src/slic3r/GUI/AboutDialog.cpp:206 #, c-format msgid "About %s" msgstr "О %s" -#: src/slic3r/GUI/AboutDialog.cpp:236 src/slic3r/GUI/GUI_App.cpp:231 -#: src/slic3r/GUI/MainFrame.cpp:153 +#: src/slic3r/GUI/AboutDialog.cpp:238 src/slic3r/GUI/AboutDialog.cpp:361 +#: src/slic3r/GUI/GUI_App.cpp:235 src/slic3r/GUI/MainFrame.cpp:151 msgid "Version" msgstr "Версия" #. TRN "Slic3r _is licensed under the_ License" -#: src/slic3r/GUI/AboutDialog.cpp:263 src/slic3r/GUI/GUI_App.cpp:236 +#: src/slic3r/GUI/AboutDialog.cpp:265 src/slic3r/GUI/GUI_App.cpp:240 msgid "is licensed under the" -msgstr "лицензирована на условиях" +msgstr "лицензирован в соответствии с" -#: src/slic3r/GUI/AboutDialog.cpp:264 src/slic3r/GUI/GUI_App.cpp:236 +#: src/slic3r/GUI/AboutDialog.cpp:266 src/slic3r/GUI/GUI_App.cpp:240 msgid "GNU Affero General Public License, version 3" -msgstr "GNU Affero General Public License версии 3" +msgstr "GNU Affero General Public License, version 3" -#: src/slic3r/GUI/AboutDialog.cpp:265 +#: src/slic3r/GUI/AboutDialog.cpp:267 msgid "" -"PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap " -"community." +"PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community." msgstr "" -"PrusaSlicer основана на Slic3r, которая написана Alessandro Ranellucci и " -"сообществом RepRap." +"PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community." -#: src/slic3r/GUI/AboutDialog.cpp:266 +#: src/slic3r/GUI/AboutDialog.cpp:268 msgid "" -"Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, " -"Petr Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik and " -"numerous others." +"Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr " +"Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik and numerous others." msgstr "" -"При участии Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr " -"Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik и многих " -"других." +"Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr " +"Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik and numerous " +"others. Если вы нашли ошибки в русском переводе пишите на andylg@yandex.ru." -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:77 +#: src/slic3r/GUI/AboutDialog.cpp:304 +msgid "Copy Version Info" +msgstr "Скопировать информацию о версии" + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:78 #, c-format msgid "" -"%s has encountered an error. It was likely caused by running out of memory. " -"If you are sure you have enough RAM on your system, this may also be a bug " -"and we would be glad if you reported it." +"%s has encountered an error. It was likely caused by running out of memory. If you " +"are sure you have enough RAM on your system, this may also be a bug and we would be " +"glad if you reported it." msgstr "" -"Возникла ошибка в %s. Вероятно, это вызвано нехваткой памяти. Если в вашей " -"системе много оперативной памяти, то, возможно, вы обнаружили ошибку в " -"программе, пожалуйста, сообщите о этом." +"При работе с %s произошла ошибка. Скорее всего, это было вызвано нехваткой памяти. " +"Если вы уверены, что в вашей системе достаточно оперативной памяти, но тем не менее " +"произошла эта ошибка, сообщите нам об этом." -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:156 -msgid "" -"Copying of the temporary G-code to the output G-code failed. Maybe the SD " -"card is write locked?\n" -"Error message: %1%" -msgstr "" - -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:159 -msgid "" -"Copying of the temporary G-code to the output G-code failed. There might be " -"problem with target device, please try exporting again or using different " -"device. The corrupted output G-code is at %1%.tmp." -msgstr "" -"Не удалось скопировать временный G-код в конечный G-код. Это может быть из-" -"за проблемы с устройством куда выполняется запись, попробуйте запустить " -"экспорт ещё раз или используйте другое устройство. Повреждённый конечный G-" -"код находится в файле %1%.tmp." - -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:162 -msgid "" -"Renaming of the G-code after copying to the selected destination folder has " -"failed. Current path is %1%.tmp. Please try exporting again." -msgstr "" -"Не удалось переименовать G-код после копирования в указанный каталог " -"назначения. Текущий путь: %1%.tmp. Попробуйте выполнить экспорт ещё раз." - -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:165 -msgid "" -"Copying of the temporary G-code has finished but the original code at %1% " -"couldn't be opened during copy check. The output G-code is at %2%.tmp." -msgstr "" -"Копирование временного G-кода выполнено, но не удалось открыть оригинальный " -"код %1% для проверки копирования. Конечный G-код в файле %2%.tmp." +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:163 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:183 +msgid "Unknown error occured during exporting G-code." +msgstr "При экспорте G-кода произошла неизвестная ошибка." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:168 msgid "" -"Copying of the temporary G-code has finished but the exported code couldn't " -"be opened during copy check. The output G-code is at %1%.tmp." +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is " +"write locked?\n" +"Error message: %1%" msgstr "" -"Копирование временного G-кода выполнено, но экспортированный код не удалось " -"открыть во время проверки копирования. Конечный G-код записан в файл %1%.tmp." +"Не удалось скопировать временный G-код в местонахождение выходного G-код файла. " +"Может ваша SD карта защищена от записи?\n" +"Сообщение об ошибке: %1%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:171 -msgid "Unknown error occured during exporting G-code." +msgid "" +"Copying of the temporary G-code to the output G-code failed. There might be problem " +"with target device, please try exporting again or using different device. The " +"corrupted output G-code is at %1%.tmp." msgstr "" +"Не удалось скопировать временный G-код в местонахождение выходного G-код файла. " +"Возможно, проблема с устройством назначения, попробуйте снова выполнить экспорт или " +"использовать другое устройство. Повреждённый выходной G-код файл находится в %1%." +"tmp." -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:176 -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:525 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:174 +msgid "" +"Renaming of the G-code after copying to the selected destination folder has failed. " +"Current path is %1%.tmp. Please try exporting again." +msgstr "" +"Не удалось переименовать G-код после копирования в выбранную папку назначения. " +"Текущий путь %1%.tmp. Пожалуйста, попробуйте экспортировать ещё раз." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:177 +msgid "" +"Copying of the temporary G-code has finished but the original code at %1% couldn't " +"be opened during copy check. The output G-code is at %2%.tmp." +msgstr "" +"Копирование временного G-кода завершено, но исходный код в %1% не удалось открыть " +"во время проверки копии. Выходной G-код находится в %2%.tmp." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:180 +msgid "" +"Copying of the temporary G-code has finished but the exported code couldn't be " +"opened during copy check. The output G-code is at %1%.tmp." +msgstr "" +"Копирование временного G-кода завершено, но экспортированный код не удалось открыть " +"во время проверки копии. Выходной G-код находится в %1%.tmp." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:187 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:536 msgid "Running post-processing scripts" -msgstr "Выполняются сценарии постобработки" +msgstr "Запуск скриптов постобработки" -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:178 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:189 msgid "G-code file exported to %1%" msgstr "Файл G-кода экспортирован в %1%" -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:183 -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:232 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:194 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:243 msgid "Slicing complete" -msgstr "Нарезка выполнена" +msgstr "Нарезка завершена" -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:227 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:238 msgid "Masked SLA file exported to %1%" -msgstr "Файл SLA-маски экспортирован в %1%" +msgstr "MSLA файл экспортирован в %1%" -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:528 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:539 msgid "Copying of the temporary G-code to the output G-code failed" -msgstr "Не удалось скопировать временный G-код в конечный G-код" +msgstr "" +"Не удалось скопировать временный G-код в местонахождение выходного G-код файла" -#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:551 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:562 msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "" -"Запланирована отправка в «%1%». Смотрите Окна -> Очередь отправки на узел " -"печати" +"Планирование загрузки на `%1%`. Смотрите Окна -> Очередь загрузки на хост печати" -#: src/slic3r/GUI/BedShapeDialog.cpp:93 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:240 src/slic3r/GUI/Plater.cpp:162 -#: src/slic3r/GUI/Tab.cpp:2531 +#: src/slic3r/GUI/BedShapeDialog.cpp:93 src/slic3r/GUI/GUI_ObjectManipulation.cpp:240 +#: src/slic3r/GUI/Plater.cpp:162 src/slic3r/GUI/Tab.cpp:2536 msgid "Size" msgstr "Размер" @@ -172,73 +172,69 @@ msgstr "Размер" msgid "Origin" msgstr "Начало координат" -#: src/slic3r/GUI/BedShapeDialog.cpp:95 src/libslic3r/PrintConfig.cpp:754 +#: src/slic3r/GUI/BedShapeDialog.cpp:95 src/libslic3r/PrintConfig.cpp:771 msgid "Diameter" msgstr "Диаметр" #: src/slic3r/GUI/BedShapeDialog.cpp:110 msgid "Size in X and Y of the rectangular plate." -msgstr "Размеры прямоугольной платформы в XY координатах." +msgstr "Размеры прямоугольного стола в XY координатах." #: src/slic3r/GUI/BedShapeDialog.cpp:121 msgid "" -"Distance of the 0,0 G-code coordinate from the front left corner of the " -"rectangle." +"Distance of the 0,0 G-code coordinate from the front left corner of the rectangle." msgstr "" -"Расстояние от координаты 0,0 G-кода. Отсчёт от левого переднего угла " -"прямоугольной платформы." +"Расстояние до точки начало координат. Отсчёт от левого переднего угла " +"прямоугольного стола." -#: src/slic3r/GUI/BedShapeDialog.cpp:129 src/slic3r/GUI/ConfigWizard.cpp:237 -#: src/slic3r/GUI/ConfigWizard.cpp:1359 src/slic3r/GUI/ConfigWizard.cpp:1373 -#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:88 -#: src/slic3r/GUI/GCodeViewer.cpp:2324 src/slic3r/GUI/GCodeViewer.cpp:2330 -#: src/slic3r/GUI/GCodeViewer.cpp:2338 src/slic3r/GUI/GUI_ObjectLayers.cpp:145 +#: src/slic3r/GUI/BedShapeDialog.cpp:129 src/slic3r/GUI/ConfigWizard.cpp:242 +#: src/slic3r/GUI/ConfigWizard.cpp:1368 src/slic3r/GUI/ConfigWizard.cpp:1382 +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:88 src/slic3r/GUI/GCodeViewer.cpp:2337 +#: src/slic3r/GUI/GCodeViewer.cpp:2343 src/slic3r/GUI/GCodeViewer.cpp:2351 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:179 src/slic3r/GUI/GUI_ObjectLayers.cpp:145 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:341 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:418 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:486 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:487 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:96 -#: src/slic3r/GUI/WipeTowerDialog.cpp:85 src/libslic3r/PrintConfig.cpp:75 -#: src/libslic3r/PrintConfig.cpp:82 src/libslic3r/PrintConfig.cpp:93 -#: src/libslic3r/PrintConfig.cpp:131 src/libslic3r/PrintConfig.cpp:229 -#: src/libslic3r/PrintConfig.cpp:287 src/libslic3r/PrintConfig.cpp:362 -#: src/libslic3r/PrintConfig.cpp:370 src/libslic3r/PrintConfig.cpp:420 -#: src/libslic3r/PrintConfig.cpp:550 src/libslic3r/PrintConfig.cpp:561 -#: src/libslic3r/PrintConfig.cpp:579 src/libslic3r/PrintConfig.cpp:757 -#: src/libslic3r/PrintConfig.cpp:1230 src/libslic3r/PrintConfig.cpp:1411 -#: src/libslic3r/PrintConfig.cpp:1472 src/libslic3r/PrintConfig.cpp:1490 -#: src/libslic3r/PrintConfig.cpp:1508 src/libslic3r/PrintConfig.cpp:1566 -#: src/libslic3r/PrintConfig.cpp:1576 src/libslic3r/PrintConfig.cpp:1697 -#: src/libslic3r/PrintConfig.cpp:1705 src/libslic3r/PrintConfig.cpp:1746 -#: src/libslic3r/PrintConfig.cpp:1754 src/libslic3r/PrintConfig.cpp:1764 -#: src/libslic3r/PrintConfig.cpp:1772 src/libslic3r/PrintConfig.cpp:1780 -#: src/libslic3r/PrintConfig.cpp:1843 src/libslic3r/PrintConfig.cpp:2109 -#: src/libslic3r/PrintConfig.cpp:2180 src/libslic3r/PrintConfig.cpp:2214 -#: src/libslic3r/PrintConfig.cpp:2343 src/libslic3r/PrintConfig.cpp:2422 -#: src/libslic3r/PrintConfig.cpp:2429 src/libslic3r/PrintConfig.cpp:2436 -#: src/libslic3r/PrintConfig.cpp:2466 src/libslic3r/PrintConfig.cpp:2476 -#: src/libslic3r/PrintConfig.cpp:2486 src/libslic3r/PrintConfig.cpp:2646 -#: src/libslic3r/PrintConfig.cpp:2680 src/libslic3r/PrintConfig.cpp:2819 -#: src/libslic3r/PrintConfig.cpp:2828 src/libslic3r/PrintConfig.cpp:2837 -#: src/libslic3r/PrintConfig.cpp:2847 src/libslic3r/PrintConfig.cpp:2912 -#: src/libslic3r/PrintConfig.cpp:2922 src/libslic3r/PrintConfig.cpp:2934 -#: src/libslic3r/PrintConfig.cpp:2954 src/libslic3r/PrintConfig.cpp:2964 -#: src/libslic3r/PrintConfig.cpp:2974 src/libslic3r/PrintConfig.cpp:2992 -#: src/libslic3r/PrintConfig.cpp:3007 src/libslic3r/PrintConfig.cpp:3021 -#: src/libslic3r/PrintConfig.cpp:3032 src/libslic3r/PrintConfig.cpp:3045 -#: src/libslic3r/PrintConfig.cpp:3090 src/libslic3r/PrintConfig.cpp:3100 -#: src/libslic3r/PrintConfig.cpp:3109 src/libslic3r/PrintConfig.cpp:3119 -#: src/libslic3r/PrintConfig.cpp:3135 src/libslic3r/PrintConfig.cpp:3159 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:96 src/slic3r/GUI/WipeTowerDialog.cpp:85 +#: src/libslic3r/PrintConfig.cpp:77 src/libslic3r/PrintConfig.cpp:84 +#: src/libslic3r/PrintConfig.cpp:95 src/libslic3r/PrintConfig.cpp:135 +#: src/libslic3r/PrintConfig.cpp:244 src/libslic3r/PrintConfig.cpp:302 +#: src/libslic3r/PrintConfig.cpp:377 src/libslic3r/PrintConfig.cpp:385 +#: src/libslic3r/PrintConfig.cpp:435 src/libslic3r/PrintConfig.cpp:565 +#: src/libslic3r/PrintConfig.cpp:576 src/libslic3r/PrintConfig.cpp:594 +#: src/libslic3r/PrintConfig.cpp:774 src/libslic3r/PrintConfig.cpp:1258 +#: src/libslic3r/PrintConfig.cpp:1439 src/libslic3r/PrintConfig.cpp:1500 +#: src/libslic3r/PrintConfig.cpp:1518 src/libslic3r/PrintConfig.cpp:1536 +#: src/libslic3r/PrintConfig.cpp:1594 src/libslic3r/PrintConfig.cpp:1604 +#: src/libslic3r/PrintConfig.cpp:1729 src/libslic3r/PrintConfig.cpp:1737 +#: src/libslic3r/PrintConfig.cpp:1778 src/libslic3r/PrintConfig.cpp:1786 +#: src/libslic3r/PrintConfig.cpp:1796 src/libslic3r/PrintConfig.cpp:1804 +#: src/libslic3r/PrintConfig.cpp:1812 src/libslic3r/PrintConfig.cpp:1875 +#: src/libslic3r/PrintConfig.cpp:2141 src/libslic3r/PrintConfig.cpp:2212 +#: src/libslic3r/PrintConfig.cpp:2246 src/libslic3r/PrintConfig.cpp:2375 +#: src/libslic3r/PrintConfig.cpp:2454 src/libslic3r/PrintConfig.cpp:2461 +#: src/libslic3r/PrintConfig.cpp:2468 src/libslic3r/PrintConfig.cpp:2498 +#: src/libslic3r/PrintConfig.cpp:2508 src/libslic3r/PrintConfig.cpp:2518 +#: src/libslic3r/PrintConfig.cpp:2678 src/libslic3r/PrintConfig.cpp:2712 +#: src/libslic3r/PrintConfig.cpp:2851 src/libslic3r/PrintConfig.cpp:2860 +#: src/libslic3r/PrintConfig.cpp:2869 src/libslic3r/PrintConfig.cpp:2879 +#: src/libslic3r/PrintConfig.cpp:2944 src/libslic3r/PrintConfig.cpp:2954 +#: src/libslic3r/PrintConfig.cpp:2966 src/libslic3r/PrintConfig.cpp:2986 +#: src/libslic3r/PrintConfig.cpp:2996 src/libslic3r/PrintConfig.cpp:3006 +#: src/libslic3r/PrintConfig.cpp:3024 src/libslic3r/PrintConfig.cpp:3039 +#: src/libslic3r/PrintConfig.cpp:3053 src/libslic3r/PrintConfig.cpp:3064 +#: src/libslic3r/PrintConfig.cpp:3077 src/libslic3r/PrintConfig.cpp:3122 +#: src/libslic3r/PrintConfig.cpp:3132 src/libslic3r/PrintConfig.cpp:3141 +#: src/libslic3r/PrintConfig.cpp:3151 src/libslic3r/PrintConfig.cpp:3167 +#: src/libslic3r/PrintConfig.cpp:3191 msgid "mm" msgstr "мм" #: src/slic3r/GUI/BedShapeDialog.cpp:131 msgid "" -"Diameter of the print bed. It is assumed that origin (0,0) is located in the " -"center." -msgstr "" -"Диаметр платформы печати. Предполагается, что начало координат (0,0) " -"находится в центре." +"Diameter of the print bed. It is assumed that origin (0,0) is located in the center." +msgstr "Диаметр стола. Предполагается, что начало координат (0,0) находится в центре." #: src/slic3r/GUI/BedShapeDialog.cpp:141 msgid "Rectangular" @@ -248,27 +244,27 @@ msgstr "Прямоугольная" msgid "Circular" msgstr "Круглая" -#: src/slic3r/GUI/BedShapeDialog.cpp:143 src/slic3r/GUI/GUI_Preview.cpp:257 +#: src/slic3r/GUI/BedShapeDialog.cpp:143 src/slic3r/GUI/GUI_Preview.cpp:243 #: src/libslic3r/ExtrusionEntity.cpp:323 src/libslic3r/ExtrusionEntity.cpp:358 msgid "Custom" msgstr "Пользовательская" #: src/slic3r/GUI/BedShapeDialog.cpp:145 msgid "Invalid" -msgstr "" +msgstr "Недопустимо" #: src/slic3r/GUI/BedShapeDialog.cpp:156 src/slic3r/GUI/BedShapeDialog.cpp:222 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2215 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2288 msgid "Shape" msgstr "Форма" #: src/slic3r/GUI/BedShapeDialog.cpp:243 msgid "Load shape from STL..." -msgstr "Загрузить форму платформы из STL-файла…" +msgstr "Загрузка формы стола из STL файла..." -#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1816 +#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1826 msgid "Settings" -msgstr "Параметры" +msgstr "Настройки" #: src/slic3r/GUI/BedShapeDialog.cpp:315 msgid "Texture" @@ -276,16 +272,16 @@ msgstr "Текстура" #: src/slic3r/GUI/BedShapeDialog.cpp:325 src/slic3r/GUI/BedShapeDialog.cpp:405 msgid "Load..." -msgstr "Загрузить…" +msgstr "Загрузить..." #: src/slic3r/GUI/BedShapeDialog.cpp:333 src/slic3r/GUI/BedShapeDialog.cpp:413 -#: src/slic3r/GUI/Tab.cpp:3474 +#: src/slic3r/GUI/Tab.cpp:3484 msgid "Remove" -msgstr "Убрать" +msgstr "Удалить" #: src/slic3r/GUI/BedShapeDialog.cpp:366 src/slic3r/GUI/BedShapeDialog.cpp:446 msgid "Not found:" -msgstr "Не найден:" +msgstr "Не найдено:" #: src/slic3r/GUI/BedShapeDialog.cpp:395 msgid "Model" @@ -293,39 +289,38 @@ msgstr "Модель" #: src/slic3r/GUI/BedShapeDialog.cpp:563 msgid "Choose an STL file to import bed shape from:" -msgstr "Выберите файл STL для импорта формы платформы из:" +msgstr "Выберите STL файл для импорта формы стола из:" #: src/slic3r/GUI/BedShapeDialog.cpp:570 src/slic3r/GUI/BedShapeDialog.cpp:619 #: src/slic3r/GUI/BedShapeDialog.cpp:642 msgid "Invalid file format." -msgstr "Неправильный формат файла." +msgstr "Неверный формат файла." #: src/slic3r/GUI/BedShapeDialog.cpp:581 msgid "Error! Invalid model" -msgstr "Ошибка! Некорректная модель" +msgstr "Ошибка! Недопустимая модель" #: src/slic3r/GUI/BedShapeDialog.cpp:589 msgid "The selected file contains no geometry." msgstr "Выбранный файл не содержит геометрии." #: src/slic3r/GUI/BedShapeDialog.cpp:593 -msgid "" -"The selected file contains several disjoint areas. This is not supported." +msgid "The selected file contains several disjoint areas. This is not supported." msgstr "" "Выбранный файл содержит несколько не пересекающихся областей. Такие файлы не " "поддерживаются." #: src/slic3r/GUI/BedShapeDialog.cpp:608 msgid "Choose a file to import bed texture from (PNG/SVG):" -msgstr "Выберите файл для импорта текстуры платформы из (PNG/SVG):" +msgstr "Выберите файл для импорта текстуры стола из PNG/SVG:" #: src/slic3r/GUI/BedShapeDialog.cpp:631 msgid "Choose an STL file to import bed model from:" -msgstr "Выберите файл STL для импорта модели платформы из:" +msgstr "Выберите STL файл для импорта формы стола из:" -#: src/slic3r/GUI/BedShapeDialog.hpp:98 src/slic3r/GUI/ConfigWizard.cpp:1318 +#: src/slic3r/GUI/BedShapeDialog.hpp:98 src/slic3r/GUI/ConfigWizard.cpp:1327 msgid "Bed Shape" -msgstr "Форма платформы" +msgstr "Форма и размеры стола" #: src/slic3r/GUI/BonjourDialog.cpp:55 msgid "Network lookup" @@ -337,7 +332,7 @@ msgstr "Адрес" #: src/slic3r/GUI/BonjourDialog.cpp:73 msgid "Hostname" -msgstr "Имя узла" +msgstr "Имя хоста" #: src/slic3r/GUI/BonjourDialog.cpp:74 msgid "Service name" @@ -365,43 +360,41 @@ msgstr "Значение совпадает с системным значени #: src/slic3r/GUI/ButtonsDescription.cpp:53 msgid "" -"Value was changed and is not equal to the system value or the last saved " -"preset" +"Value was changed and is not equal to the system value or the last saved preset" msgstr "" -"Значение изменено и не равно системному значению или последнему сохранённому " -"профилю" +"Значение изменено и не равно системному значению или последнему сохранённому профилю" -#: src/slic3r/GUI/ConfigManipulation.cpp:47 +#: src/slic3r/GUI/ConfigManipulation.cpp:48 msgid "" "Zero layer height is not valid.\n" "\n" "The layer height will be reset to 0.01." msgstr "" -"Нулевая высота слоя не допускается.\n" +"Нулевая высота слоя недопустима.\n" "\n" -"Высота слоя будет установлена равной 0.01." +"Высота слоя будет сброшена на 0.01." -#: src/slic3r/GUI/ConfigManipulation.cpp:48 -#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1389 -#: src/libslic3r/PrintConfig.cpp:71 +#: src/slic3r/GUI/ConfigManipulation.cpp:49 src/slic3r/GUI/GUI_ObjectLayers.cpp:29 +#: src/slic3r/GUI/Tab.cpp:1387 src/libslic3r/PrintConfig.cpp:73 msgid "Layer height" msgstr "Высота слоя" -#: src/slic3r/GUI/ConfigManipulation.cpp:59 +#: src/slic3r/GUI/ConfigManipulation.cpp:60 msgid "" "Zero first layer height is not valid.\n" "\n" "The first layer height will be reset to 0.01." msgstr "" -"Нулевая высота первого слоя не допускается.\n" +"Нулевая высота первого слоя недопустима.\n" "\n" -"Высота первого слоя будет установлена равной 0.01." +"Высота первого слоя будет сброшена на 0.01." -#: src/slic3r/GUI/ConfigManipulation.cpp:60 src/libslic3r/PrintConfig.cpp:952 +#: src/slic3r/GUI/ConfigManipulation.cpp:61 src/libslic3r/PrintConfig.cpp:969 msgid "First layer height" msgstr "Высота первого слоя" -#: src/slic3r/GUI/ConfigManipulation.cpp:80 +#: src/slic3r/GUI/ConfigManipulation.cpp:81 +#, c-format msgid "" "The Spiral Vase mode requires:\n" "- one perimeter\n" @@ -411,57 +404,57 @@ msgid "" "- Ensure vertical shell thickness enabled\n" "- Detect thin walls disabled" msgstr "" -"Для режима «Спиральная ваза» требуются настройки:\n" -"- периметр в одну стенку\n" -"- выключение верхних сплошных слоёв\n" +"Требования для режима \"Спиральная ваза\" - т.е. печати внешнего контура по " +"спирали:\n" +"- одностеночный периметр\n" +"- отсутствие верхних сплошных слоёв\n" "- плотность заполнения 0%\n" -"- выключение материала поддержек\n" -"- включение обеспечения толщины вертикальной оболочки\n" -"- выключение обнаружения тонких стенок" - -#: src/slic3r/GUI/ConfigManipulation.cpp:88 -msgid "Shall I adjust those settings in order to enable Spiral Vase?" -msgstr "Изменить эти настройки, чтобы задействовать режим «Спиральная ваза»?" +"- отсутствие поддержки\n" +"- отключено \"Обеспечивать вертикальную толщину оболочки\"\n" +"- отключено \"Обнаружение тонких стенок\"" #: src/slic3r/GUI/ConfigManipulation.cpp:89 +msgid "Shall I adjust those settings in order to enable Spiral Vase?" +msgstr "Изменить эти настройки, чтобы включить режим \"Спиральная ваза\"?" + +#: src/slic3r/GUI/ConfigManipulation.cpp:90 msgid "Spiral Vase" msgstr "Спиральная ваза" -#: src/slic3r/GUI/ConfigManipulation.cpp:114 +#: src/slic3r/GUI/ConfigManipulation.cpp:115 msgid "" "The Wipe Tower currently supports the non-soluble supports only\n" -"if they are printed with the current extruder without triggering a tool " -"change.\n" -"(both support_material_extruder and support_material_interface_extruder need " -"to be set to 0)." +"if they are printed with the current extruder without triggering a tool change.\n" +"(both support_material_extruder and support_material_interface_extruder need to be " +"set to 0)." msgstr "" -"В настоящее время башня очистки поддерживается для нерастворимых поддержек\n" -"только в том случае, если они печатаются текущим экструдером, без запуска\n" -"смены сопла (значения support_material_extruder и\n" -"support_material_interface_extruder должны быть установлены в 0)." - -#: src/slic3r/GUI/ConfigManipulation.cpp:118 -msgid "Shall I adjust those settings in order to enable the Wipe Tower?" -msgstr "Изменить эти настройки, чтобы включить башню очистки?" +"В настоящее время режим черновой башни поддерживает нерастворимую поддержку\n" +"только в том случае, если она печатается текущим экструдером, без запуска\n" +"смены инструмента. (Значения \"Экструдер, печатающий поддержки/подложки/юбки\"\n" +"и \"Экструдер, печатающий связующий слой поддержки/подложки\" должны быть\n" +"установлены в 0).\"" #: src/slic3r/GUI/ConfigManipulation.cpp:119 -#: src/slic3r/GUI/ConfigManipulation.cpp:139 -msgid "Wipe Tower" -msgstr "Башня очистки" +msgid "Shall I adjust those settings in order to enable the Wipe Tower?" +msgstr "Изменить эти настройки, чтобы включить черновую башню?" -#: src/slic3r/GUI/ConfigManipulation.cpp:135 +#: src/slic3r/GUI/ConfigManipulation.cpp:120 src/slic3r/GUI/ConfigManipulation.cpp:140 +msgid "Wipe Tower" +msgstr "Черновая башня" + +#: src/slic3r/GUI/ConfigManipulation.cpp:136 msgid "" "For the Wipe Tower to work with the soluble supports, the support layers\n" "need to be synchronized with the object layers." msgstr "" -"Для того, чтобы башня очистки работала для растворимых поддержек,\n" -"слои поддержек должны быть синхронизированы со слоями объекта." +"Для того, чтобы режим черновой башни работал с растворимой поддержкой, \n" +"слои поддержки должны быть синхронизированы со слоями модели." -#: src/slic3r/GUI/ConfigManipulation.cpp:138 +#: src/slic3r/GUI/ConfigManipulation.cpp:139 msgid "Shall I synchronize support layers in order to enable the Wipe Tower?" -msgstr "Синхронизировать слои поддержек, чтобы включить башню очистки?" +msgstr "Синхронизировать слои поддержки, чтобы включить черновую башню?" -#: src/slic3r/GUI/ConfigManipulation.cpp:158 +#: src/slic3r/GUI/ConfigManipulation.cpp:159 msgid "" "Supports work better, if the following feature is enabled:\n" "- Detect bridging perimeters" @@ -469,52 +462,50 @@ msgstr "" "Поддержки работают лучше, если включена следующая функция:\n" "- Определять нависающие периметры" -#: src/slic3r/GUI/ConfigManipulation.cpp:161 -msgid "Shall I adjust those settings for supports?" -msgstr "Изменить эти настройки для поддержек?" - #: src/slic3r/GUI/ConfigManipulation.cpp:162 +msgid "Shall I adjust those settings for supports?" +msgstr "Включить данный параметр для поддержки?" + +#: src/slic3r/GUI/ConfigManipulation.cpp:163 msgid "Support Generator" -msgstr "Генератор поддержек" +msgstr "Генератор поддержки" -#: src/slic3r/GUI/ConfigManipulation.cpp:207 +#: src/slic3r/GUI/ConfigManipulation.cpp:198 msgid "The %1% infill pattern is not supposed to work at 100%% density." -msgstr "Шаблон заполнения %1% не предполагает работу со 100%% заполнением." +msgstr "Шаблон заполнения %1% не поддерживает 100%% заполнение." -#: src/slic3r/GUI/ConfigManipulation.cpp:209 +#: src/slic3r/GUI/ConfigManipulation.cpp:201 msgid "Shall I switch to rectilinear fill pattern?" msgstr "Заменить его на прямолинейный (Rectilinear)?" -#: src/slic3r/GUI/ConfigManipulation.cpp:210 -#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 -#: src/slic3r/GUI/GUI_ObjectList.cpp:652 src/slic3r/GUI/Plater.cpp:389 -#: src/slic3r/GUI/Tab.cpp:1433 src/slic3r/GUI/Tab.cpp:1435 -#: src/libslic3r/PrintConfig.cpp:244 src/libslic3r/PrintConfig.cpp:457 -#: src/libslic3r/PrintConfig.cpp:481 src/libslic3r/PrintConfig.cpp:831 -#: src/libslic3r/PrintConfig.cpp:845 src/libslic3r/PrintConfig.cpp:882 -#: src/libslic3r/PrintConfig.cpp:1048 src/libslic3r/PrintConfig.cpp:1058 -#: src/libslic3r/PrintConfig.cpp:1125 src/libslic3r/PrintConfig.cpp:1144 -#: src/libslic3r/PrintConfig.cpp:1163 src/libslic3r/PrintConfig.cpp:1896 -#: src/libslic3r/PrintConfig.cpp:1913 +#: src/slic3r/GUI/ConfigManipulation.cpp:202 src/slic3r/GUI/GUI_ObjectList.cpp:35 +#: src/slic3r/GUI/GUI_ObjectList.cpp:93 src/slic3r/GUI/GUI_ObjectList.cpp:668 +#: src/slic3r/GUI/Plater.cpp:389 src/slic3r/GUI/Tab.cpp:1432 +#: src/slic3r/GUI/Tab.cpp:1434 src/libslic3r/PrintConfig.cpp:259 +#: src/libslic3r/PrintConfig.cpp:472 src/libslic3r/PrintConfig.cpp:496 +#: src/libslic3r/PrintConfig.cpp:848 src/libslic3r/PrintConfig.cpp:862 +#: src/libslic3r/PrintConfig.cpp:899 src/libslic3r/PrintConfig.cpp:1076 +#: src/libslic3r/PrintConfig.cpp:1086 src/libslic3r/PrintConfig.cpp:1153 +#: src/libslic3r/PrintConfig.cpp:1172 src/libslic3r/PrintConfig.cpp:1191 +#: src/libslic3r/PrintConfig.cpp:1928 src/libslic3r/PrintConfig.cpp:1945 msgid "Infill" msgstr "Заполнение" -#: src/slic3r/GUI/ConfigManipulation.cpp:325 +#: src/slic3r/GUI/ConfigManipulation.cpp:320 msgid "Head penetration should not be greater than the head width." -msgstr "" -"Погружение головной части не должно быть больше толщины головной части." +msgstr "Глубина проникновения носика поддержки не должна превышать его длину." -#: src/slic3r/GUI/ConfigManipulation.cpp:327 +#: src/slic3r/GUI/ConfigManipulation.cpp:322 msgid "Invalid Head penetration" -msgstr "Некорректное погружение головной части" +msgstr "Недопустимая глубина проникновения носика поддержки" -#: src/slic3r/GUI/ConfigManipulation.cpp:338 +#: src/slic3r/GUI/ConfigManipulation.cpp:333 msgid "Pinhead diameter should be smaller than the pillar diameter." -msgstr "Диаметр точки крепления должен быть меньше диаметра колонны." +msgstr "Диаметр носика поддержки должен быть меньше диаметра тела поддержки." -#: src/slic3r/GUI/ConfigManipulation.cpp:340 +#: src/slic3r/GUI/ConfigManipulation.cpp:335 msgid "Invalid pinhead diameter" -msgstr "Некорректный диаметр точки крепления" +msgstr "Недопустимый диаметр носика поддержки" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 msgid "Upgrade" @@ -528,24 +519,24 @@ msgstr "Понизить версию" msgid "Before roll back" msgstr "Перед откатом к прежнему" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 src/libslic3r/PrintConfig.cpp:139 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 src/libslic3r/PrintConfig.cpp:143 msgid "User" msgstr "Пользователь" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:28 -#: src/slic3r/GUI/GUI_Preview.cpp:243 src/libslic3r/ExtrusionEntity.cpp:309 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:28 src/slic3r/GUI/GUI_Preview.cpp:229 +#: src/libslic3r/ExtrusionEntity.cpp:309 msgid "Unknown" msgstr "Неизвестно" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 msgid "Active" -msgstr "Активировать" +msgstr "Активный" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 msgid "PrusaSlicer version" msgstr "Версия PrusaSlicer" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 src/libslic3r/Preset.cpp:1257 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 src/libslic3r/Preset.cpp:1298 msgid "print" msgstr "печать" @@ -553,20 +544,20 @@ msgstr "печать" msgid "filaments" msgstr "пруток" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:59 src/libslic3r/Preset.cpp:1259 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:59 src/libslic3r/Preset.cpp:1300 msgid "SLA print" -msgstr "Печать SLA" +msgstr "Профиль SLA печати:" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/Plater.cpp:696 -#: src/libslic3r/Preset.cpp:1260 +#: src/libslic3r/Preset.cpp:1301 msgid "SLA material" -msgstr "Материал SLA" +msgstr "Профиль SLA материала" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:62 src/libslic3r/Preset.cpp:1261 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:62 src/libslic3r/Preset.cpp:1302 msgid "printer" msgstr "принтер" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:66 src/slic3r/GUI/Tab.cpp:1306 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:66 src/slic3r/GUI/Tab.cpp:1304 msgid "vendor" msgstr "производитель" @@ -588,7 +579,7 @@ msgstr "модель" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:72 msgid "variants" -msgstr "модификации" +msgstr "модификация" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:84 #, c-format @@ -603,157 +594,156 @@ msgstr "Активировать" msgid "Configuration Snapshots" msgstr "Резервные копии конфигурации (снапшот)" -#: src/slic3r/GUI/ConfigWizard.cpp:237 +#: src/slic3r/GUI/ConfigWizard.cpp:242 msgid "nozzle" msgstr "сопло" -#: src/slic3r/GUI/ConfigWizard.cpp:241 +#: src/slic3r/GUI/ConfigWizard.cpp:246 msgid "Alternate nozzles:" -msgstr "Другие сопла:" +msgstr "Альтернативные сопла:" -#: src/slic3r/GUI/ConfigWizard.cpp:305 +#: src/slic3r/GUI/ConfigWizard.cpp:310 msgid "All standard" msgstr "Все стандартные" -#: src/slic3r/GUI/ConfigWizard.cpp:305 +#: src/slic3r/GUI/ConfigWizard.cpp:310 msgid "Standard" msgstr "Стандартные" -#: src/slic3r/GUI/ConfigWizard.cpp:306 src/slic3r/GUI/ConfigWizard.cpp:596 -#: src/slic3r/GUI/Tab.cpp:3555 src/slic3r/GUI/UnsavedChangesDialog.cpp:927 +#: src/slic3r/GUI/ConfigWizard.cpp:311 src/slic3r/GUI/ConfigWizard.cpp:605 +#: src/slic3r/GUI/Tab.cpp:3565 src/slic3r/GUI/UnsavedChangesDialog.cpp:933 msgid "All" msgstr "Все" -#: src/slic3r/GUI/ConfigWizard.cpp:307 src/slic3r/GUI/ConfigWizard.cpp:597 -#: src/slic3r/GUI/DoubleSlider.cpp:1824 src/slic3r/GUI/Plater.cpp:361 +#: src/slic3r/GUI/ConfigWizard.cpp:312 src/slic3r/GUI/ConfigWizard.cpp:606 +#: src/slic3r/GUI/DoubleSlider.cpp:1859 src/slic3r/GUI/Plater.cpp:361 #: src/slic3r/GUI/Plater.cpp:504 msgid "None" msgstr "Нет" -#: src/slic3r/GUI/ConfigWizard.cpp:443 +#: src/slic3r/GUI/ConfigWizard.cpp:452 #, c-format msgid "Welcome to the %s Configuration Assistant" -msgstr "Помощник по настройке %s" +msgstr "Приветствуем вас в мастере настройки %s" -#: src/slic3r/GUI/ConfigWizard.cpp:445 +#: src/slic3r/GUI/ConfigWizard.cpp:454 #, c-format msgid "Welcome to the %s Configuration Wizard" -msgstr "Мастер настройки %s" +msgstr "Приветствуем вас в мастере настройки %s" -#: src/slic3r/GUI/ConfigWizard.cpp:447 +#: src/slic3r/GUI/ConfigWizard.cpp:456 msgid "Welcome" msgstr "Начало" -#: src/slic3r/GUI/ConfigWizard.cpp:449 +#: src/slic3r/GUI/ConfigWizard.cpp:458 #, c-format msgid "" -"Hello, welcome to %s! This %s helps you with the initial configuration; just " -"a few settings and you will be ready to print." +"Hello, welcome to %s! This %s helps you with the initial configuration; just a few " +"settings and you will be ready to print." msgstr "" -"Приветствуем вас в %s! %s поможет вам с начальной настройкой программы; " -"всего несколько вопросов и вы сможете печатать." +"Приветствуем вас в %s! Этот мастер настройки %s поможет вам с начальной настройкой " +"программы." -#: src/slic3r/GUI/ConfigWizard.cpp:454 +#: src/slic3r/GUI/ConfigWizard.cpp:463 msgid "Remove user profiles (a snapshot will be taken beforehand)" -msgstr "Удалить профили пользователей (перед этим будет сделан снапшот)" +msgstr "Удалить профили пользователя (снапшот будет сделан заранее)" -#: src/slic3r/GUI/ConfigWizard.cpp:497 +#: src/slic3r/GUI/ConfigWizard.cpp:506 #, c-format msgid "%s Family" -msgstr "Семейство %s" +msgstr "Семейство принтеров %s" -#: src/slic3r/GUI/ConfigWizard.cpp:585 +#: src/slic3r/GUI/ConfigWizard.cpp:594 msgid "Printer:" -msgstr "" +msgstr "Принтер:" -#: src/slic3r/GUI/ConfigWizard.cpp:587 +#: src/slic3r/GUI/ConfigWizard.cpp:596 msgid "Vendor:" msgstr "Производитель:" -#: src/slic3r/GUI/ConfigWizard.cpp:588 +#: src/slic3r/GUI/ConfigWizard.cpp:597 msgid "Profile:" msgstr "Профиль:" -#: src/slic3r/GUI/ConfigWizard.cpp:660 src/slic3r/GUI/ConfigWizard.cpp:810 -#: src/slic3r/GUI/ConfigWizard.cpp:871 src/slic3r/GUI/ConfigWizard.cpp:1008 +#: src/slic3r/GUI/ConfigWizard.cpp:669 src/slic3r/GUI/ConfigWizard.cpp:819 +#: src/slic3r/GUI/ConfigWizard.cpp:880 src/slic3r/GUI/ConfigWizard.cpp:1017 msgid "(All)" msgstr "(Все)" -#: src/slic3r/GUI/ConfigWizard.cpp:689 +#: src/slic3r/GUI/ConfigWizard.cpp:698 msgid "" "Filaments marked with * are not compatible with some installed " "printers." msgstr "" +"Прутки помеченные знаком *, не несовместимы с некоторыми " +"установленными принтерами." -#: src/slic3r/GUI/ConfigWizard.cpp:692 +#: src/slic3r/GUI/ConfigWizard.cpp:701 msgid "All installed printers are compatible with the selected filament." -msgstr "" +msgstr "Все установленные принтеры совместимы с выбранным прутком." -#: src/slic3r/GUI/ConfigWizard.cpp:712 +#: src/slic3r/GUI/ConfigWizard.cpp:721 msgid "" -"Only the following installed printers are compatible with the selected " -"filament:" +"Only the following installed printers are compatible with the selected filament:" msgstr "" +"Только следующие установленные принтеры совместимы с выбранным прутком:" -#: src/slic3r/GUI/ConfigWizard.cpp:1098 +#: src/slic3r/GUI/ConfigWizard.cpp:1107 msgid "Custom Printer Setup" -msgstr "Установки заказного принтера" +msgstr "Настройка пользовательского принтера" -#: src/slic3r/GUI/ConfigWizard.cpp:1098 +#: src/slic3r/GUI/ConfigWizard.cpp:1107 msgid "Custom Printer" -msgstr "Заказной принтер" +msgstr "Пользовательский принтер" -#: src/slic3r/GUI/ConfigWizard.cpp:1100 +#: src/slic3r/GUI/ConfigWizard.cpp:1109 msgid "Define a custom printer profile" -msgstr "Создать профиль заказного принтера" +msgstr "Задать имя пользовательского профиля" -#: src/slic3r/GUI/ConfigWizard.cpp:1102 +#: src/slic3r/GUI/ConfigWizard.cpp:1111 msgid "Custom profile name:" -msgstr "Имя заказного профиля:" +msgstr "Имя пользовательского профиля:" -#: src/slic3r/GUI/ConfigWizard.cpp:1127 +#: src/slic3r/GUI/ConfigWizard.cpp:1136 msgid "Automatic updates" msgstr "Автоматическое обновление" -#: src/slic3r/GUI/ConfigWizard.cpp:1127 +#: src/slic3r/GUI/ConfigWizard.cpp:1136 msgid "Updates" msgstr "Обновления" -#: src/slic3r/GUI/ConfigWizard.cpp:1135 src/slic3r/GUI/Preferences.cpp:73 +#: src/slic3r/GUI/ConfigWizard.cpp:1144 src/slic3r/GUI/Preferences.cpp:94 msgid "Check for application updates" -msgstr "Проверять обновления" +msgstr "Проверка обновлений" -#: src/slic3r/GUI/ConfigWizard.cpp:1139 +#: src/slic3r/GUI/ConfigWizard.cpp:1148 #, c-format msgid "" -"If enabled, %s checks for new application versions online. When a new " -"version becomes available, a notification is displayed at the next " -"application startup (never during program usage). This is only a " -"notification mechanisms, no automatic installation is done." +"If enabled, %s checks for new application versions online. When a new version " +"becomes available, a notification is displayed at the next application startup " +"(never during program usage). This is only a notification mechanisms, no automatic " +"installation is done." msgstr "" -"Если включено, то %s проверяет наличие новых версий приложения в сети. Если " -"доступна новая версия, то при следующем запуске отображается уведомление (не " -"отображается во время работы программы). Автоматическая установка не " -"производится. Вы увидите только уведомление." +"Если включено, %s проверяет наличие новых версий программы в сети. Если доступна " +"новая версия, при следующем запуске отображается уведомление (не во время работы " +"программы). Автоматическая установка не производится. Вы увидите только уведомление." -#: src/slic3r/GUI/ConfigWizard.cpp:1145 src/slic3r/GUI/Preferences.cpp:108 +#: src/slic3r/GUI/ConfigWizard.cpp:1154 src/slic3r/GUI/Preferences.cpp:129 msgid "Update built-in Presets automatically" msgstr "Обновлять встроенные профили автоматически" -#: src/slic3r/GUI/ConfigWizard.cpp:1149 +#: src/slic3r/GUI/ConfigWizard.cpp:1158 #, c-format msgid "" -"If enabled, %s downloads updates of built-in system presets in the " -"background.These updates are downloaded into a separate temporary location." -"When a new preset version becomes available it is offered at application " -"startup." +"If enabled, %s downloads updates of built-in system presets in the background.These " +"updates are downloaded into a separate temporary location.When a new preset version " +"becomes available it is offered at application startup." msgstr "" -"Если включено, то %s будет скачивать обновления встроенных системных " -"профилей в фоновом режиме. Эти обновления скачиваются в отдельный временный " -"каталог. Когда новые профили становятся доступны, они предлагаются при " -"запуске приложения." +"Если включено, %s будет загружать обновления встроенных системных профилей в " +"фоновом режиме. Эти обновления загружаются в отдельную временную папку. Когда новые " +"профили становятся доступны, они предлагаются при запуске приложения." -#: src/slic3r/GUI/ConfigWizard.cpp:1152 +#: src/slic3r/GUI/ConfigWizard.cpp:1161 msgid "" "Updates are never applied without user's consent and never overwrite user's " "customized settings." @@ -761,685 +751,725 @@ msgstr "" "Обновления никогда не применяются без согласия пользователя и никогда не " "перезаписывают пользовательские настройки." -#: src/slic3r/GUI/ConfigWizard.cpp:1157 +#: src/slic3r/GUI/ConfigWizard.cpp:1166 msgid "" -"Additionally a backup snapshot of the whole configuration is created before " -"an update is applied." +"Additionally a backup snapshot of the whole configuration is created before an " +"update is applied." msgstr "" -"Кроме того, перед обновлением создаётся резервная копия всех настроек " -"(снапшот)." +"Кроме того, перед обновлением создаётся резервная копия всей конфигурации (снапшот)." -#: src/slic3r/GUI/ConfigWizard.cpp:1164 src/slic3r/GUI/GUI_ObjectList.cpp:1793 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4439 src/slic3r/GUI/Plater.cpp:3091 -#: src/slic3r/GUI/Plater.cpp:3924 src/slic3r/GUI/Plater.cpp:3955 +#: src/slic3r/GUI/ConfigWizard.cpp:1173 src/slic3r/GUI/GUI_ObjectList.cpp:1825 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4567 src/slic3r/GUI/Plater.cpp:3116 +#: src/slic3r/GUI/Plater.cpp:4001 src/slic3r/GUI/Plater.cpp:4032 msgid "Reload from disk" msgstr "Перезагрузить с диска" -#: src/slic3r/GUI/ConfigWizard.cpp:1167 -msgid "" -"Export full pathnames of models and parts sources into 3mf and amf files" -msgstr "" -"Экспортировать полные имена источников моделей и частей в файлы 3mf и amf" +#: src/slic3r/GUI/ConfigWizard.cpp:1176 +msgid "Export full pathnames of models and parts sources into 3mf and amf files" +msgstr "При экспорте в 3mf и amf, сохранять полные пути к исходным файлам" -#: src/slic3r/GUI/ConfigWizard.cpp:1171 +#: src/slic3r/GUI/ConfigWizard.cpp:1180 msgid "" -"If enabled, allows the Reload from disk command to automatically find and " -"load the files when invoked.\n" -"If not enabled, the Reload from disk command will ask to select each file " -"using an open file dialog." +"If enabled, allows the Reload from disk command to automatically find and load the " +"files when invoked.\n" +"If not enabled, the Reload from disk command will ask to select each file using an " +"open file dialog." msgstr "" -"Если включено, команда перезагрузки с диска автоматически будет находить и " -"загружать файлы при вызове.\n" -"Если выключено, то команда перезагрузки с диска будет запрашивать каждый " -"файл через окно диалога открытия файлов." +"Если включено, при выполнении команды \"Перезагрузить с диска\" программа будут " +"автоматически находить и загружать файлы проекта. \n" +"В противном случае, будет предложено выбрать каждый файл с помощью диалогового окна " +"открытия файла." -#: src/slic3r/GUI/ConfigWizard.cpp:1181 +#: src/slic3r/GUI/ConfigWizard.cpp:1190 msgid "Files association" -msgstr "" +msgstr "Ассоциация файлов" -#: src/slic3r/GUI/ConfigWizard.cpp:1183 src/slic3r/GUI/Preferences.cpp:91 +#: src/slic3r/GUI/ConfigWizard.cpp:1192 src/slic3r/GUI/Preferences.cpp:112 msgid "Associate .3mf files to PrusaSlicer" -msgstr "" +msgstr "Ассоциировать файлы .3mf с PrusaSlicer" -#: src/slic3r/GUI/ConfigWizard.cpp:1184 src/slic3r/GUI/Preferences.cpp:98 +#: src/slic3r/GUI/ConfigWizard.cpp:1193 src/slic3r/GUI/Preferences.cpp:119 msgid "Associate .stl files to PrusaSlicer" -msgstr "" +msgstr "Ассоциировать файлы .stl с PrusaSlicer" -#: src/slic3r/GUI/ConfigWizard.cpp:1195 +#: src/slic3r/GUI/ConfigWizard.cpp:1204 msgid "View mode" msgstr "Режим просмотра" -#: src/slic3r/GUI/ConfigWizard.cpp:1197 +#: src/slic3r/GUI/ConfigWizard.cpp:1206 msgid "" "PrusaSlicer's user interfaces comes in three variants:\n" "Simple, Advanced, and Expert.\n" -"The Simple mode shows only the most frequently used settings relevant for " -"regular 3D printing. The other two offer progressively more sophisticated " -"fine-tuning, they are suitable for advanced and expert users, respectively." -msgstr "" -"В PrusaSlicer есть три режима пользовательского интерфейса:\n" -"простой, расширенный и экспертный.\n" -"В простом режиме показываются только наиболее часто употребляемые настройки " -"обычной печати 3D. В других двух по нарастающей предлагаются дополнительные " -"технически сложные параметры для точной настройки; эти режимы подходят для " -"понимающих процесс и экспертных пользователей." - -#: src/slic3r/GUI/ConfigWizard.cpp:1202 -msgid "Simple mode" -msgstr "Простой режим" - -#: src/slic3r/GUI/ConfigWizard.cpp:1203 -msgid "Advanced mode" -msgstr "Расширенный режим" - -#: src/slic3r/GUI/ConfigWizard.cpp:1204 -msgid "Expert mode" -msgstr "Экспертный режим" - -#: src/slic3r/GUI/ConfigWizard.cpp:1210 -msgid "The size of the object can be specified in inches" +"The Simple mode shows only the most frequently used settings relevant for regular " +"3D printing. The other two offer progressively more sophisticated fine-tuning, they " +"are suitable for advanced and expert users, respectively." msgstr "" +"Пользовательский интерфейс PrusaSlicer представлен тремя вариантами:\n" +"Простой, Расширенный, Продвинутый.\n" +"В простом режиме отображаются только наиболее часто используемые параметры 3D-" +"печати. Два других предлагают более тонкую расширенную настройку. Они подходят для " +"продвинутых и опытных пользователей." #: src/slic3r/GUI/ConfigWizard.cpp:1211 -msgid "Use inches" -msgstr "" +msgid "Simple mode" +msgstr "Простой" -#: src/slic3r/GUI/ConfigWizard.cpp:1245 +#: src/slic3r/GUI/ConfigWizard.cpp:1212 +msgid "Advanced mode" +msgstr "Расширенный" + +#: src/slic3r/GUI/ConfigWizard.cpp:1213 +msgid "Expert mode" +msgstr "Продвинутый" + +#: src/slic3r/GUI/ConfigWizard.cpp:1219 +msgid "The size of the object can be specified in inches" +msgstr "Размер модели может быть указан в дюймах" + +#: src/slic3r/GUI/ConfigWizard.cpp:1220 +msgid "Use inches" +msgstr "Использовать дюймы" + +#: src/slic3r/GUI/ConfigWizard.cpp:1254 msgid "Other Vendors" msgstr "Другие производители" -#: src/slic3r/GUI/ConfigWizard.cpp:1249 +#: src/slic3r/GUI/ConfigWizard.cpp:1258 #, c-format msgid "Pick another vendor supported by %s" -msgstr "Выберите другого производителя, поддерживаемого %s" +msgstr "Выберите другого производителя, поддерживающего %s" -#: src/slic3r/GUI/ConfigWizard.cpp:1280 +#: src/slic3r/GUI/ConfigWizard.cpp:1289 msgid "Firmware Type" msgstr "Тип прошивки" -#: src/slic3r/GUI/ConfigWizard.cpp:1280 src/slic3r/GUI/Tab.cpp:2172 +#: src/slic3r/GUI/ConfigWizard.cpp:1289 src/slic3r/GUI/Tab.cpp:2172 msgid "Firmware" msgstr "Прошивка" -#: src/slic3r/GUI/ConfigWizard.cpp:1284 +#: src/slic3r/GUI/ConfigWizard.cpp:1293 msgid "Choose the type of firmware used by your printer." msgstr "Выберите тип прошивки вашего принтера." -#: src/slic3r/GUI/ConfigWizard.cpp:1318 +#: src/slic3r/GUI/ConfigWizard.cpp:1327 msgid "Bed Shape and Size" -msgstr "Форма и размеры" +msgstr "Форма и размеры стола" -#: src/slic3r/GUI/ConfigWizard.cpp:1321 +#: src/slic3r/GUI/ConfigWizard.cpp:1330 msgid "Set the shape of your printer's bed." -msgstr "Задайте форму и размеры платформы принтера." +msgstr "Задайте форму и размеры вашего стола." -#: src/slic3r/GUI/ConfigWizard.cpp:1341 +#: src/slic3r/GUI/ConfigWizard.cpp:1350 msgid "Filament and Nozzle Diameters" msgstr "Диаметр прутка и сопла" -#: src/slic3r/GUI/ConfigWizard.cpp:1341 +#: src/slic3r/GUI/ConfigWizard.cpp:1350 msgid "Print Diameters" msgstr "Диаметры печати" -#: src/slic3r/GUI/ConfigWizard.cpp:1355 +#: src/slic3r/GUI/ConfigWizard.cpp:1364 msgid "Enter the diameter of your printer's hot end nozzle." msgstr "Введите диаметр сопла." -#: src/slic3r/GUI/ConfigWizard.cpp:1358 +#: src/slic3r/GUI/ConfigWizard.cpp:1367 msgid "Nozzle Diameter:" msgstr "Диаметр сопла:" -#: src/slic3r/GUI/ConfigWizard.cpp:1368 +#: src/slic3r/GUI/ConfigWizard.cpp:1377 msgid "Enter the diameter of your filament." msgstr "Введите диаметр прутка." -#: src/slic3r/GUI/ConfigWizard.cpp:1369 +#: src/slic3r/GUI/ConfigWizard.cpp:1378 msgid "" -"Good precision is required, so use a caliper and do multiple measurements " -"along the filament, then compute the average." +"Good precision is required, so use a caliper and do multiple measurements along the " +"filament, then compute the average." msgstr "" "Необходима хорошая точность, поэтому используйте штангенциркуль и выполните " "несколько измерений вдоль прутка, а затем вычислите среднее значение." -#: src/slic3r/GUI/ConfigWizard.cpp:1372 +#: src/slic3r/GUI/ConfigWizard.cpp:1381 msgid "Filament Diameter:" msgstr "Диаметр прутка:" -#: src/slic3r/GUI/ConfigWizard.cpp:1406 +#: src/slic3r/GUI/ConfigWizard.cpp:1415 msgid "Nozzle and Bed Temperatures" -msgstr "" +msgstr "Температуры сопла и стола" -#: src/slic3r/GUI/ConfigWizard.cpp:1406 +#: src/slic3r/GUI/ConfigWizard.cpp:1415 msgid "Temperatures" -msgstr "Температуры" +msgstr "Температура" -#: src/slic3r/GUI/ConfigWizard.cpp:1422 +#: src/slic3r/GUI/ConfigWizard.cpp:1431 msgid "Enter the temperature needed for extruding your filament." -msgstr "Введите температуру, которая требуется для экструзии прутка." +msgstr "Введите температуру, требуемую для экструзии прутка." -#: src/slic3r/GUI/ConfigWizard.cpp:1423 +#: src/slic3r/GUI/ConfigWizard.cpp:1432 msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." msgstr "Как правило для PLA это 160-230 °C, а для ABS 215-250 °C." -#: src/slic3r/GUI/ConfigWizard.cpp:1426 +#: src/slic3r/GUI/ConfigWizard.cpp:1435 msgid "Extrusion Temperature:" msgstr "Температура экструзии:" -#: src/slic3r/GUI/ConfigWizard.cpp:1427 src/slic3r/GUI/ConfigWizard.cpp:1441 -#: src/libslic3r/PrintConfig.cpp:187 src/libslic3r/PrintConfig.cpp:933 -#: src/libslic3r/PrintConfig.cpp:977 src/libslic3r/PrintConfig.cpp:2262 +#: src/slic3r/GUI/ConfigWizard.cpp:1436 src/slic3r/GUI/ConfigWizard.cpp:1450 +#: src/libslic3r/PrintConfig.cpp:202 src/libslic3r/PrintConfig.cpp:950 +#: src/libslic3r/PrintConfig.cpp:994 src/libslic3r/PrintConfig.cpp:2294 msgid "°C" msgstr "°C" -#: src/slic3r/GUI/ConfigWizard.cpp:1436 +#: src/slic3r/GUI/ConfigWizard.cpp:1445 msgid "" -"Enter the bed temperature needed for getting your filament to stick to your " +"Enter the bed temperature needed for getting your filament to stick to your heated " +"bed." +msgstr "" +"Введите температуру стола, необходимую для того, чтобы пруток прилипал к нему." + +#: src/slic3r/GUI/ConfigWizard.cpp:1446 +msgid "" +"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have no " "heated bed." msgstr "" -"Введите температуру платформы, необходимую для того, чтобы пруток прилипал к " -"ней." +"Как правило для PLA это 60 °C, а для ABS 110 °С. Если у вас не подогреваемый стол, " +"установите 0." -#: src/slic3r/GUI/ConfigWizard.cpp:1437 -msgid "" -"A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " -"no heated bed." -msgstr "" -"Как правило для PLA это 60 °C, а для ABS 110 °С. Если у вас платформы без " -"подогрева, оставьте 0." - -#: src/slic3r/GUI/ConfigWizard.cpp:1440 +#: src/slic3r/GUI/ConfigWizard.cpp:1449 msgid "Bed Temperature:" -msgstr "Температура платформы:" +msgstr "Температура стола:" -#: src/slic3r/GUI/ConfigWizard.cpp:1900 src/slic3r/GUI/ConfigWizard.cpp:2572 +#: src/slic3r/GUI/ConfigWizard.cpp:1909 src/slic3r/GUI/ConfigWizard.cpp:2582 msgid "Filaments" -msgstr "Прутки" +msgstr "Пластиковые нити (прутки)" -#: src/slic3r/GUI/ConfigWizard.cpp:1900 src/slic3r/GUI/ConfigWizard.cpp:2574 +#: src/slic3r/GUI/ConfigWizard.cpp:1909 src/slic3r/GUI/ConfigWizard.cpp:2584 msgid "SLA Materials" -msgstr "Материалы SLA" +msgstr "SLA материалы (фотополимерная смола)" -#: src/slic3r/GUI/ConfigWizard.cpp:1954 +#: src/slic3r/GUI/ConfigWizard.cpp:1963 msgid "FFF Technology Printers" -msgstr "Принтеры с технологией печати FFF" +msgstr "Принтеры, печатающие по технологии методом наплавления нитей (FFF)" -#: src/slic3r/GUI/ConfigWizard.cpp:1959 +#: src/slic3r/GUI/ConfigWizard.cpp:1968 msgid "SLA Technology Printers" -msgstr "Принтеры с технологией печати SLA" +msgstr "Принтеры, печатающие по технологии масочной ЖК-стереолитографии (SLA)" -#: src/slic3r/GUI/ConfigWizard.cpp:2265 src/slic3r/GUI/DoubleSlider.cpp:2207 -#: src/slic3r/GUI/DoubleSlider.cpp:2227 src/slic3r/GUI/GUI.cpp:244 +#: src/slic3r/GUI/ConfigWizard.cpp:2274 src/slic3r/GUI/DoubleSlider.cpp:2245 +#: src/slic3r/GUI/DoubleSlider.cpp:2265 src/slic3r/GUI/GUI.cpp:244 msgid "Notice" msgstr "Примечание" -#: src/slic3r/GUI/ConfigWizard.cpp:2285 +#: src/slic3r/GUI/ConfigWizard.cpp:2295 msgid "The following FFF printer models have no filament selected:" -msgstr "Для следующих моделей принтеров FFF не указаны прутки:" +msgstr "В следующих моделях FFF принтеров не выбран пруток:" -#: src/slic3r/GUI/ConfigWizard.cpp:2289 +#: src/slic3r/GUI/ConfigWizard.cpp:2299 msgid "Do you want to select default filaments for these FFF printer models?" -msgstr "Хотите выбрать прутки по умолчанию для этих моделей принтеров FFF?" +msgstr "Выбрать пруки по умолчанию для этих моделей FFF принтеров?" -#: src/slic3r/GUI/ConfigWizard.cpp:2303 +#: src/slic3r/GUI/ConfigWizard.cpp:2313 msgid "The following SLA printer models have no materials selected:" -msgstr "Для следующих моделей принтеров SLA не указан материал:" +msgstr "В следующих моделях SLA принтеров не выбрана фотополимерная смола:" -#: src/slic3r/GUI/ConfigWizard.cpp:2307 +#: src/slic3r/GUI/ConfigWizard.cpp:2317 msgid "Do you want to select default SLA materials for these printer models?" -msgstr "Хотите выбрать материалы по умолчанию для этих моделей принтеров SLA?" +msgstr "Выбрать фотополимерный смолы по умолчанию для этих моделей SLA принтеров?" -#: src/slic3r/GUI/ConfigWizard.cpp:2535 +#: src/slic3r/GUI/ConfigWizard.cpp:2545 msgid "Select all standard printers" msgstr "Выбрать все стандартные принтеры" -#: src/slic3r/GUI/ConfigWizard.cpp:2538 +#: src/slic3r/GUI/ConfigWizard.cpp:2548 msgid "< &Back" msgstr "< &Назад" -#: src/slic3r/GUI/ConfigWizard.cpp:2539 +#: src/slic3r/GUI/ConfigWizard.cpp:2549 msgid "&Next >" msgstr "&Далее >" -#: src/slic3r/GUI/ConfigWizard.cpp:2540 +#: src/slic3r/GUI/ConfigWizard.cpp:2550 msgid "&Finish" msgstr "&Завершить" -#: src/slic3r/GUI/ConfigWizard.cpp:2541 src/slic3r/GUI/FirmwareDialog.cpp:151 +#: src/slic3r/GUI/ConfigWizard.cpp:2551 src/slic3r/GUI/FirmwareDialog.cpp:151 #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:248 -#: src/slic3r/GUI/ProgressStatusBar.cpp:26 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:650 +#: src/slic3r/GUI/ProgressStatusBar.cpp:26 src/slic3r/GUI/UnsavedChangesDialog.cpp:656 msgid "Cancel" msgstr "Отмена" -#: src/slic3r/GUI/ConfigWizard.cpp:2554 +#: src/slic3r/GUI/ConfigWizard.cpp:2564 msgid "Prusa FFF Technology Printers" -msgstr "Принтеры Prusa с технологией печати FFF" +msgstr "Принтеры Prusa, печатающие по технологии методом наплавления нитей (FFF)" -#: src/slic3r/GUI/ConfigWizard.cpp:2557 +#: src/slic3r/GUI/ConfigWizard.cpp:2567 msgid "Prusa MSLA Technology Printers" -msgstr "Принтеры Prusa с технологией печати MSLA" +msgstr "Принтеры Prusa, печатающие по технологии масочной ЖК-стереолитографии (MSLA)" -#: src/slic3r/GUI/ConfigWizard.cpp:2572 +#: src/slic3r/GUI/ConfigWizard.cpp:2582 msgid "Filament Profiles Selection" msgstr "Выбор профилей прутка" -#: src/slic3r/GUI/ConfigWizard.cpp:2572 src/slic3r/GUI/ConfigWizard.cpp:2574 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4016 +#: src/slic3r/GUI/ConfigWizard.cpp:2582 src/slic3r/GUI/ConfigWizard.cpp:2584 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4144 msgid "Type:" msgstr "Тип:" -#: src/slic3r/GUI/ConfigWizard.cpp:2574 +#: src/slic3r/GUI/ConfigWizard.cpp:2584 msgid "SLA Material Profiles Selection" -msgstr "Выбор профилей материалов SLA" +msgstr "Выбор профилей фотополимерной смолы (SLA)" -#: src/slic3r/GUI/ConfigWizard.cpp:2677 +#: src/slic3r/GUI/ConfigWizard.cpp:2701 msgid "Configuration Assistant" msgstr "Помощник по настройке" -#: src/slic3r/GUI/ConfigWizard.cpp:2678 +#: src/slic3r/GUI/ConfigWizard.cpp:2702 msgid "Configuration &Assistant" -msgstr "Помощник по настройке" +msgstr "Помощник по &настройке" -#: src/slic3r/GUI/ConfigWizard.cpp:2680 +#: src/slic3r/GUI/ConfigWizard.cpp:2704 msgid "Configuration Wizard" msgstr "Мастер настройки" -#: src/slic3r/GUI/ConfigWizard.cpp:2681 +#: src/slic3r/GUI/ConfigWizard.cpp:2705 msgid "Configuration &Wizard" -msgstr "Мастер настройки" +msgstr "&Мастер настройки" -#: src/slic3r/GUI/DoubleSlider.cpp:96 +#: src/slic3r/GUI/DoubleSlider.cpp:97 msgid "Place bearings in slots and resume printing" -msgstr "" +msgstr "Поместите в посадочное место необходимую деталь и возобновите печать" -#: src/slic3r/GUI/DoubleSlider.cpp:1211 +#: src/slic3r/GUI/DoubleSlider.cpp:1224 msgid "One layer mode" -msgstr "Однослойный режим" - -#: src/slic3r/GUI/DoubleSlider.cpp:1213 -msgid "Discard all custom changes" -msgstr "Отбросить все пользовательские изменения" - -#: src/slic3r/GUI/DoubleSlider.cpp:1217 src/slic3r/GUI/DoubleSlider.cpp:1960 -msgid "Jump to move" -msgstr "" - -#: src/slic3r/GUI/DoubleSlider.cpp:1220 -#, c-format -msgid "" -"Jump to height %s Set ruler mode\n" -" or Set extruder sequence for the entire print" -msgstr "" - -#: src/slic3r/GUI/DoubleSlider.cpp:1222 -#, c-format -msgid "Jump to height %s or Set ruler mode" -msgstr "" +msgstr "Режим одного слоя" #: src/slic3r/GUI/DoubleSlider.cpp:1226 -msgid "Edit current color - Right click the colored slider segment" -msgstr "Изменить текущий цвет — Правым щелчком по раскрашенной части ползунка" +msgid "Discard all custom changes" +msgstr "Отменить все пользовательские изменения" + +#: src/slic3r/GUI/DoubleSlider.cpp:1230 src/slic3r/GUI/DoubleSlider.cpp:1995 +msgid "Jump to move" +msgstr "Перейти к заданному перемещению" + +#: src/slic3r/GUI/DoubleSlider.cpp:1233 +#, c-format +msgid "" +"Jump to height %s\n" +"Set ruler mode\n" +"or Set extruder sequence for the entire print" +msgstr "" +"Перейти к заданной высоте %s\n" +"Задать режимы линейки\n" +"или задать последовательность экструдеров для всей печати" #: src/slic3r/GUI/DoubleSlider.cpp:1236 +#, c-format +msgid "" +"Jump to height %s\n" +"or Set ruler mode" +msgstr "" +"Перейти к заданной высоте %s\n" +"или задать режимы линейки" + +#: src/slic3r/GUI/DoubleSlider.cpp:1241 +msgid "Edit current color - Right click the colored slider segment" +msgstr "Изменить текущий цвет - Правая кнопка мыши по цветному сегменту ползунка ???" + +#: src/slic3r/GUI/DoubleSlider.cpp:1251 msgid "Print mode" -msgstr "Режим принтера" +msgstr "Режим печати" -#: src/slic3r/GUI/DoubleSlider.cpp:1250 +#: src/slic3r/GUI/DoubleSlider.cpp:1265 msgid "Add extruder change - Left click" -msgstr "Добавить \"Сменить экструдер\" - левый щелчок мыши" +msgstr "Добавить маркер смены экструдера - Левая кнопка мыши" -#: src/slic3r/GUI/DoubleSlider.cpp:1252 +#: src/slic3r/GUI/DoubleSlider.cpp:1267 msgid "" -"Add color change - Left click for predefined color or Shift + Left click for " -"custom color selection" +"Add color change - Left click for predefined color or Shift + Left click for custom " +"color selection" msgstr "" +"Добавить маркер смены цвета - Левая кнопка мыши для цвета из списка цветов по " +"умолчанию или Shift + Левая кнопка мыши для выбора своего цвета" -#: src/slic3r/GUI/DoubleSlider.cpp:1254 +#: src/slic3r/GUI/DoubleSlider.cpp:1269 msgid "Add color change - Left click" -msgstr "Добавить \"Сменить цвет\" - левый щелчок мыши" +msgstr "Добавить маркер смены цвета - Левая кнопка мыши" -#: src/slic3r/GUI/DoubleSlider.cpp:1255 +#: src/slic3r/GUI/DoubleSlider.cpp:1270 msgid "or press \"+\" key" -msgstr "" +msgstr "или клавиша \"+\"" -#: src/slic3r/GUI/DoubleSlider.cpp:1257 +#: src/slic3r/GUI/DoubleSlider.cpp:1272 msgid "Add another code - Ctrl + Left click" -msgstr "" - -#: src/slic3r/GUI/DoubleSlider.cpp:1258 -msgid "Add another code - Right click" -msgstr "" - -#: src/slic3r/GUI/DoubleSlider.cpp:1264 -msgid "" -"The sequential print is on.\n" -"It's impossible to apply any custom G-code for objects printing " -"sequentually.\n" -"This code won't be processed during G-code generation." -msgstr "" +msgstr "Для добавления другого кода - Ctrl + левая кнопка мыши" #: src/slic3r/GUI/DoubleSlider.cpp:1273 -msgid "Color change (\"%1%\")" -msgstr "Смена цвета («%1%»)" +msgid "Add another code - Right click" +msgstr "Для добавления другого кода - Правая кнопка мыши" -#: src/slic3r/GUI/DoubleSlider.cpp:1274 -msgid "Color change (\"%1%\") for Extruder %2%" -msgstr "Смена цвета («%1%») для экструдера %2%" - -#: src/slic3r/GUI/DoubleSlider.cpp:1276 -msgid "Pause print (\"%1%\")" -msgstr "Пауза печати («%1%»)" - -#: src/slic3r/GUI/DoubleSlider.cpp:1278 -msgid "Custom template (\"%1%\")" +#: src/slic3r/GUI/DoubleSlider.cpp:1279 +msgid "" +"The sequential print is on.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" +"This code won't be processed during G-code generation." msgstr "" +"Включена последовательная печать.\n" +"При последовательной печати, невозможно применение какого-либо пользовательского G-" +"кода.\n" +"Этот код не будет обрабатываться во время генерации G-кода." -#: src/slic3r/GUI/DoubleSlider.cpp:1280 +#: src/slic3r/GUI/DoubleSlider.cpp:1288 +msgid "Color change (\"%1%\")" +msgstr "Маркер смены цвета (\"%1%\")" + +#: src/slic3r/GUI/DoubleSlider.cpp:1289 +msgid "Color change (\"%1%\") for Extruder %2%" +msgstr "Смена цвета (\"%1%\") для экструдера %2%" + +#: src/slic3r/GUI/DoubleSlider.cpp:1291 +msgid "Pause print (\"%1%\")" +msgstr "Пауза печати (\"%1%\")" + +#: src/slic3r/GUI/DoubleSlider.cpp:1293 +msgid "Custom template (\"%1%\")" +msgstr "Пользовательский шаблон \"%1%\")" + +#: src/slic3r/GUI/DoubleSlider.cpp:1295 msgid "Extruder (tool) is changed to Extruder \"%1%\"" -msgstr "Экструдер (инструмент) сменен на экструдер «%1%»" +msgstr "Экструдер (инструмент) заменён на экструдер \"%1%\"" -#: src/slic3r/GUI/DoubleSlider.cpp:1287 +#: src/slic3r/GUI/DoubleSlider.cpp:1302 msgid "Note" msgstr "Примечание" -#: src/slic3r/GUI/DoubleSlider.cpp:1289 +#: src/slic3r/GUI/DoubleSlider.cpp:1304 msgid "" "G-code associated to this tick mark is in a conflict with print mode.\n" "Editing it will cause changes of Slider data." msgstr "" +"G-код, связанный с этим маркером, конфликтует с режимом печати.\n" +"Его редактирование приведёт к изменениям данных ползунка." -#: src/slic3r/GUI/DoubleSlider.cpp:1292 +#: src/slic3r/GUI/DoubleSlider.cpp:1307 msgid "" -"There is a color change for extruder that won't be used till the end of " -"print job.\n" +"There is a color change for extruder that won't be used till the end of print job.\n" "This code won't be processed during G-code generation." msgstr "" +"Произведена смена цвета для экструдера, который не будет использоваться до конца " +"печати.\n" +"Этот код не будет обрабатываться во время генерации G-кода." -#: src/slic3r/GUI/DoubleSlider.cpp:1295 +#: src/slic3r/GUI/DoubleSlider.cpp:1310 msgid "" "There is an extruder change set to the same extruder.\n" "This code won't be processed during G-code generation." msgstr "" +"Существующий экструдер заменён на тот же экструдер.\n" +"Этот код не будет обрабатываться во время генерации G-кода." -#: src/slic3r/GUI/DoubleSlider.cpp:1298 +#: src/slic3r/GUI/DoubleSlider.cpp:1313 msgid "" "There is a color change for extruder that has not been used before.\n" "Check your settings to avoid redundant color changes." msgstr "" +"Произведена смена цвета для экструдера, который ранее не использовался.\n" +"Проверьте настройки, чтобы избежать лишней смены цвета." -#: src/slic3r/GUI/DoubleSlider.cpp:1303 +#: src/slic3r/GUI/DoubleSlider.cpp:1318 msgid "Delete tick mark - Left click or press \"-\" key" msgstr "" +"Удалить маркер - Левая кнопка мыши \n" +"или клавиша \"-\"" -#: src/slic3r/GUI/DoubleSlider.cpp:1305 +#: src/slic3r/GUI/DoubleSlider.cpp:1320 msgid "Edit tick mark - Ctrl + Left click" -msgstr "" +msgstr "Редактировать маркер - Ctrl + левая кнопка мыши" -#: src/slic3r/GUI/DoubleSlider.cpp:1306 +#: src/slic3r/GUI/DoubleSlider.cpp:1321 msgid "Edit tick mark - Right click" -msgstr "" +msgstr "Редактировать маркер - Правая кнопка мыши" -#: src/slic3r/GUI/DoubleSlider.cpp:1406 src/slic3r/GUI/DoubleSlider.cpp:1440 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1832 src/slic3r/GUI/Tab.cpp:2527 +#: src/slic3r/GUI/DoubleSlider.cpp:1417 src/slic3r/GUI/DoubleSlider.cpp:1451 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1864 #, c-format msgid "Extruder %d" msgstr "Экструдер %d" -#: src/slic3r/GUI/DoubleSlider.cpp:1407 src/slic3r/GUI/GUI_ObjectList.cpp:1833 +#: src/slic3r/GUI/DoubleSlider.cpp:1418 src/slic3r/GUI/GUI_ObjectList.cpp:1865 msgid "active" msgstr "активный" -#: src/slic3r/GUI/DoubleSlider.cpp:1416 +#: src/slic3r/GUI/DoubleSlider.cpp:1427 msgid "Switch code to Change extruder" -msgstr "Изменить код на \"Сменить экструдер\"" +msgstr "Переключить код на смену экструдера" -#: src/slic3r/GUI/DoubleSlider.cpp:1416 src/slic3r/GUI/GUI_ObjectList.cpp:1800 +#: src/slic3r/GUI/DoubleSlider.cpp:1427 src/slic3r/GUI/GUI_ObjectList.cpp:1832 msgid "Change extruder" -msgstr "Сменить экструдер" +msgstr "Маркер смены экструдера" -#: src/slic3r/GUI/DoubleSlider.cpp:1417 +#: src/slic3r/GUI/DoubleSlider.cpp:1428 msgid "Change extruder (N/A)" -msgstr "Сменить экструдер (нед.)" +msgstr "Маркер смены экструдера (Нет данных)" -#: src/slic3r/GUI/DoubleSlider.cpp:1419 +#: src/slic3r/GUI/DoubleSlider.cpp:1430 msgid "Use another extruder" msgstr "Использовать другой экструдер" -#: src/slic3r/GUI/DoubleSlider.cpp:1441 +#: src/slic3r/GUI/DoubleSlider.cpp:1452 msgid "used" msgstr "используется" -#: src/slic3r/GUI/DoubleSlider.cpp:1449 +#: src/slic3r/GUI/DoubleSlider.cpp:1460 msgid "Switch code to Color change (%1%) for:" msgstr "Переключить код на смену цвета (%1%) для:" -#: src/slic3r/GUI/DoubleSlider.cpp:1450 +#: src/slic3r/GUI/DoubleSlider.cpp:1461 msgid "Add color change (%1%) for:" -msgstr "Добавить смену цвета (%1%) для:" +msgstr "Добавить маркер смены цвета (%1%) для:" -#: src/slic3r/GUI/DoubleSlider.cpp:1763 +#: src/slic3r/GUI/DoubleSlider.cpp:1797 msgid "Add color change" -msgstr "Добавить смену цвета" - -#: src/slic3r/GUI/DoubleSlider.cpp:1773 -msgid "Add pause print" -msgstr "Добавить паузу печати" - -#: src/slic3r/GUI/DoubleSlider.cpp:1777 -msgid "Add custom template" -msgstr "" - -#: src/slic3r/GUI/DoubleSlider.cpp:1780 -msgid "Add custom G-code" -msgstr "Добавить пользовательский G-код" - -#: src/slic3r/GUI/DoubleSlider.cpp:1798 -msgid "Edit color" -msgstr "Редактировать цвет" - -#: src/slic3r/GUI/DoubleSlider.cpp:1799 -msgid "Edit pause print message" -msgstr "Редактировать сообщение паузы печати" - -#: src/slic3r/GUI/DoubleSlider.cpp:1800 -msgid "Edit custom G-code" -msgstr "Редактировать пользовательский G-код" - -#: src/slic3r/GUI/DoubleSlider.cpp:1806 -msgid "Delete color change" -msgstr "Удалить смену цвета" - -#: src/slic3r/GUI/DoubleSlider.cpp:1807 -msgid "Delete tool change" -msgstr "Удалить смену инструмента" +msgstr "Добавить маркер смены цвета" #: src/slic3r/GUI/DoubleSlider.cpp:1808 +msgid "Add pause print" +msgstr "Добавить маркер паузы печати" + +#: src/slic3r/GUI/DoubleSlider.cpp:1812 +msgid "Add custom template" +msgstr "Добавить пользовательский шаблон" + +#: src/slic3r/GUI/DoubleSlider.cpp:1815 +msgid "Add custom G-code" +msgstr "Добавить маркер пользовательского G-кода" + +#: src/slic3r/GUI/DoubleSlider.cpp:1833 +msgid "Edit color" +msgstr "Изменить цвет" + +#: src/slic3r/GUI/DoubleSlider.cpp:1834 +msgid "Edit pause print message" +msgstr "Изменить сообщение при приостановке печати" + +#: src/slic3r/GUI/DoubleSlider.cpp:1835 +msgid "Edit custom G-code" +msgstr "Изменить пользовательский G-код" + +#: src/slic3r/GUI/DoubleSlider.cpp:1841 +msgid "Delete color change" +msgstr "Удалить маркер смены цвета" + +#: src/slic3r/GUI/DoubleSlider.cpp:1842 +msgid "Delete tool change" +msgstr "Удалить маркер смены инструмента" + +#: src/slic3r/GUI/DoubleSlider.cpp:1843 msgid "Delete pause print" msgstr "Удалить паузу печати" -#: src/slic3r/GUI/DoubleSlider.cpp:1809 +#: src/slic3r/GUI/DoubleSlider.cpp:1844 msgid "Delete custom G-code" msgstr "Удалить пользовательский G-код" -#: src/slic3r/GUI/DoubleSlider.cpp:1819 src/slic3r/GUI/DoubleSlider.cpp:1960 +#: src/slic3r/GUI/DoubleSlider.cpp:1854 src/slic3r/GUI/DoubleSlider.cpp:1995 msgid "Jump to height" -msgstr "Переместиться на высоту" +msgstr "Перейти на заданную высоту" -#: src/slic3r/GUI/DoubleSlider.cpp:1824 -msgid "Supprese show the ruler" -msgstr "" +#: src/slic3r/GUI/DoubleSlider.cpp:1859 +msgid "Hide ruler" +msgstr "Скрыть линейку" -#: src/slic3r/GUI/DoubleSlider.cpp:1828 +#: src/slic3r/GUI/DoubleSlider.cpp:1863 msgid "Show object height" -msgstr "" +msgstr "Показывать высоту модели" -#: src/slic3r/GUI/DoubleSlider.cpp:1828 +#: src/slic3r/GUI/DoubleSlider.cpp:1863 msgid "Show object height on the ruler" -msgstr "" +msgstr "Показывать высоту модели на линейке" -#: src/slic3r/GUI/DoubleSlider.cpp:1832 +#: src/slic3r/GUI/DoubleSlider.cpp:1867 msgid "Show estimated print time" -msgstr "" +msgstr "Показывать расчётное время печати" -#: src/slic3r/GUI/DoubleSlider.cpp:1832 +#: src/slic3r/GUI/DoubleSlider.cpp:1867 msgid "Show estimated print time on the ruler" -msgstr "" +msgstr "Показать расчётное время печати на линейке" -#: src/slic3r/GUI/DoubleSlider.cpp:1836 +#: src/slic3r/GUI/DoubleSlider.cpp:1871 msgid "Ruler mode" -msgstr "" +msgstr "Режим линейки" -#: src/slic3r/GUI/DoubleSlider.cpp:1836 +#: src/slic3r/GUI/DoubleSlider.cpp:1871 msgid "Set ruler mode" -msgstr "" +msgstr "Задать режим линейки" -#: src/slic3r/GUI/DoubleSlider.cpp:1841 +#: src/slic3r/GUI/DoubleSlider.cpp:1876 msgid "Set extruder sequence for the entire print" -msgstr "Установить последовательность экструдеров для всей печати" +msgstr "Задать последовательность экструдеров для всей печати" -#: src/slic3r/GUI/DoubleSlider.cpp:1927 +#: src/slic3r/GUI/DoubleSlider.cpp:1962 msgid "Enter custom G-code used on current layer" -msgstr "" +msgstr "Введите пользовательский G-код для текущего слоя" -#: src/slic3r/GUI/DoubleSlider.cpp:1928 +#: src/slic3r/GUI/DoubleSlider.cpp:1963 msgid "Custom G-code on current layer (%1% mm)." -msgstr "" +msgstr "Пользовательский G-код для текущего слоя (%1% мм)." -#: src/slic3r/GUI/DoubleSlider.cpp:1943 +#: src/slic3r/GUI/DoubleSlider.cpp:1978 msgid "Enter short message shown on Printer display when a print is paused" msgstr "" +"Введите короткое сообщение, которое будет отображаться на экране принтера при паузе " +"печати" -#: src/slic3r/GUI/DoubleSlider.cpp:1944 +#: src/slic3r/GUI/DoubleSlider.cpp:1979 msgid "Message for pause print on current layer (%1% mm)." -msgstr "" +msgstr "Сообщение при паузе печати на текущем слое (%1% мм)." -#: src/slic3r/GUI/DoubleSlider.cpp:1959 +#: src/slic3r/GUI/DoubleSlider.cpp:1994 msgid "Enter the move you want to jump to" -msgstr "" +msgstr "Введите нужное перемещение, на который хотите перейти" -#: src/slic3r/GUI/DoubleSlider.cpp:1959 +#: src/slic3r/GUI/DoubleSlider.cpp:1994 msgid "Enter the height you want to jump to" -msgstr "" +msgstr "Введите значение для перехода на нужную высоту" -#: src/slic3r/GUI/DoubleSlider.cpp:2201 +#: src/slic3r/GUI/DoubleSlider.cpp:2239 msgid "The last color change data was saved for a single extruder printing." msgstr "" -"Последние данные для смены цвет были сохранены для одноэкструдерной печати." +"Последние данные об изменении цвета были сохранены для одноэкструдерной печати." -#: src/slic3r/GUI/DoubleSlider.cpp:2202 src/slic3r/GUI/DoubleSlider.cpp:2217 +#: src/slic3r/GUI/DoubleSlider.cpp:2240 src/slic3r/GUI/DoubleSlider.cpp:2255 msgid "The last color change data was saved for a multi extruder printing." msgstr "" +"Последние данные об изменении цвета были сохранены для многоэкструдерной печати." -#: src/slic3r/GUI/DoubleSlider.cpp:2204 +#: src/slic3r/GUI/DoubleSlider.cpp:2242 msgid "Your current changes will delete all saved color changes." -msgstr "" +msgstr "Текущие изменения приведут к удалению всех сохранённых изменений цвета." -#: src/slic3r/GUI/DoubleSlider.cpp:2205 src/slic3r/GUI/DoubleSlider.cpp:2225 +#: src/slic3r/GUI/DoubleSlider.cpp:2243 src/slic3r/GUI/DoubleSlider.cpp:2263 msgid "Are you sure you want to continue?" -msgstr "" +msgstr "Вы действительно хотите продолжить?" -#: src/slic3r/GUI/DoubleSlider.cpp:2218 +#: src/slic3r/GUI/DoubleSlider.cpp:2256 msgid "" "Select YES if you want to delete all saved tool changes, \n" "NO if you want all tool changes switch to color changes, \n" "or CANCEL to leave it unchanged." msgstr "" +"Выберите ДА, если хотите удалить все данные о смене инструмента. \n" +"Если хотите переключить смену инструмента на изменение цвета, нажмите НЕТ \n" +"или ОТМЕНА, чтобы оставить всё без изменений." -#: src/slic3r/GUI/DoubleSlider.cpp:2221 +#: src/slic3r/GUI/DoubleSlider.cpp:2259 msgid "Do you want to delete all saved tool changes?" -msgstr "" +msgstr "Удалить все сохранённые данные о смене инструмента?" -#: src/slic3r/GUI/DoubleSlider.cpp:2223 +#: src/slic3r/GUI/DoubleSlider.cpp:2261 msgid "" "The last color change data was saved for a multi extruder printing with tool " "changes for whole print." msgstr "" +"Последние данные об изменении цвета были сохранены для многоэкструдерной печати со " +"сменой инструмента для всей печати." -#: src/slic3r/GUI/DoubleSlider.cpp:2224 +#: src/slic3r/GUI/DoubleSlider.cpp:2262 msgid "Your current changes will delete all saved extruder (tool) changes." msgstr "" +"Текущие изменения приведут к удалению всех сохранённых изменений экструдера " +"(инструмента)." -#: src/slic3r/GUI/ExtraRenderers.cpp:297 src/slic3r/GUI/GUI_ObjectList.cpp:496 -#: src/slic3r/GUI/GUI_ObjectList.cpp:508 src/slic3r/GUI/GUI_ObjectList.cpp:1015 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4454 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4464 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4499 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:209 +#: src/slic3r/GUI/ExtraRenderers.cpp:297 src/slic3r/GUI/GUI_ObjectList.cpp:512 +#: src/slic3r/GUI/GUI_ObjectList.cpp:524 src/slic3r/GUI/GUI_ObjectList.cpp:1033 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4582 src/slic3r/GUI/GUI_ObjectList.cpp:4592 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4627 src/slic3r/GUI/ObjectDataViewModel.cpp:209 #: src/slic3r/GUI/ObjectDataViewModel.cpp:266 #: src/slic3r/GUI/ObjectDataViewModel.cpp:291 -#: src/slic3r/GUI/ObjectDataViewModel.cpp:499 src/libslic3r/PrintConfig.cpp:537 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:499 src/libslic3r/PrintConfig.cpp:552 msgid "default" msgstr "по умолчанию" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:24 msgid "Set extruder sequence" -msgstr "Установить последовательность экструдеров" +msgstr "Задать последовательность экструдеров" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:40 msgid "Set extruder change for every" -msgstr "Установите смену экструдера для каждых" +msgstr "Задать смену экструдера на каждом" -#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:53 -#: src/libslic3r/PrintConfig.cpp:403 src/libslic3r/PrintConfig.cpp:1061 -#: src/libslic3r/PrintConfig.cpp:1686 src/libslic3r/PrintConfig.cpp:1851 -#: src/libslic3r/PrintConfig.cpp:1918 src/libslic3r/PrintConfig.cpp:2125 -#: src/libslic3r/PrintConfig.cpp:2171 +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:53 src/libslic3r/PrintConfig.cpp:418 +#: src/libslic3r/PrintConfig.cpp:1089 src/libslic3r/PrintConfig.cpp:1718 +#: src/libslic3r/PrintConfig.cpp:1883 src/libslic3r/PrintConfig.cpp:1950 +#: src/libslic3r/PrintConfig.cpp:2157 src/libslic3r/PrintConfig.cpp:2203 msgid "layers" -msgstr "слои" +msgstr "слой(-я)" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:137 msgid "Set extruder(tool) sequence" -msgstr "" +msgstr "Задать последовательность экструдеров (инструментов)" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:183 msgid "Remove extruder from sequence" -msgstr "" +msgstr "Удалить экструдер из последовательности" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:193 msgid "Add extruder to sequence" -msgstr "" +msgstr "Добавить экструдер в последовательность" -#: src/slic3r/GUI/Field.cpp:184 +#: src/slic3r/GUI/Field.cpp:197 msgid "default value" msgstr "значение по умолчанию" -#: src/slic3r/GUI/Field.cpp:187 +#: src/slic3r/GUI/Field.cpp:200 msgid "parameter name" msgstr "имя параметра" -#: src/slic3r/GUI/Field.cpp:198 src/slic3r/GUI/OptionsGroup.cpp:779 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:880 +#: src/slic3r/GUI/Field.cpp:211 src/slic3r/GUI/OptionsGroup.cpp:781 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:886 msgid "N/A" msgstr "Н/Д" -#: src/slic3r/GUI/Field.cpp:220 +#: src/slic3r/GUI/Field.cpp:233 #, c-format msgid "%s doesn't support percentage" -msgstr "%s не поддерживает значение в процентах" +msgstr "%s не поддерживает проценты" -#: src/slic3r/GUI/Field.cpp:240 src/slic3r/GUI/Field.cpp:276 -#: src/slic3r/GUI/Field.cpp:1430 src/slic3r/GUI/GUI_ObjectLayers.cpp:413 +#: src/slic3r/GUI/Field.cpp:253 src/slic3r/GUI/Field.cpp:307 +#: src/slic3r/GUI/Field.cpp:1520 src/slic3r/GUI/GUI_ObjectLayers.cpp:413 msgid "Invalid numeric input." msgstr "Неправильное числовое значение." -#: src/slic3r/GUI/Field.cpp:249 src/slic3r/GUI/Field.cpp:1442 +#: src/slic3r/GUI/Field.cpp:264 +#, c-format +msgid "" +"Input value is out of range\n" +"Are you sure that %s is a correct value and that you want to continue?" +msgstr "" +"Введённое значение вне диапазона\n" +"Вы уверены, что %s является правильным значением и что вы хотите продолжить?" + +#: src/slic3r/GUI/Field.cpp:266 src/slic3r/GUI/Field.cpp:326 +msgid "Parameter validation" +msgstr "Проверка правильности параметра" + +#: src/slic3r/GUI/Field.cpp:279 src/slic3r/GUI/Field.cpp:373 +#: src/slic3r/GUI/Field.cpp:1532 msgid "Input value is out of range" msgstr "Введённое значение вне диапазона" -#: src/slic3r/GUI/Field.cpp:292 +#: src/slic3r/GUI/Field.cpp:323 #, c-format msgid "" "Do you mean %s%% instead of %s %s?\n" "Select YES if you want to change this value to %s%%, \n" "or NO if you are sure that %s %s is a correct value." msgstr "" -"Вы имели ввиду %s%% вместо %s %s?\n" -"Выберите ДА, если хотите изменить это значение на %s%%, \n" -"или НЕТ, если %s %s действительно правильные значения." +"Вы имеете в виду %s%% вместо %s %s?\n" +"Выберите Да, если вы хотите изменить это значение на %s%%, \n" +"или Нет, если уверены, что %s %s является правильным значением." -#: src/slic3r/GUI/Field.cpp:295 -msgid "Parameter validation" -msgstr "Проверка корректности параметров" +#: src/slic3r/GUI/Field.cpp:381 +msgid "" +"Invalid input format. Expected vector of dimensions in the following format: \"%1%\"" +msgstr "" +"Неверный входной формат. Ожидаемый вектор размеров в следующем формате: \"%1%\"" #: src/slic3r/GUI/FirmwareDialog.cpp:150 msgid "Flash!" @@ -1447,23 +1477,23 @@ msgstr "Прошить!" #: src/slic3r/GUI/FirmwareDialog.cpp:152 msgid "Flashing in progress. Please do not disconnect the printer!" -msgstr "Выполняется прошивка. Не отключайте принтер!" +msgstr "Идёт прошивка. Пожалуйста, не отключайте принтер!" #: src/slic3r/GUI/FirmwareDialog.cpp:199 msgid "Flashing failed" -msgstr "Ошибка при прошивке" +msgstr "Не удалось выполнить прошивку" #: src/slic3r/GUI/FirmwareDialog.cpp:282 msgid "Flashing succeeded!" -msgstr "Прошивка завершена успешно!" +msgstr "Прошито успешно!" #: src/slic3r/GUI/FirmwareDialog.cpp:283 msgid "Flashing failed. Please see the avrdude log below." -msgstr "При прошивке возникла ошибка. Смотрите журнал avrdude ниже." +msgstr "Не удалось выполнить прошивку. Смотрите журнал avrdude ниже." #: src/slic3r/GUI/FirmwareDialog.cpp:284 msgid "Flashing cancelled." -msgstr "Прошивка отменена." +msgstr "Процесс прошивки отменён." #: src/slic3r/GUI/FirmwareDialog.cpp:332 #, c-format @@ -1475,18 +1505,19 @@ msgid "" "Do you want to continue and flash this hex file anyway?\n" "Please only continue if you are sure this is the right thing to do." msgstr "" -"Данный hex-файл прошивки не соответствует модели принтера.\n" -"Файл hex предназначен для: %s\n" -"Принтер выдаёт: %s\n" +"Данный hex-файл прошивки не соответствует модели принтера. \n" +"Файл предназначен для: %s\n" +"Принтер сообщил: %s\n" "\n" -"Хотите продолжить и всё равно прошить этот hex-файл?\n" -"Подумайте, всё ли правильно вы делаете." +"Вы все равно хотите прошить этот файл?\n" +"Пожалуйста, продолжайте лишь в том случае, если вы уверены в своих действиях." #: src/slic3r/GUI/FirmwareDialog.cpp:419 src/slic3r/GUI/FirmwareDialog.cpp:454 #, c-format -msgid "" -"Multiple %s devices found. Please only connect one at a time for flashing." -msgstr "Обнаружено несколько устройств %s. Для прошивки оставьте только одно." +msgid "Multiple %s devices found. Please only connect one at a time for flashing." +msgstr "" +"Найдено несколько устройств %s. Для прошивки оставьте только одно подключённое " +"устройство." #: src/slic3r/GUI/FirmwareDialog.cpp:436 #, c-format @@ -1496,7 +1527,7 @@ msgid "" "connector ..." msgstr "" "Устройство %s не найдено.\n" -"Если устройство подключено, то нажмите кнопку сброса около разъёма USB …" +"Если устройство подключено, нажмите кнопку Reset рядом с USB-разъёмом..." #: src/slic3r/GUI/FirmwareDialog.cpp:548 #, c-format @@ -1506,7 +1537,7 @@ msgstr "Не удалось найти устройство %s" #: src/slic3r/GUI/FirmwareDialog.cpp:645 #, c-format msgid "Error accessing port at %s: %s" -msgstr "Ошибка доступа по порту в %s: %s" +msgstr "Ошибка доступа к порту в %s: %s" #: src/slic3r/GUI/FirmwareDialog.cpp:647 #, c-format @@ -1519,10 +1550,9 @@ msgstr "Прошивальшик" #: src/slic3r/GUI/FirmwareDialog.cpp:802 msgid "Firmware image:" -msgstr "Файл прошивки:" +msgstr "Файл прошивки (*.hex):" -#: src/slic3r/GUI/FirmwareDialog.cpp:805 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:289 +#: src/slic3r/GUI/FirmwareDialog.cpp:805 src/slic3r/GUI/PhysicalPrinterDialog.cpp:289 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:364 msgid "Browse" msgstr "Обзор" @@ -1553,11 +1583,10 @@ msgstr "Готово" #: src/slic3r/GUI/FirmwareDialog.cpp:841 msgid "Advanced: Output log" -msgstr "Дополнительно: журнал результата" +msgstr "Дополнительно: журнал вывода" -#: src/slic3r/GUI/FirmwareDialog.cpp:852 -#: src/slic3r/GUI/Mouse3DController.cpp:552 -#: src/slic3r/GUI/PrintHostDialogs.cpp:187 +#: src/slic3r/GUI/FirmwareDialog.cpp:852 src/slic3r/GUI/Mouse3DController.cpp:551 +#: src/slic3r/GUI/PrintHostDialogs.cpp:189 msgid "Close" msgstr "Закрыть" @@ -1575,676 +1604,685 @@ msgstr "Подтверждение" #: src/slic3r/GUI/FirmwareDialog.cpp:906 msgid "Cancelling..." -msgstr "Отмена…" +msgstr "Отмена..." -#: src/slic3r/GUI/GCodeViewer.cpp:220 +#: src/slic3r/GUI/GCodeViewer.cpp:239 msgid "Tool position" -msgstr "" +msgstr "Положение инструмента" -#: src/slic3r/GUI/GCodeViewer.cpp:984 +#: src/slic3r/GUI/GCodeViewer.cpp:1016 msgid "Generating toolpaths" -msgstr "" +msgstr "Создание траекторий инструмента" -#: src/slic3r/GUI/GCodeViewer.cpp:1375 +#: src/slic3r/GUI/GCodeViewer.cpp:1405 msgid "Generating vertex buffer" -msgstr "" +msgstr "Генерация буфера вершин" -#: src/slic3r/GUI/GCodeViewer.cpp:1468 +#: src/slic3r/GUI/GCodeViewer.cpp:1496 msgid "Generating index buffers" -msgstr "" +msgstr "Генерация буферов индекса" -#: src/slic3r/GUI/GCodeViewer.cpp:2212 +#: src/slic3r/GUI/GCodeViewer.cpp:2225 msgid "Click to hide" -msgstr "" +msgstr "Нажмите, чтобы скрыть" -#: src/slic3r/GUI/GCodeViewer.cpp:2212 +#: src/slic3r/GUI/GCodeViewer.cpp:2225 msgid "Click to show" -msgstr "" +msgstr "Нажмите, чтобы отобразить" -#: src/slic3r/GUI/GCodeViewer.cpp:2324 +#: src/slic3r/GUI/GCodeViewer.cpp:2337 msgid "up to" -msgstr "" +msgstr "до" -#: src/slic3r/GUI/GCodeViewer.cpp:2330 +#: src/slic3r/GUI/GCodeViewer.cpp:2343 msgid "above" -msgstr "" +msgstr "после" -#: src/slic3r/GUI/GCodeViewer.cpp:2338 +#: src/slic3r/GUI/GCodeViewer.cpp:2351 msgid "from" -msgstr "" +msgstr "из" -#: src/slic3r/GUI/GCodeViewer.cpp:2338 +#: src/slic3r/GUI/GCodeViewer.cpp:2351 msgid "to" -msgstr "" +msgstr "в" -#: src/slic3r/GUI/GCodeViewer.cpp:2366 src/slic3r/GUI/GCodeViewer.cpp:2374 -#: src/slic3r/GUI/GUI_Preview.cpp:228 src/slic3r/GUI/GUI_Preview.cpp:526 +#: src/slic3r/GUI/GCodeViewer.cpp:2379 src/slic3r/GUI/GCodeViewer.cpp:2387 +#: src/slic3r/GUI/GUI_Preview.cpp:214 src/slic3r/GUI/GUI_Preview.cpp:533 +#: src/slic3r/GUI/GUI_Preview.cpp:942 msgid "Feature type" msgstr "Типы линий" -#: src/slic3r/GUI/GCodeViewer.cpp:2366 src/slic3r/GUI/GCodeViewer.cpp:2374 +#: src/slic3r/GUI/GCodeViewer.cpp:2379 src/slic3r/GUI/GCodeViewer.cpp:2387 #: src/slic3r/GUI/RammingChart.cpp:76 msgid "Time" msgstr "Время" -#: src/slic3r/GUI/GCodeViewer.cpp:2374 +#: src/slic3r/GUI/GCodeViewer.cpp:2387 msgid "Percentage" -msgstr "" +msgstr "Процент" -#: src/slic3r/GUI/GCodeViewer.cpp:2377 +#: src/slic3r/GUI/GCodeViewer.cpp:2390 msgid "Height (mm)" msgstr "Высота (мм)" -#: src/slic3r/GUI/GCodeViewer.cpp:2378 +#: src/slic3r/GUI/GCodeViewer.cpp:2391 msgid "Width (mm)" msgstr "Ширина (мм)" -#: src/slic3r/GUI/GCodeViewer.cpp:2379 +#: src/slic3r/GUI/GCodeViewer.cpp:2392 msgid "Speed (mm/s)" msgstr "Скорость (мм/с)" -#: src/slic3r/GUI/GCodeViewer.cpp:2380 +#: src/slic3r/GUI/GCodeViewer.cpp:2393 msgid "Fan Speed (%)" msgstr "Скорость вентилятора (%)" -#: src/slic3r/GUI/GCodeViewer.cpp:2381 +#: src/slic3r/GUI/GCodeViewer.cpp:2394 msgid "Volumetric flow rate (mm³/s)" msgstr "Объёмный расход (мм³/с)" -#: src/slic3r/GUI/GCodeViewer.cpp:2382 src/slic3r/GUI/GUI_Preview.cpp:234 -#: src/slic3r/GUI/GUI_Preview.cpp:341 src/slic3r/GUI/GUI_Preview.cpp:477 -#: src/slic3r/GUI/GUI_Preview.cpp:525 src/slic3r/GUI/GUI_Preview.cpp:850 +#: src/slic3r/GUI/GCodeViewer.cpp:2395 src/slic3r/GUI/GUI_Preview.cpp:220 +#: src/slic3r/GUI/GUI_Preview.cpp:326 src/slic3r/GUI/GUI_Preview.cpp:471 +#: src/slic3r/GUI/GUI_Preview.cpp:532 src/slic3r/GUI/GUI_Preview.cpp:878 +#: src/slic3r/GUI/GUI_Preview.cpp:942 msgid "Tool" msgstr "Инструмент" -#: src/slic3r/GUI/GCodeViewer.cpp:2383 src/slic3r/GUI/GUI_Preview.cpp:235 -#: src/slic3r/GUI/GUI_Preview.cpp:523 +#: src/slic3r/GUI/GCodeViewer.cpp:2396 src/slic3r/GUI/GUI_Preview.cpp:221 +#: src/slic3r/GUI/GUI_Preview.cpp:530 src/slic3r/GUI/GUI_Preview.cpp:941 msgid "Color Print" msgstr "Цвет печати" -#: src/slic3r/GUI/GCodeViewer.cpp:2419 src/slic3r/GUI/GCodeViewer.cpp:2454 -#: src/slic3r/GUI/GCodeViewer.cpp:2459 src/slic3r/GUI/GUI_ObjectList.cpp:296 -#: src/slic3r/GUI/wxExtensions.cpp:515 src/libslic3r/PrintConfig.cpp:532 +#: src/slic3r/GUI/GCodeViewer.cpp:2432 src/slic3r/GUI/GCodeViewer.cpp:2467 +#: src/slic3r/GUI/GCodeViewer.cpp:2472 src/slic3r/GUI/GUI_ObjectList.cpp:312 +#: src/slic3r/GUI/wxExtensions.cpp:519 src/libslic3r/PrintConfig.cpp:547 msgid "Extruder" msgstr "Экструдер" -#: src/slic3r/GUI/GCodeViewer.cpp:2430 +#: src/slic3r/GUI/GCodeViewer.cpp:2443 msgid "Default color" -msgstr "" +msgstr "Цвет по умолчанию" -#: src/slic3r/GUI/GCodeViewer.cpp:2454 +#: src/slic3r/GUI/GCodeViewer.cpp:2467 msgid "default color" -msgstr "" +msgstr "цвет по умолчанию" -#: src/slic3r/GUI/GCodeViewer.cpp:2549 src/slic3r/GUI/GCodeViewer.cpp:2595 +#: src/slic3r/GUI/GCodeViewer.cpp:2562 src/slic3r/GUI/GCodeViewer.cpp:2608 msgid "Color change" -msgstr "" +msgstr "Смена цвета" -#: src/slic3r/GUI/GCodeViewer.cpp:2568 src/slic3r/GUI/GCodeViewer.cpp:2593 +#: src/slic3r/GUI/GCodeViewer.cpp:2581 src/slic3r/GUI/GCodeViewer.cpp:2606 msgid "Print" -msgstr "" +msgstr "Печать" -#: src/slic3r/GUI/GCodeViewer.cpp:2594 src/slic3r/GUI/GCodeViewer.cpp:2611 +#: src/slic3r/GUI/GCodeViewer.cpp:2607 src/slic3r/GUI/GCodeViewer.cpp:2624 msgid "Pause" msgstr "Пауза" -#: src/slic3r/GUI/GCodeViewer.cpp:2599 src/slic3r/GUI/GCodeViewer.cpp:2602 +#: src/slic3r/GUI/GCodeViewer.cpp:2612 src/slic3r/GUI/GCodeViewer.cpp:2615 msgid "Event" -msgstr "" +msgstr "Событие" -#: src/slic3r/GUI/GCodeViewer.cpp:2599 src/slic3r/GUI/GCodeViewer.cpp:2602 +#: src/slic3r/GUI/GCodeViewer.cpp:2612 src/slic3r/GUI/GCodeViewer.cpp:2615 msgid "Remaining time" -msgstr "" +msgstr "Точное время печати" -#: src/slic3r/GUI/GCodeViewer.cpp:2602 +#: src/slic3r/GUI/GCodeViewer.cpp:2615 msgid "Duration" -msgstr "" +msgstr "Продолжительность" -#: src/slic3r/GUI/GCodeViewer.cpp:2637 src/slic3r/GUI/GUI_Preview.cpp:976 -#: src/libslic3r/PrintConfig.cpp:2348 +#: src/slic3r/GUI/GCodeViewer.cpp:2650 src/slic3r/GUI/GUI_Preview.cpp:1023 +#: src/libslic3r/PrintConfig.cpp:2380 msgid "Travel" msgstr "Перемещение" -#: src/slic3r/GUI/GCodeViewer.cpp:2640 +#: src/slic3r/GUI/GCodeViewer.cpp:2653 msgid "Movement" -msgstr "" +msgstr "Перемещение" -#: src/slic3r/GUI/GCodeViewer.cpp:2641 +#: src/slic3r/GUI/GCodeViewer.cpp:2654 msgid "Extrusion" -msgstr "" +msgstr "Экструзия" -#: src/slic3r/GUI/GCodeViewer.cpp:2642 src/slic3r/GUI/Tab.cpp:1695 -#: src/slic3r/GUI/Tab.cpp:2577 +#: src/slic3r/GUI/GCodeViewer.cpp:2655 src/slic3r/GUI/Tab.cpp:1694 +#: src/slic3r/GUI/Tab.cpp:2582 msgid "Retraction" msgstr "Ретракт (втягивание)" -#: src/slic3r/GUI/GCodeViewer.cpp:2660 src/slic3r/GUI/GCodeViewer.cpp:2663 -#: src/slic3r/GUI/GUI_Preview.cpp:978 +#: src/slic3r/GUI/GCodeViewer.cpp:2672 src/slic3r/GUI/GCodeViewer.cpp:2675 +#: src/slic3r/GUI/GUI_Preview.cpp:1024 msgid "Wipe" -msgstr "" +msgstr "Очистка" -#: src/slic3r/GUI/GCodeViewer.cpp:2695 src/slic3r/GUI/GUI_Preview.cpp:262 -#: src/slic3r/GUI/GUI_Preview.cpp:278 +#: src/slic3r/GUI/GCodeViewer.cpp:2706 src/slic3r/GUI/GUI_Preview.cpp:248 +#: src/slic3r/GUI/GUI_Preview.cpp:262 msgid "Options" -msgstr "" +msgstr "Опции" -#: src/slic3r/GUI/GCodeViewer.cpp:2698 src/slic3r/GUI/GUI_Preview.cpp:980 +#: src/slic3r/GUI/GCodeViewer.cpp:2709 src/slic3r/GUI/GUI_Preview.cpp:1025 msgid "Retractions" msgstr "Ретракт" -#: src/slic3r/GUI/GCodeViewer.cpp:2699 src/slic3r/GUI/GUI_Preview.cpp:981 +#: src/slic3r/GUI/GCodeViewer.cpp:2710 src/slic3r/GUI/GUI_Preview.cpp:1026 msgid "Deretractions" -msgstr "" +msgstr "Подача (выдавливание)" -#: src/slic3r/GUI/GCodeViewer.cpp:2700 src/slic3r/GUI/GUI_Preview.cpp:982 +#: src/slic3r/GUI/GCodeViewer.cpp:2711 src/slic3r/GUI/GUI_Preview.cpp:1027 msgid "Tool changes" -msgstr "" +msgstr "Смена инструмента" -#: src/slic3r/GUI/GCodeViewer.cpp:2701 src/slic3r/GUI/GUI_Preview.cpp:983 +#: src/slic3r/GUI/GCodeViewer.cpp:2712 src/slic3r/GUI/GUI_Preview.cpp:1028 msgid "Color changes" -msgstr "" +msgstr "Смена цвета" -#: src/slic3r/GUI/GCodeViewer.cpp:2702 src/slic3r/GUI/GUI_Preview.cpp:984 +#: src/slic3r/GUI/GCodeViewer.cpp:2713 src/slic3r/GUI/GUI_Preview.cpp:1029 msgid "Print pauses" -msgstr "" +msgstr "Паузы печати" -#: src/slic3r/GUI/GCodeViewer.cpp:2703 src/slic3r/GUI/GUI_Preview.cpp:985 +#: src/slic3r/GUI/GCodeViewer.cpp:2714 src/slic3r/GUI/GUI_Preview.cpp:1030 msgid "Custom G-codes" -msgstr "" +msgstr "Пользовательский G-код" -#: src/slic3r/GUI/GCodeViewer.cpp:2714 src/slic3r/GUI/GCodeViewer.cpp:2738 -#: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/PrintConfig.cpp:113 +#: src/slic3r/GUI/GCodeViewer.cpp:2725 src/slic3r/GUI/GCodeViewer.cpp:2749 +#: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/PrintConfig.cpp:117 msgid "Printer" -msgstr "Принтер" +msgstr "Профиль принтера" -#: src/slic3r/GUI/GCodeViewer.cpp:2716 src/slic3r/GUI/GCodeViewer.cpp:2743 +#: src/slic3r/GUI/GCodeViewer.cpp:2727 src/slic3r/GUI/GCodeViewer.cpp:2754 #: src/slic3r/GUI/Plater.cpp:693 msgid "Print settings" -msgstr "Настройки печати" +msgstr "Профиль печати" -#: src/slic3r/GUI/GCodeViewer.cpp:2719 src/slic3r/GUI/GCodeViewer.cpp:2749 -#: src/slic3r/GUI/Plater.cpp:694 src/slic3r/GUI/Tab.cpp:1795 -#: src/slic3r/GUI/Tab.cpp:1796 +#: src/slic3r/GUI/GCodeViewer.cpp:2730 src/slic3r/GUI/GCodeViewer.cpp:2760 +#: src/slic3r/GUI/Plater.cpp:694 src/slic3r/GUI/Tab.cpp:1794 +#: src/slic3r/GUI/Tab.cpp:1795 msgid "Filament" -msgstr "Пруток" +msgstr "Профиль прутка" -#: src/slic3r/GUI/GCodeViewer.cpp:2774 src/slic3r/GUI/GCodeViewer.cpp:2779 +#: src/slic3r/GUI/GCodeViewer.cpp:2785 src/slic3r/GUI/GCodeViewer.cpp:2790 #: src/slic3r/GUI/Plater.cpp:242 src/slic3r/GUI/Plater.cpp:1135 #: src/slic3r/GUI/Plater.cpp:1220 msgid "Estimated printing time" msgstr "Расчётное время печати" -#: src/slic3r/GUI/GCodeViewer.cpp:2774 +#: src/slic3r/GUI/GCodeViewer.cpp:2785 msgid "Normal mode" msgstr "Нормальный режим" -#: src/slic3r/GUI/GCodeViewer.cpp:2779 +#: src/slic3r/GUI/GCodeViewer.cpp:2790 msgid "Stealth mode" msgstr "Тихий режим" -#: src/slic3r/GUI/GCodeViewer.cpp:2806 +#: src/slic3r/GUI/GCodeViewer.cpp:2817 msgid "Show stealth mode" -msgstr "Показывать нормальный режим" +msgstr "Показать в тихом режиме" -#: src/slic3r/GUI/GCodeViewer.cpp:2810 +#: src/slic3r/GUI/GCodeViewer.cpp:2821 msgid "Show normal mode" -msgstr "Показывать тихий режим" +msgstr "Показать в нормальном режиме" -#: src/slic3r/GUI/GLCanvas3D.cpp:228 src/slic3r/GUI/GLCanvas3D.cpp:4470 +#: src/slic3r/GUI/GLCanvas3D.cpp:236 src/slic3r/GUI/GLCanvas3D.cpp:4610 msgid "Variable layer height" -msgstr "Переменная высота слоя" +msgstr "Переменная высота слоёв" -#: src/slic3r/GUI/GLCanvas3D.cpp:230 +#: src/slic3r/GUI/GLCanvas3D.cpp:238 msgid "Left mouse button:" -msgstr "Левая кнопку мыши:" +msgstr "Левая кнопка мыши:" -#: src/slic3r/GUI/GLCanvas3D.cpp:232 +#: src/slic3r/GUI/GLCanvas3D.cpp:240 msgid "Add detail" -msgstr "" +msgstr "Увеличить детализацию" -#: src/slic3r/GUI/GLCanvas3D.cpp:234 +#: src/slic3r/GUI/GLCanvas3D.cpp:242 msgid "Right mouse button:" msgstr "Правая кнопка мыши:" -#: src/slic3r/GUI/GLCanvas3D.cpp:236 -msgid "Remove detail" -msgstr "Убрать подробности" - -#: src/slic3r/GUI/GLCanvas3D.cpp:238 -msgid "Shift + Left mouse button:" -msgstr "" - -#: src/slic3r/GUI/GLCanvas3D.cpp:240 -msgid "Reset to base" -msgstr "" - -#: src/slic3r/GUI/GLCanvas3D.cpp:242 -msgid "Shift + Right mouse button:" -msgstr "" - #: src/slic3r/GUI/GLCanvas3D.cpp:244 +msgid "Remove detail" +msgstr "Уменьшить детализацию" + +#: src/slic3r/GUI/GLCanvas3D.cpp:246 +msgid "Shift + Left mouse button:" +msgstr "Shift + Левая кнопка мыши:" + +#: src/slic3r/GUI/GLCanvas3D.cpp:248 +msgid "Reset to base" +msgstr "Сброс до базовой высоты слоя" + +#: src/slic3r/GUI/GLCanvas3D.cpp:250 +msgid "Shift + Right mouse button:" +msgstr "Shift + Правая кнопка мыши:" + +#: src/slic3r/GUI/GLCanvas3D.cpp:252 msgid "Smoothing" msgstr "Сглаживание" -#: src/slic3r/GUI/GLCanvas3D.cpp:246 +#: src/slic3r/GUI/GLCanvas3D.cpp:254 msgid "Mouse wheel:" msgstr "Колесо мыши:" -#: src/slic3r/GUI/GLCanvas3D.cpp:248 +#: src/slic3r/GUI/GLCanvas3D.cpp:256 msgid "Increase/decrease edit area" -msgstr "" +msgstr "Увелич. /уменьш. области редактирования" -#: src/slic3r/GUI/GLCanvas3D.cpp:251 +#: src/slic3r/GUI/GLCanvas3D.cpp:259 msgid "Adaptive" -msgstr "Адаптивный" +msgstr "Адаптивная" -#: src/slic3r/GUI/GLCanvas3D.cpp:257 +#: src/slic3r/GUI/GLCanvas3D.cpp:265 msgid "Quality / Speed" msgstr "Качество / Скорость" -#: src/slic3r/GUI/GLCanvas3D.cpp:260 +#: src/slic3r/GUI/GLCanvas3D.cpp:268 msgid "Higher print quality versus higher print speed." -msgstr "" +msgstr "Выбор между высоким качеством печати или высокой скоростью." -#: src/slic3r/GUI/GLCanvas3D.cpp:271 +#: src/slic3r/GUI/GLCanvas3D.cpp:279 msgid "Smooth" -msgstr "" +msgstr "Сгладить" -#: src/slic3r/GUI/GLCanvas3D.cpp:277 src/libslic3r/PrintConfig.cpp:556 +#: src/slic3r/GUI/GLCanvas3D.cpp:285 src/libslic3r/PrintConfig.cpp:571 msgid "Radius" msgstr "Радиус" -#: src/slic3r/GUI/GLCanvas3D.cpp:287 +#: src/slic3r/GUI/GLCanvas3D.cpp:295 msgid "Keep min" -msgstr "" +msgstr "Сохранять минимумы" -#: src/slic3r/GUI/GLCanvas3D.cpp:296 src/slic3r/GUI/GLCanvas3D.cpp:3908 +#: src/slic3r/GUI/GLCanvas3D.cpp:304 src/slic3r/GUI/GLCanvas3D.cpp:4050 msgid "Reset" msgstr "Сброс" -#: src/slic3r/GUI/GLCanvas3D.cpp:558 +#: src/slic3r/GUI/GLCanvas3D.cpp:566 msgid "Variable layer height - Manual edit" -msgstr "Переменная высота слоёв - Ручная правка" +msgstr "Переменная высота слоёв - Ручное редактирование" -#: src/slic3r/GUI/GLCanvas3D.cpp:626 +#: src/slic3r/GUI/GLCanvas3D.cpp:634 msgid "An object outside the print area was detected." -msgstr "" +msgstr "Обнаружена модель вне области печати." -#: src/slic3r/GUI/GLCanvas3D.cpp:627 +#: src/slic3r/GUI/GLCanvas3D.cpp:635 msgid "A toolpath outside the print area was detected." -msgstr "" +msgstr "Траектория движения инструмента выходит за пределы области печати." -#: src/slic3r/GUI/GLCanvas3D.cpp:628 +#: src/slic3r/GUI/GLCanvas3D.cpp:636 msgid "SLA supports outside the print area were detected." -msgstr "" +msgstr "Обнаружены SLA поддержки вне области печати." -#: src/slic3r/GUI/GLCanvas3D.cpp:629 +#: src/slic3r/GUI/GLCanvas3D.cpp:637 msgid "Some objects are not visible." -msgstr "" +msgstr "Некоторые модели не отображаются." -#: src/slic3r/GUI/GLCanvas3D.cpp:631 +#: src/slic3r/GUI/GLCanvas3D.cpp:639 msgid "" "An object outside the print area was detected.\n" "Resolve the current problem to continue slicing." msgstr "" +"Обнаружена модель вне области печати. \n" +"Решите текущую проблему, чтобы продолжить нарезку." -#: src/slic3r/GUI/GLCanvas3D.cpp:941 +#: src/slic3r/GUI/GLCanvas3D.cpp:949 msgid "Seq." -msgstr "" +msgstr "Очерёдность печати" -#: src/slic3r/GUI/GLCanvas3D.cpp:1416 +#: src/slic3r/GUI/GLCanvas3D.cpp:1455 msgid "Variable layer height - Reset" -msgstr "Переменная высота слоя - Сброс" +msgstr "Переменная высота слоёв - Сброс" -#: src/slic3r/GUI/GLCanvas3D.cpp:1424 +#: src/slic3r/GUI/GLCanvas3D.cpp:1463 msgid "Variable layer height - Adaptive" -msgstr "Переменная высота слоя - Адаптивная" +msgstr "Переменная высота слоёв - Адаптивная" -#: src/slic3r/GUI/GLCanvas3D.cpp:1432 +#: src/slic3r/GUI/GLCanvas3D.cpp:1471 msgid "Variable layer height - Smooth all" -msgstr "Переменная высота слоя - Сглаживание всех" +msgstr "Переменная высота слоёв - Сгладить всё" -#: src/slic3r/GUI/GLCanvas3D.cpp:1831 +#: src/slic3r/GUI/GLCanvas3D.cpp:1876 msgid "Mirror Object" -msgstr "Отразить обект" +msgstr "Отражение модели" -#: src/slic3r/GUI/GLCanvas3D.cpp:2682 -#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:520 +#: src/slic3r/GUI/GLCanvas3D.cpp:2746 src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:520 msgid "Gizmo-Move" -msgstr "" +msgstr "Гизмо перемещения" -#: src/slic3r/GUI/GLCanvas3D.cpp:2760 -#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:522 +#: src/slic3r/GUI/GLCanvas3D.cpp:2832 src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:522 msgid "Gizmo-Rotate" -msgstr "Повернуть" +msgstr "Гизмо поворота" -#: src/slic3r/GUI/GLCanvas3D.cpp:3275 +#: src/slic3r/GUI/GLCanvas3D.cpp:3388 msgid "Move Object" -msgstr "Переместить объект" +msgstr "Перемещение модели" -#: src/slic3r/GUI/GLCanvas3D.cpp:3744 src/slic3r/GUI/GLCanvas3D.cpp:4431 +#: src/slic3r/GUI/GLCanvas3D.cpp:3858 src/slic3r/GUI/GLCanvas3D.cpp:4571 msgid "Switch to Settings" -msgstr "" +msgstr "Переключение настроек" -#: src/slic3r/GUI/GLCanvas3D.cpp:3745 src/slic3r/GUI/GLCanvas3D.cpp:4431 +#: src/slic3r/GUI/GLCanvas3D.cpp:3859 src/slic3r/GUI/GLCanvas3D.cpp:4571 msgid "Print Settings Tab" -msgstr "" +msgstr "Вкладка настройки печати" -#: src/slic3r/GUI/GLCanvas3D.cpp:3746 src/slic3r/GUI/GLCanvas3D.cpp:4432 +#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4572 msgid "Filament Settings Tab" -msgstr "" +msgstr "Вкладка настройки прутка" -#: src/slic3r/GUI/GLCanvas3D.cpp:3746 src/slic3r/GUI/GLCanvas3D.cpp:4432 +#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4572 msgid "Material Settings Tab" -msgstr "" +msgstr "Вкладка настройки материала" -#: src/slic3r/GUI/GLCanvas3D.cpp:3747 src/slic3r/GUI/GLCanvas3D.cpp:4433 +#: src/slic3r/GUI/GLCanvas3D.cpp:3861 src/slic3r/GUI/GLCanvas3D.cpp:4573 msgid "Printer Settings Tab" -msgstr "" +msgstr "Вкладка настройки принтера" -#: src/slic3r/GUI/GLCanvas3D.cpp:3795 +#: src/slic3r/GUI/GLCanvas3D.cpp:3909 msgid "Undo History" -msgstr "Откатить по истории" +msgstr "История отмен" -#: src/slic3r/GUI/GLCanvas3D.cpp:3795 +#: src/slic3r/GUI/GLCanvas3D.cpp:3909 msgid "Redo History" -msgstr "Вернуть по истории" +msgstr "История повторов" -#: src/slic3r/GUI/GLCanvas3D.cpp:3816 +#: src/slic3r/GUI/GLCanvas3D.cpp:3930 #, c-format msgid "Undo %1$d Action" msgid_plural "Undo %1$d Actions" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Отмена %1$d действия" +msgstr[1] "Отмена %1$d действий" +msgstr[2] "Отмена %1$d действий" -#: src/slic3r/GUI/GLCanvas3D.cpp:3816 +#: src/slic3r/GUI/GLCanvas3D.cpp:3930 #, c-format msgid "Redo %1$d Action" msgid_plural "Redo %1$d Actions" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" +msgstr[0] "Повтор %1$d действия" +msgstr[1] "Повтор %1$d действий" +msgstr[2] "Повтор %1$d действий" -#: src/slic3r/GUI/GLCanvas3D.cpp:3836 src/slic3r/GUI/GLCanvas3D.cpp:4449 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 src/slic3r/GUI/Search.cpp:351 +#: src/slic3r/GUI/GLCanvas3D.cpp:3950 src/slic3r/GUI/GLCanvas3D.cpp:4589 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:98 src/slic3r/GUI/Search.cpp:351 msgid "Search" msgstr "Поиск" -#: src/slic3r/GUI/GLCanvas3D.cpp:3850 src/slic3r/GUI/GLCanvas3D.cpp:3858 +#: src/slic3r/GUI/GLCanvas3D.cpp:3964 src/slic3r/GUI/GLCanvas3D.cpp:3972 #: src/slic3r/GUI/Search.cpp:358 msgid "Enter a search term" -msgstr "" +msgstr "Ввод поискового запроса" -#: src/slic3r/GUI/GLCanvas3D.cpp:3889 +#: src/slic3r/GUI/GLCanvas3D.cpp:4003 msgid "Arrange options" -msgstr "" +msgstr "Параметры расстановки" -#: src/slic3r/GUI/GLCanvas3D.cpp:3896 -msgid "Gap size" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:4033 +msgid "Press %1%left mouse button to enter the exact value" +msgstr "Нажмите %1% левую кнопку мыши для ввода точного значения" -#: src/slic3r/GUI/GLCanvas3D.cpp:3901 +#: src/slic3r/GUI/GLCanvas3D.cpp:4035 +msgid "Spacing" +msgstr "Расстояние" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4042 msgid "Enable rotations (slow)" -msgstr "" +msgstr "Разрешить вращение (замедление)" -#: src/slic3r/GUI/GLCanvas3D.cpp:3920 src/slic3r/GUI/GLCanvas3D.cpp:4341 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 src/slic3r/GUI/Plater.cpp:1645 +#: src/slic3r/GUI/GLCanvas3D.cpp:4060 src/slic3r/GUI/GLCanvas3D.cpp:4481 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 src/slic3r/GUI/Plater.cpp:1648 msgid "Arrange" msgstr "Расставить" -#: src/slic3r/GUI/GLCanvas3D.cpp:4315 +#: src/slic3r/GUI/GLCanvas3D.cpp:4455 msgid "Add..." msgstr "Добавить..." -#: src/slic3r/GUI/GLCanvas3D.cpp:4323 src/slic3r/GUI/GUI_ObjectList.cpp:1846 -#: src/slic3r/GUI/Plater.cpp:3921 src/slic3r/GUI/Plater.cpp:3945 -#: src/slic3r/GUI/Tab.cpp:3474 +#: src/slic3r/GUI/GLCanvas3D.cpp:4463 src/slic3r/GUI/GUI_ObjectList.cpp:1878 +#: src/slic3r/GUI/Plater.cpp:3998 src/slic3r/GUI/Plater.cpp:4022 +#: src/slic3r/GUI/Tab.cpp:3484 msgid "Delete" msgstr "Удалить" -#: src/slic3r/GUI/GLCanvas3D.cpp:4332 src/slic3r/GUI/KBShortcutsDialog.cpp:116 -#: src/slic3r/GUI/Plater.cpp:5025 +#: src/slic3r/GUI/GLCanvas3D.cpp:4472 src/slic3r/GUI/KBShortcutsDialog.cpp:88 +#: src/slic3r/GUI/Plater.cpp:5107 msgid "Delete all" msgstr "Удалить всё" -#: src/slic3r/GUI/GLCanvas3D.cpp:4341 src/slic3r/GUI/KBShortcutsDialog.cpp:144 +#: src/slic3r/GUI/GLCanvas3D.cpp:4481 src/slic3r/GUI/KBShortcutsDialog.cpp:121 msgid "Arrange selection" -msgstr "Расставить выделенное" +msgstr "Расставить только выбранные модели" -#: src/slic3r/GUI/GLCanvas3D.cpp:4341 +#: src/slic3r/GUI/GLCanvas3D.cpp:4481 msgid "Click right mouse button to show arrangement options" -msgstr "" +msgstr "Правая кнопку мыши, чтобы отобразить параметры расстановки" -#: src/slic3r/GUI/GLCanvas3D.cpp:4363 +#: src/slic3r/GUI/GLCanvas3D.cpp:4503 msgid "Copy" msgstr "Копировать" -#: src/slic3r/GUI/GLCanvas3D.cpp:4372 +#: src/slic3r/GUI/GLCanvas3D.cpp:4512 msgid "Paste" msgstr "Вставить" -#: src/slic3r/GUI/GLCanvas3D.cpp:4384 src/slic3r/GUI/Plater.cpp:3780 -#: src/slic3r/GUI/Plater.cpp:3792 src/slic3r/GUI/Plater.cpp:3930 +#: src/slic3r/GUI/GLCanvas3D.cpp:4524 src/slic3r/GUI/Plater.cpp:3857 +#: src/slic3r/GUI/Plater.cpp:3869 src/slic3r/GUI/Plater.cpp:4007 msgid "Add instance" -msgstr "Добавить экземпляр" +msgstr "Добавить копию" -#: src/slic3r/GUI/GLCanvas3D.cpp:4395 src/slic3r/GUI/Plater.cpp:3932 +#: src/slic3r/GUI/GLCanvas3D.cpp:4535 src/slic3r/GUI/Plater.cpp:4009 msgid "Remove instance" -msgstr "Удалить экземпляр" +msgstr "Удалить копию" -#: src/slic3r/GUI/GLCanvas3D.cpp:4408 +#: src/slic3r/GUI/GLCanvas3D.cpp:4548 msgid "Split to objects" -msgstr "Разбить на объекты" +msgstr "Разделить на модели" -#: src/slic3r/GUI/GLCanvas3D.cpp:4418 src/slic3r/GUI/GUI_ObjectList.cpp:1618 +#: src/slic3r/GUI/GLCanvas3D.cpp:4558 src/slic3r/GUI/GUI_ObjectList.cpp:1650 msgid "Split to parts" -msgstr "Разбить на части" +msgstr "Разделить на части" -#: src/slic3r/GUI/GLCanvas3D.cpp:4520 src/slic3r/GUI/KBShortcutsDialog.cpp:117 -#: src/slic3r/GUI/MainFrame.cpp:1129 +#: src/slic3r/GUI/GLCanvas3D.cpp:4660 src/slic3r/GUI/KBShortcutsDialog.cpp:89 +#: src/slic3r/GUI/MainFrame.cpp:1125 msgid "Undo" -msgstr "Отменить" +msgstr "Отмена действия" -#: src/slic3r/GUI/GLCanvas3D.cpp:4520 src/slic3r/GUI/GLCanvas3D.cpp:4559 +#: src/slic3r/GUI/GLCanvas3D.cpp:4660 src/slic3r/GUI/GLCanvas3D.cpp:4699 msgid "Click right mouse button to open/close History" -msgstr "Щелчок по правой кнопке мыши открывает/закрывает историю действий" +msgstr "Правая кнопку мыши, чтобы показать/скрыть историю действий" -#: src/slic3r/GUI/GLCanvas3D.cpp:4543 +#: src/slic3r/GUI/GLCanvas3D.cpp:4683 msgid "Next Undo action: %1%" -msgstr "Следующее отменяемое действие: %1%" +msgstr "Следующее действие отмены: %1%" -#: src/slic3r/GUI/GLCanvas3D.cpp:4559 src/slic3r/GUI/KBShortcutsDialog.cpp:118 -#: src/slic3r/GUI/MainFrame.cpp:1132 +#: src/slic3r/GUI/GLCanvas3D.cpp:4699 src/slic3r/GUI/KBShortcutsDialog.cpp:90 +#: src/slic3r/GUI/MainFrame.cpp:1128 msgid "Redo" -msgstr "Вернуть" +msgstr "Повтор действия" -#: src/slic3r/GUI/GLCanvas3D.cpp:4581 +#: src/slic3r/GUI/GLCanvas3D.cpp:4721 msgid "Next Redo action: %1%" -msgstr "Следующее возвращаемое действие: %1%" +msgstr "Следующее действие повтора: %1%" -#: src/slic3r/GUI/GLCanvas3D.cpp:6203 +#: src/slic3r/GUI/GLCanvas3D.cpp:6345 msgid "Selection-Add from rectangle" -msgstr "" +msgstr "Выбор\\Добавление из прямоугольника" -#: src/slic3r/GUI/GLCanvas3D.cpp:6222 +#: src/slic3r/GUI/GLCanvas3D.cpp:6364 msgid "Selection-Remove from rectangle" -msgstr "" +msgstr "Выбор\\Удаление из прямоугольника" -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:48 -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:146 src/libslic3r/PrintConfig.cpp:3655 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:54 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:151 +#: src/libslic3r/PrintConfig.cpp:3690 msgid "Cut" -msgstr "Обрезать" +msgstr "Разрезать" -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:170 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:179 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:341 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:418 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:486 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:487 +msgid "in" +msgstr "дюйм" + +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:185 msgid "Keep upper part" msgstr "Оставить верхнюю часть" -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:171 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:186 msgid "Keep lower part" msgstr "Оставить нижнюю часть" -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:172 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:187 msgid "Rotate lower part upwards" -msgstr "Повернуть нижней частью вверх" +msgstr "Развернуть нижнюю часть" -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:177 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:192 msgid "Perform cut" -msgstr "Выполнить обрезку" +msgstr "Выполнить разрез" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:33 msgid "Paint-on supports" -msgstr "" +msgstr "Рисование поддержек" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:42 -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:49 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:25 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:49 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:25 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:57 msgid "Clipping of view" -msgstr "" +msgstr "Отсечение вида" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:43 -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:50 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:26 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:50 src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:26 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:58 msgid "Reset direction" -msgstr "Сбросить направление" +msgstr "Сброс направления" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:44 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:27 msgid "Brush size" -msgstr "" +msgstr "Размер кисти" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:45 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:28 msgid "Brush shape" -msgstr "" +msgstr "Форма кисти" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:46 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:29 msgid "Left mouse button" -msgstr "" +msgstr "Левая кнопка мыши" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:47 msgid "Enforce supports" -msgstr "" +msgstr "Принудительная поддержка" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:48 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:31 msgid "Right mouse button" -msgstr "" +msgstr "Правая кнопка мыши" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:49 #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:373 msgid "Block supports" -msgstr "" +msgstr "Блокировка поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:50 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:33 msgid "Shift + Left mouse button" -msgstr "" +msgstr "Shift + Левая кнопка мыши" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:51 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:34 #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:368 #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:378 msgid "Remove selection" -msgstr "" +msgstr "Удалить выделенное" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:52 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:35 msgid "Remove all selection" -msgstr "" +msgstr "Удалить всё выделенное" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:53 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:36 msgid "Circle" -msgstr "" +msgstr "Круг" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:54 -#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:37 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1563 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:37 src/slic3r/GUI/GUI_ObjectList.cpp:1595 msgid "Sphere" msgstr "Сфера" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:129 msgid "Autoset by angle" -msgstr "" +msgstr "Автоустановка по углу" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:136 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:118 msgid "Reset selection" -msgstr "" +msgstr "Сброс выбранного" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:160 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:141 msgid "Alt + Mouse wheel" -msgstr "" +msgstr "Alt + Колесо мыши" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:178 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:159 msgid "Paints all facets inside, regardless of their orientation." -msgstr "" +msgstr "Закрашивает все грани внутри, независимо от их ориентации." #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:192 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:173 msgid "Ignores facets facing away from the camera." -msgstr "" +msgstr "Игнорирует грани, обращённые в сторону от камеры." #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:225 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:203 msgid "Ctrl + Mouse wheel" -msgstr "" +msgstr "Ctrl + Колесо мыши" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:233 msgid "Autoset custom supports" -msgstr "" +msgstr "Автоустановка пользовательских поддержек ???" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:235 msgid "Threshold:" -msgstr "" +msgstr "Порог:" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:242 msgid "Enforce" -msgstr "" +msgstr "Принудительная" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:245 msgid "Block" -msgstr "" +msgstr "Блокировка" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:295 msgid "Block supports by angle" -msgstr "" +msgstr "Блокировка поддержек по углу" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:296 msgid "Add supports by angle" -msgstr "" +msgstr "Добавление поддержек по углу" #: src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp:40 msgid "Place on face" -msgstr "Положить гранью" +msgstr "Поверхностью на стол" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:40 msgid "Hollow this object" -msgstr "" +msgstr "Пустотелая модель" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:41 msgid "Preview hollowed and drilled model" -msgstr "" +msgstr "Предпросмотр полости и отверстий в модели" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:42 msgid "Offset" msgstr "Смещение" -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:43 -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:56 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:43 src/slic3r/GUI/Jobs/SLAImportJob.cpp:56 msgid "Quality" msgstr "Качество" -#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:44 -#: src/libslic3r/PrintConfig.cpp:3151 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:44 src/libslic3r/PrintConfig.cpp:3183 msgid "Closing distance" -msgstr "Расстояние закрытия" +msgstr "Расстояние смыкания полости" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:45 msgid "Hole diameter" @@ -2252,7 +2290,7 @@ msgstr "Диаметр отверстия" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:46 msgid "Hole depth" -msgstr "" +msgstr "Глубина отверстия" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:47 msgid "Remove selected holes" @@ -2264,73 +2302,71 @@ msgstr "Удалить все отверстия" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:51 msgid "Show supports" -msgstr "Показать поддержки" +msgstr "Отображать поддержку" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:308 msgid "Add drainage hole" -msgstr "" +msgstr "Добавление отверстия" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:424 msgid "Delete drainage hole" -msgstr "Удалить дренажное отверстие" +msgstr "Удаление отверстия" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:624 msgid "Hollowing parameter change" -msgstr "" +msgstr "Изменение параметров пустотелой модели" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:693 msgid "Change drainage hole diameter" -msgstr "Изменить диаметр дренажного отверстия" +msgstr "Изменение диаметра отверстия" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:785 msgid "Hollow and drill" -msgstr "" +msgstr "Пустотелая модель и отверстия" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:835 msgid "Move drainage hole" -msgstr "" +msgstr "Перемещение отверстия" #: src/slic3r/GUI/Gizmos/GLGizmoMove.cpp:64 msgid "Move" -msgstr "Переместить" +msgstr "Перемещение" #: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:461 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:527 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:546 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:562 -#: src/libslic3r/PrintConfig.cpp:3704 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:562 src/libslic3r/PrintConfig.cpp:3739 msgid "Rotate" -msgstr "Повернуть" +msgstr "Поворот" #: src/slic3r/GUI/Gizmos/GLGizmoScale.cpp:78 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:238 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:547 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:563 -#: src/libslic3r/PrintConfig.cpp:3719 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:563 src/libslic3r/PrintConfig.cpp:3754 msgid "Scale" -msgstr "Масштабировать" +msgstr "Масштаб " #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:30 #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:381 msgid "Enforce seam" -msgstr "" +msgstr "Принудительный шов" #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:32 #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:383 msgid "Block seam" -msgstr "" +msgstr "Блокировка шва" #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:46 msgid "Seam painting" -msgstr "" +msgstr "Рисование шва" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:47 msgid "Head diameter" -msgstr "Диаметр головы" +msgstr "Диаметр носика поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:48 msgid "Lock supports under new islands" -msgstr "" +msgstr "Блокировка поддержки под новые острова" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:49 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1218 @@ -2344,30 +2380,29 @@ msgstr "Удалить все точки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:51 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1221 msgid "Apply changes" -msgstr "Выполнить изменения" +msgstr "Применить изменения" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:52 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1222 msgid "Discard changes" -msgstr "Отбросить изменения" +msgstr "Отменить изменения" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:53 msgid "Minimal points distance" -msgstr "" +msgstr "Мин. расстояние м/у точками" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:54 -#: src/libslic3r/PrintConfig.cpp:2981 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:54 src/libslic3r/PrintConfig.cpp:3013 msgid "Support points density" -msgstr "Плотность опорных точек" +msgstr "Плотность точек поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:55 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1224 msgid "Auto-generate points" -msgstr "Автоматическая генерация точек" +msgstr "Сгенерировать точки автоматически" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:56 msgid "Manual editing" -msgstr "Правка вручную" +msgstr "Ручное редактирование" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:374 msgid "Add support point" @@ -2379,23 +2414,23 @@ msgstr "Удалить точку поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:694 msgid "Change point head diameter" -msgstr "" +msgstr "Изменение диаметра носика поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:762 msgid "Support parameter change" -msgstr "" +msgstr "Изменение параметра поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:869 msgid "SLA Support Points" -msgstr "Точки поддержек SLA" +msgstr "Точки SLA поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:897 msgid "SLA gizmo turned on" -msgstr "" +msgstr "Гизмо SLA включено" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:911 msgid "Do you want to save your manually edited support points?" -msgstr "" +msgstr "Сохранить отредактированные вручную точки поддержки?" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:912 msgid "Save changes?" @@ -2403,48 +2438,49 @@ msgstr "Сохранить изменения?" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:924 msgid "SLA gizmo turned off" -msgstr "" +msgstr "Гизмо SLA отключено" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:955 msgid "Move support point" -msgstr "Переместить точку поддержки" +msgstr "Перемещение точки поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1048 msgid "Support points edit" -msgstr "Правка точек поддержки" +msgstr "Редактирование точек поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1127 msgid "Autogeneration will erase all manually edited points." -msgstr "" +msgstr "Автогенерация сотрёт все опорные точки, отредактированные вручную." #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1128 msgid "Are you sure you want to do it?" -msgstr "Вы уверены, что хотите сделать это?" +msgstr "Вы уверены, что хотите это сделать?" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:256 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:557 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:581 -#: src/slic3r/GUI/WipeTowerDialog.cpp:45 src/slic3r/GUI/WipeTowerDialog.cpp:366 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:581 src/slic3r/GUI/WipeTowerDialog.cpp:45 +#: src/slic3r/GUI/WipeTowerDialog.cpp:366 msgid "Warning" msgstr "Предупреждение" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1134 msgid "Autogenerate support points" -msgstr "Автоматическая генерация точек поддержки" +msgstr "Автогенерация точек поддержки" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1181 msgid "SLA gizmo keyboard shortcuts" -msgstr "" +msgstr "Горячие клавиши \"Гизмо SLA\"" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1192 msgid "Note: some shortcuts work in (non)editing mode only." msgstr "" +"Примечание: некоторые сочетания клавиш работают только в режиме (не)редактирования." #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1210 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1213 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1214 msgid "Left click" -msgstr "Щелчок левой клавишей" +msgstr "Левая кнопка мыши" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1210 msgid "Add point" @@ -2452,37 +2488,37 @@ msgstr "Добавить точку" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1211 msgid "Right click" -msgstr "Щелчок правой клавишей" +msgstr "Правая кнопка мыши" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1211 msgid "Remove point" -msgstr "Убрать точку" +msgstr "Удалить точку" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1212 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1215 #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1216 msgid "Drag" -msgstr "Перетащить" +msgstr "Перетащить мышь" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1212 msgid "Move point" -msgstr "Переместить точку" +msgstr "Передвинуть точку" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1213 msgid "Add point to selection" -msgstr "Добавить точку к выделению" +msgstr "Добавить точку к выбранным точкам" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1214 msgid "Remove point from selection" -msgstr "Удалить точку из выделения" +msgstr "Удалить точку из выбранных точек" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1215 msgid "Select by rectangle" -msgstr "Выбрать прямоугольником" +msgstr "Выбрать точки прямоугольником" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1216 msgid "Deselect by rectangle" -msgstr "Удалить выбор прямоугольником" +msgstr "Убрать выбранные точки прямоугольником" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1217 msgid "Select all points" @@ -2494,11 +2530,11 @@ msgstr "Колесо мыши" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 msgid "Move clipping plane" -msgstr "" +msgstr "Переместить плоскость отсечения" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1220 msgid "Reset clipping plane" -msgstr "" +msgstr "Сброс плоскости отсечения" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1223 msgid "Switch to editing mode" @@ -2506,109 +2542,134 @@ msgstr "Переключиться в режим редактирования" #: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:521 msgid "Gizmo-Scale" -msgstr "Масштабировать" +msgstr "Гизмо масштаба" #: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:630 msgid "Gizmo-Place on Face" -msgstr "Поместить на грань" +msgstr "Гизмо поверхностью на стол" #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:39 msgid "Entering Paint-on supports" -msgstr "" +msgstr "Войти в режим рисования поддержек" #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:40 msgid "Entering Seam painting" -msgstr "" +msgstr "Войти в режим рисования шва" #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:47 msgid "Leaving Seam painting" -msgstr "" +msgstr "Выйти из режима рисования шва" #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:48 msgid "Leaving Paint-on supports" -msgstr "" +msgstr "Выйти из режима рисования поддержек" #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:371 msgid "Add supports" -msgstr "" +msgstr "Добавление поддержек" -#: src/slic3r/GUI/GUI_App.cpp:235 +#: src/slic3r/GUI/GUI_App.cpp:239 msgid "is based on Slic3r by Alessandro Ranellucci and the RepRap community." -msgstr "" +msgstr "is based on Slic3r by Alessandro Ranellucci and the RepRap community." -#: src/slic3r/GUI/GUI_App.cpp:237 +#: src/slic3r/GUI/GUI_App.cpp:241 msgid "" "Contributions by Vojtech Bubnik, Enrico Turri, Oleksandra Iushchenko, Tamas " "Meszaros, Lukas Matena, Vojtech Kral, David Kocik and numerous others." msgstr "" +"Contributions by Vojtech Bubnik, Enrico Turri, Oleksandra Iushchenko, Tamas " +"Meszaros, Lukas Matena, Vojtech Kral, David Kocik and numerous others." -#: src/slic3r/GUI/GUI_App.cpp:238 +#: src/slic3r/GUI/GUI_App.cpp:242 msgid "Artwork model by Nora Al-Badri and Jan Nikolai Nelles" -msgstr "" +msgstr "Artwork model by Nora Al-Badri and Jan Nikolai Nelles" -#: src/slic3r/GUI/GUI_App.cpp:378 +#: src/slic3r/GUI/GUI_App.cpp:382 msgid "" -"Starting with %1% 2.3, configuration directory on Linux has changed " -"(according to XDG Base Directory Specification) to \n" +"Starting with %1% 2.3, configuration directory on Linux has changed (according to " +"XDG Base Directory Specification) to \n" "%2%.\n" "\n" -"This directory did not exist yet (maybe you run the new version for the " -"first time).\n" +"This directory did not exist yet (maybe you run the new version for the first " +"time).\n" "However, an old %1% configuration directory was detected in \n" "%3%.\n" "\n" -"Consider moving the contents of the old directory to the new location in " -"order to access your profiles, etc.\n" -"Note that if you decide to downgrade %1% in future, it will use the old " -"location again.\n" +"Consider moving the contents of the old directory to the new location in order to " +"access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old location " +"again.\n" "\n" "What do you want to do now?" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:386 +#: src/slic3r/GUI/GUI_App.cpp:390 #, c-format msgid "%s - BREAKING CHANGE" -msgstr "" +msgstr "%s - КРИТИЧЕСКОЕ ИЗМЕНЕНИЕ" -#: src/slic3r/GUI/GUI_App.cpp:388 +#: src/slic3r/GUI/GUI_App.cpp:392 msgid "Quit, I will move my data now" -msgstr "" +msgstr "Выйти и перенести свои данные" -#: src/slic3r/GUI/GUI_App.cpp:388 +#: src/slic3r/GUI/GUI_App.cpp:392 msgid "Start the application" -msgstr "" +msgstr "Запустить приложение" -#: src/slic3r/GUI/GUI_App.cpp:576 +#: src/slic3r/GUI/GUI_App.cpp:580 #, c-format msgid "" -"%s has encountered an error. It was likely caused by running out of memory. " -"If you are sure you have enough RAM on your system, this may also be a bug " -"and we would be glad if you reported it.\n" +"%s has encountered an error. It was likely caused by running out of memory. If you " +"are sure you have enough RAM on your system, this may also be a bug and we would be " +"glad if you reported it.\n" "\n" "The application will now terminate." msgstr "" +"При работе с %s произошла с ошибкой. Скорее всего, это было вызвано нехваткой " +"памяти. Если вы уверены, что в вашей системе достаточно оперативной памяти и " +"произошла эта ошибка, сообщите нам об этом.\n" +"\n" +"Приложение будет закрыто." -#: src/slic3r/GUI/GUI_App.cpp:579 +#: src/slic3r/GUI/GUI_App.cpp:583 msgid "Fatal error" msgstr "Критическая ошибка" -#: src/slic3r/GUI/GUI_App.cpp:699 +#: src/slic3r/GUI/GUI_App.cpp:587 msgid "" -"Error parsing PrusaSlicer config file, it is probably corrupted. Try to " -"manually delete the file to recover from the error. Your user profiles will " -"not be affected." +"PrusaSlicer has encountered a localization error. Please report to PrusaSlicer " +"team, what language was active and in which scenario this issue happened. Thank " +"you.\n" +"\n" +"The application will now terminate." msgstr "" -"Ошибка при разборе файла настроек PrusaSlicer, вероятно, он повреждён. Чтобы " -"ошибка пропала, попробуйте удалить файл. Это не повлияет на ваши " -"пользовательские профили." +"PrusaSlicer обнаружил непредвиденную ошибку в локализации приложения. Пожалуйста, " +"сообщите команде PrusaSlicer, какой язык был активен и при каком сценарии произошла " +"эта ошибка.\n" +"Теперь приложение будет закрыто." -#: src/slic3r/GUI/GUI_App.cpp:705 +#: src/slic3r/GUI/GUI_App.cpp:590 +msgid "Critical error" +msgstr "Критическая ошибка" + +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "" +"Error parsing PrusaSlicer config file, it is probably corrupted. Try to manually " +"delete the file to recover from the error. Your user profiles will not be affected." +msgstr "" +"Ошибка обработки конфигурационного файла PrusaSlicer. Вероятно, он повреждён. \n" +"Попробуйте вручную удалить файл для восстановления после ошибки. Пользовательские " +"профили не будут затронуты." + +#: src/slic3r/GUI/GUI_App.cpp:717 msgid "" "Error parsing PrusaGCodeViewer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error." msgstr "" +"Ошибка обработки конфигурационного файла PrusaGCodeViewer. Вероятно, он повреждён. " +"Попробуйте вручную удалить файл для восстановления после ошибки." -#: src/slic3r/GUI/GUI_App.cpp:759 +#: src/slic3r/GUI/GUI_App.cpp:771 #, c-format msgid "" "%s\n" @@ -2617,282 +2678,301 @@ msgstr "" "%s\n" "Хотите продолжить?" -#: src/slic3r/GUI/GUI_App.cpp:761 src/slic3r/GUI/UnsavedChangesDialog.cpp:659 +#: src/slic3r/GUI/GUI_App.cpp:773 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 msgid "Remember my choice" -msgstr "" +msgstr "Запомнить мой выбор" -#: src/slic3r/GUI/GUI_App.cpp:796 +#: src/slic3r/GUI/GUI_App.cpp:808 msgid "Loading configuration" -msgstr "" +msgstr "Загрузка конфигурации" -#: src/slic3r/GUI/GUI_App.cpp:864 +#: src/slic3r/GUI/GUI_App.cpp:876 msgid "Preparing settings tabs" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:1109 -msgid "" -"You have the following presets with saved options for \"Print Host upload\"" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:1113 -msgid "" -"But since this version of PrusaSlicer we don't show this information in " -"Printer Settings anymore.\n" -"Settings will be available in physical printers settings." -msgstr "" +msgstr "Подготовка вкладок настроек" #: src/slic3r/GUI/GUI_App.cpp:1115 +msgid "You have the following presets with saved options for \"Print Host upload\"" +msgstr "" +"У вас имеются следующие профили с сохраненными параметрами для загрузки на хост " +"печати" + +#: src/slic3r/GUI/GUI_App.cpp:1119 msgid "" -"By default new Printer devices will be named as \"Printer N\" during its " -"creation.\n" +"But since this version of PrusaSlicer we don't show this information in Printer " +"Settings anymore.\n" +"Settings will be available in physical printers settings." +msgstr "" +"Начиная с этой версии PrusaSlicer мы больше не показываем эту информацию в " +"настройках принтера.\n" +"Теперь эти настройки будут доступны в разделе настройки физических принтеров." + +#: src/slic3r/GUI/GUI_App.cpp:1121 +msgid "" +"By default new Printer devices will be named as \"Printer N\" during its creation.\n" "Note: This name can be changed later from the physical printers settings" msgstr "" +"При создании новых принтеров они будут именоваться как \"Принтер N\".\n" +"Примечание: это имя можно изменить позже в настройках физических принтеров." -#: src/slic3r/GUI/GUI_App.cpp:1118 +#: src/slic3r/GUI/GUI_App.cpp:1124 src/slic3r/GUI/PhysicalPrinterDialog.cpp:626 msgid "Information" -msgstr "" +msgstr "Информация" -#: src/slic3r/GUI/GUI_App.cpp:1131 src/slic3r/GUI/GUI_App.cpp:1142 +#: src/slic3r/GUI/GUI_App.cpp:1137 src/slic3r/GUI/GUI_App.cpp:1148 msgid "Recreating" -msgstr "Пересоздание" +msgstr "Воссоздание" -#: src/slic3r/GUI/GUI_App.cpp:1147 +#: src/slic3r/GUI/GUI_App.cpp:1153 msgid "Loading of current presets" -msgstr "" +msgstr "Загрузка текущих профилей" -#: src/slic3r/GUI/GUI_App.cpp:1152 +#: src/slic3r/GUI/GUI_App.cpp:1158 msgid "Loading of a mode view" -msgstr "" +msgstr "Загрузка режима просмотра" -#: src/slic3r/GUI/GUI_App.cpp:1233 +#: src/slic3r/GUI/GUI_App.cpp:1234 msgid "Choose one file (3MF/AMF):" -msgstr "Выберите файл (3MF/AMF):" +msgstr "Выберите один файл (3MF/AMF):" -#: src/slic3r/GUI/GUI_App.cpp:1245 +#: src/slic3r/GUI/GUI_App.cpp:1246 msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" msgstr "Выберите один или несколько файлов (STL/OBJ/AMF/3MF/PRUSA):" -#: src/slic3r/GUI/GUI_App.cpp:1257 +#: src/slic3r/GUI/GUI_App.cpp:1258 msgid "Choose one file (GCODE/.GCO/.G/.ngc/NGC):" -msgstr "" +msgstr "Выберите один файл (GCODE/.GCO/.G/.ngc/NGC):" -#: src/slic3r/GUI/GUI_App.cpp:1268 +#: src/slic3r/GUI/GUI_App.cpp:1269 msgid "Changing of an application language" -msgstr "Изменить язык приложения" +msgstr "Изменение языка приложения" -#: src/slic3r/GUI/GUI_App.cpp:1330 +#: src/slic3r/GUI/GUI_App.cpp:1392 msgid "Select the language" msgstr "Выбор языка" -#: src/slic3r/GUI/GUI_App.cpp:1330 +#: src/slic3r/GUI/GUI_App.cpp:1392 msgid "Language" msgstr "Язык" -#: src/slic3r/GUI/GUI_App.cpp:1460 +#: src/slic3r/GUI/GUI_App.cpp:1541 msgid "modified" msgstr "изменено" -#: src/slic3r/GUI/GUI_App.cpp:1509 +#: src/slic3r/GUI/GUI_App.cpp:1590 #, c-format msgid "Run %s" -msgstr "Запустите %s" +msgstr "Запустить %s" -#: src/slic3r/GUI/GUI_App.cpp:1513 +#: src/slic3r/GUI/GUI_App.cpp:1594 msgid "&Configuration Snapshots" -msgstr "Снапшоты настроек" +msgstr "&Резервные копии конфигурации (снапшот)" -#: src/slic3r/GUI/GUI_App.cpp:1513 +#: src/slic3r/GUI/GUI_App.cpp:1594 msgid "Inspect / activate configuration snapshots" -msgstr "Посмотреть/вернуть настройки из снапшота" +msgstr "Проверка и активация резервных копий конфигурации" -#: src/slic3r/GUI/GUI_App.cpp:1514 +#: src/slic3r/GUI/GUI_App.cpp:1595 msgid "Take Configuration &Snapshot" -msgstr "Сделать снапшот настроек" +msgstr "Сделать &снапшот" -#: src/slic3r/GUI/GUI_App.cpp:1514 +#: src/slic3r/GUI/GUI_App.cpp:1595 msgid "Capture a configuration snapshot" -msgstr "Сделать снапшот настроек" +msgstr "Сделать резервную копию конфигурации (снапшот)" -#: src/slic3r/GUI/GUI_App.cpp:1515 +#: src/slic3r/GUI/GUI_App.cpp:1596 msgid "Check for updates" -msgstr "Проверить обновления" +msgstr "Проверить наличие обновлений" -#: src/slic3r/GUI/GUI_App.cpp:1515 +#: src/slic3r/GUI/GUI_App.cpp:1596 msgid "Check for configuration updates" -msgstr "Проверить обновления настроек" +msgstr "Проверка наличие обновлений конфигурации" -#: src/slic3r/GUI/GUI_App.cpp:1518 +#: src/slic3r/GUI/GUI_App.cpp:1599 msgid "&Preferences" -msgstr "&Настройки" +msgstr "&Настройки приложения" -#: src/slic3r/GUI/GUI_App.cpp:1524 +#: src/slic3r/GUI/GUI_App.cpp:1605 msgid "Application preferences" msgstr "Настройки приложения" -#: src/slic3r/GUI/GUI_App.cpp:1529 src/slic3r/GUI/wxExtensions.cpp:673 +#: src/slic3r/GUI/GUI_App.cpp:1610 src/slic3r/GUI/wxExtensions.cpp:685 msgid "Simple" msgstr "Простой" -#: src/slic3r/GUI/GUI_App.cpp:1529 +#: src/slic3r/GUI/GUI_App.cpp:1610 msgid "Simple View Mode" -msgstr "Простой режим интерфейса" +msgstr "Простой режим просмотра интерфейса приложения" -#: src/slic3r/GUI/GUI_App.cpp:1531 src/slic3r/GUI/wxExtensions.cpp:675 +#: src/slic3r/GUI/GUI_App.cpp:1612 src/slic3r/GUI/wxExtensions.cpp:687 msgctxt "Mode" msgid "Advanced" msgstr "Расширенный" -#: src/slic3r/GUI/GUI_App.cpp:1531 +#: src/slic3r/GUI/GUI_App.cpp:1612 msgid "Advanced View Mode" -msgstr "Расширенный режим интерфейса" +msgstr "Расширенный режим просмотра интерфейса приложения" -#: src/slic3r/GUI/GUI_App.cpp:1532 src/slic3r/GUI/wxExtensions.cpp:676 +#: src/slic3r/GUI/GUI_App.cpp:1613 src/slic3r/GUI/wxExtensions.cpp:688 msgid "Expert" -msgstr "Экспертный" +msgstr "Продвинутый" -#: src/slic3r/GUI/GUI_App.cpp:1532 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "Expert View Mode" -msgstr "Экспертный режим интерфейса" +msgstr "Продвинутый режим просмотра интерфейса приложения" -#: src/slic3r/GUI/GUI_App.cpp:1537 +#: src/slic3r/GUI/GUI_App.cpp:1618 msgid "Mode" -msgstr "Режим" +msgstr "Режим интерфейса" -#: src/slic3r/GUI/GUI_App.cpp:1537 +#: src/slic3r/GUI/GUI_App.cpp:1618 #, c-format msgid "%s View Mode" -msgstr "%s режим интерфейса" +msgstr "%s режим просмотра" -#: src/slic3r/GUI/GUI_App.cpp:1540 +#: src/slic3r/GUI/GUI_App.cpp:1621 msgid "&Language" -msgstr "&Язык" +msgstr "&Язык программы" -#: src/slic3r/GUI/GUI_App.cpp:1543 +#: src/slic3r/GUI/GUI_App.cpp:1624 msgid "Flash printer &firmware" -msgstr "Прошить принтер" +msgstr "&Прошивка принтера" -#: src/slic3r/GUI/GUI_App.cpp:1543 +#: src/slic3r/GUI/GUI_App.cpp:1624 msgid "Upload a firmware image into an Arduino based printer" msgstr "Загрузить прошивку в принтер на основе Arduino" -#: src/slic3r/GUI/GUI_App.cpp:1559 +#: src/slic3r/GUI/GUI_App.cpp:1640 msgid "Taking configuration snapshot" msgstr "Создание снапшота" -#: src/slic3r/GUI/GUI_App.cpp:1559 +#: src/slic3r/GUI/GUI_App.cpp:1640 msgid "Snapshot name" msgstr "Имя снапшота" -#: src/slic3r/GUI/GUI_App.cpp:1635 +#: src/slic3r/GUI/GUI_App.cpp:1669 +msgid "Failed to activate configuration snapshot." +msgstr "Сбой активации снапшота." + +#: src/slic3r/GUI/GUI_App.cpp:1719 msgid "Language selection" msgstr "Выбор языка" -#: src/slic3r/GUI/GUI_App.cpp:1637 +#: src/slic3r/GUI/GUI_App.cpp:1721 msgid "" "Switching the language will trigger application restart.\n" "You will lose content of the plater." msgstr "" -"При смене языка приложение будет перезапущено.\n" -"Исчезнет содержимое компоновки." +"Смена языка вызовет перезапуск приложения.\n" +"Вы потеряете содержимое стола." -#: src/slic3r/GUI/GUI_App.cpp:1639 +#: src/slic3r/GUI/GUI_App.cpp:1723 msgid "Do you want to proceed?" msgstr "Хотите продолжить?" -#: src/slic3r/GUI/GUI_App.cpp:1666 +#: src/slic3r/GUI/GUI_App.cpp:1750 msgid "&Configuration" msgstr "&Настройки" -#: src/slic3r/GUI/GUI_App.cpp:1697 +#: src/slic3r/GUI/GUI_App.cpp:1781 msgid "The preset(s) modifications are successfully saved" -msgstr "" +msgstr "Изменения в профиле(-ях) успешно сохранены." -#: src/slic3r/GUI/GUI_App.cpp:1907 src/slic3r/GUI/Tab.cpp:3232 +#: src/slic3r/GUI/GUI_App.cpp:1802 +msgid "The uploads are still ongoing" +msgstr "Загрузки всё ещё продолжаются" + +#: src/slic3r/GUI/GUI_App.cpp:1802 +msgid "Stop them and continue anyway?" +msgstr "Остановить их и продолжить?" + +#: src/slic3r/GUI/GUI_App.cpp:1805 +msgid "Ongoing uploads" +msgstr "Текущие загрузки" + +#: src/slic3r/GUI/GUI_App.cpp:2019 src/slic3r/GUI/Tab.cpp:3242 msgid "It's impossible to print multi-part object(s) with SLA technology." -msgstr "" -"Невозможно напечатать объект(ы), состоящий из нескольких частей с помощью " -"технологии SLA." +msgstr "По технологии SLA невозможно напечатать составную модель(и)." -#: src/slic3r/GUI/GUI_App.cpp:1908 +#: src/slic3r/GUI/GUI_App.cpp:2020 msgid "Please check and fix your object list." -msgstr "Проверьте и исправьте список объектов." +msgstr "Пожалуйста, проверьте и исправьте ваш список моделей." -#: src/slic3r/GUI/GUI_App.cpp:1909 src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 -#: src/slic3r/GUI/Plater.cpp:2337 src/slic3r/GUI/Tab.cpp:3234 +#: src/slic3r/GUI/GUI_App.cpp:2021 src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 +#: src/slic3r/GUI/Plater.cpp:2359 src/slic3r/GUI/Tab.cpp:3244 msgid "Attention!" msgstr "Внимание!" -#: src/slic3r/GUI/GUI_App.cpp:1926 +#: src/slic3r/GUI/GUI_App.cpp:2038 msgid "Select a gcode file:" -msgstr "Выберите файл gcode:" +msgstr "Выбрать файл G-кода:" #: src/slic3r/GUI/GUI_Init.cpp:73 src/slic3r/GUI/GUI_Init.cpp:76 msgid "PrusaSlicer GUI initialization failed" -msgstr "" +msgstr "Ошибка инициализации графического интерфейса PrusaSlicer" #: src/slic3r/GUI/GUI_Init.cpp:76 msgid "Fatal error, exception catched: %1%" -msgstr "" +msgstr "Критическая ошибка, обнаружено исключение: %1%" #: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 msgid "Start at height" -msgstr "Начать с высоты" +msgstr "Начинать с" #: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 msgid "Stop at height" -msgstr "Закончить на высоте" +msgstr "Закончить на" #: src/slic3r/GUI/GUI_ObjectLayers.cpp:161 msgid "Remove layer range" -msgstr "Удалить диапазон слоев" +msgstr "Удалить диапазон слоёв" #: src/slic3r/GUI/GUI_ObjectLayers.cpp:165 msgid "Add layer range" -msgstr "Добавить диапазон слоев" +msgstr "Добавить диапазон слоёв" #: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_ObjectList.cpp:92 -#: src/slic3r/GUI/GUI_ObjectList.cpp:651 src/libslic3r/PrintConfig.cpp:72 -#: src/libslic3r/PrintConfig.cpp:216 src/libslic3r/PrintConfig.cpp:225 -#: src/libslic3r/PrintConfig.cpp:449 src/libslic3r/PrintConfig.cpp:515 -#: src/libslic3r/PrintConfig.cpp:523 src/libslic3r/PrintConfig.cpp:953 -#: src/libslic3r/PrintConfig.cpp:1191 src/libslic3r/PrintConfig.cpp:1556 -#: src/libslic3r/PrintConfig.cpp:1622 src/libslic3r/PrintConfig.cpp:1803 -#: src/libslic3r/PrintConfig.cpp:2270 src/libslic3r/PrintConfig.cpp:2329 -#: src/libslic3r/PrintConfig.cpp:2338 +#: src/slic3r/GUI/GUI_ObjectList.cpp:667 src/libslic3r/PrintConfig.cpp:74 +#: src/libslic3r/PrintConfig.cpp:189 src/libslic3r/PrintConfig.cpp:231 +#: src/libslic3r/PrintConfig.cpp:240 src/libslic3r/PrintConfig.cpp:464 +#: src/libslic3r/PrintConfig.cpp:530 src/libslic3r/PrintConfig.cpp:538 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1219 +#: src/libslic3r/PrintConfig.cpp:1584 src/libslic3r/PrintConfig.cpp:1650 +#: src/libslic3r/PrintConfig.cpp:1835 src/libslic3r/PrintConfig.cpp:2302 +#: src/libslic3r/PrintConfig.cpp:2361 src/libslic3r/PrintConfig.cpp:2370 msgid "Layers and Perimeters" msgstr "Слои и периметры" #: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/slic3r/GUI/GUI_ObjectList.cpp:95 -#: src/slic3r/GUI/GUI_ObjectList.cpp:654 src/slic3r/GUI/GUI_Preview.cpp:254 -#: src/slic3r/GUI/Tab.cpp:1473 src/slic3r/GUI/Tab.cpp:1475 +#: src/slic3r/GUI/GUI_ObjectList.cpp:670 src/slic3r/GUI/GUI_Preview.cpp:240 +#: src/slic3r/GUI/Tab.cpp:1472 src/slic3r/GUI/Tab.cpp:1474 #: src/libslic3r/ExtrusionEntity.cpp:320 src/libslic3r/ExtrusionEntity.cpp:352 -#: src/libslic3r/PrintConfig.cpp:411 src/libslic3r/PrintConfig.cpp:1683 -#: src/libslic3r/PrintConfig.cpp:2061 src/libslic3r/PrintConfig.cpp:2067 -#: src/libslic3r/PrintConfig.cpp:2075 src/libslic3r/PrintConfig.cpp:2087 -#: src/libslic3r/PrintConfig.cpp:2097 src/libslic3r/PrintConfig.cpp:2105 -#: src/libslic3r/PrintConfig.cpp:2120 src/libslic3r/PrintConfig.cpp:2141 -#: src/libslic3r/PrintConfig.cpp:2153 src/libslic3r/PrintConfig.cpp:2169 -#: src/libslic3r/PrintConfig.cpp:2178 src/libslic3r/PrintConfig.cpp:2187 -#: src/libslic3r/PrintConfig.cpp:2198 src/libslic3r/PrintConfig.cpp:2212 -#: src/libslic3r/PrintConfig.cpp:2220 src/libslic3r/PrintConfig.cpp:2221 -#: src/libslic3r/PrintConfig.cpp:2230 src/libslic3r/PrintConfig.cpp:2238 -#: src/libslic3r/PrintConfig.cpp:2252 +#: src/libslic3r/PrintConfig.cpp:426 src/libslic3r/PrintConfig.cpp:1715 +#: src/libslic3r/PrintConfig.cpp:2093 src/libslic3r/PrintConfig.cpp:2099 +#: src/libslic3r/PrintConfig.cpp:2107 src/libslic3r/PrintConfig.cpp:2119 +#: src/libslic3r/PrintConfig.cpp:2129 src/libslic3r/PrintConfig.cpp:2137 +#: src/libslic3r/PrintConfig.cpp:2152 src/libslic3r/PrintConfig.cpp:2173 +#: src/libslic3r/PrintConfig.cpp:2185 src/libslic3r/PrintConfig.cpp:2201 +#: src/libslic3r/PrintConfig.cpp:2210 src/libslic3r/PrintConfig.cpp:2219 +#: src/libslic3r/PrintConfig.cpp:2230 src/libslic3r/PrintConfig.cpp:2244 +#: src/libslic3r/PrintConfig.cpp:2252 src/libslic3r/PrintConfig.cpp:2253 +#: src/libslic3r/PrintConfig.cpp:2262 src/libslic3r/PrintConfig.cpp:2270 +#: src/libslic3r/PrintConfig.cpp:2284 msgid "Support material" -msgstr "Материал поддержки" +msgstr "Поддержка" #: src/slic3r/GUI/GUI_ObjectList.cpp:39 src/slic3r/GUI/GUI_ObjectList.cpp:99 -#: src/slic3r/GUI/GUI_ObjectList.cpp:658 src/libslic3r/PrintConfig.cpp:2448 -#: src/libslic3r/PrintConfig.cpp:2456 +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/libslic3r/PrintConfig.cpp:2480 +#: src/libslic3r/PrintConfig.cpp:2488 msgid "Wipe options" msgstr "Параметры очистки" #: src/slic3r/GUI/GUI_ObjectList.cpp:45 msgid "Pad and Support" -msgstr "" +msgstr "Подложка и Поддержка" #: src/slic3r/GUI/GUI_ObjectList.cpp:51 msgid "Add part" -msgstr "" +msgstr "Добавить элемент" #: src/slic3r/GUI/GUI_ObjectList.cpp:52 msgid "Add modifier" @@ -2900,629 +2980,623 @@ msgstr "Добавить модификатор" #: src/slic3r/GUI/GUI_ObjectList.cpp:53 msgid "Add support enforcer" -msgstr "" +msgstr "Принудительная поддержка" #: src/slic3r/GUI/GUI_ObjectList.cpp:54 msgid "Add support blocker" -msgstr "" +msgstr "Блокировщик поддержки" -#: src/slic3r/GUI/GUI_ObjectList.cpp:94 src/slic3r/GUI/GUI_ObjectList.cpp:653 -#: src/slic3r/GUI/GUI_Preview.cpp:250 src/slic3r/GUI/Tab.cpp:1443 +#: src/slic3r/GUI/GUI_ObjectList.cpp:94 src/slic3r/GUI/GUI_ObjectList.cpp:669 +#: src/slic3r/GUI/GUI_Preview.cpp:236 src/slic3r/GUI/Tab.cpp:1442 #: src/libslic3r/ExtrusionEntity.cpp:316 src/libslic3r/ExtrusionEntity.cpp:344 -#: src/libslic3r/PrintConfig.cpp:1198 src/libslic3r/PrintConfig.cpp:1204 -#: src/libslic3r/PrintConfig.cpp:1218 src/libslic3r/PrintConfig.cpp:1228 -#: src/libslic3r/PrintConfig.cpp:1236 src/libslic3r/PrintConfig.cpp:1238 +#: src/libslic3r/PrintConfig.cpp:1226 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1246 src/libslic3r/PrintConfig.cpp:1256 +#: src/libslic3r/PrintConfig.cpp:1264 src/libslic3r/PrintConfig.cpp:1266 msgid "Ironing" msgstr "Разглаживание" -#: src/slic3r/GUI/GUI_ObjectList.cpp:96 src/slic3r/GUI/GUI_ObjectList.cpp:655 -#: src/slic3r/GUI/GUI_Preview.cpp:231 src/slic3r/GUI/Tab.cpp:1499 -#: src/libslic3r/PrintConfig.cpp:276 src/libslic3r/PrintConfig.cpp:503 -#: src/libslic3r/PrintConfig.cpp:984 src/libslic3r/PrintConfig.cpp:1164 -#: src/libslic3r/PrintConfig.cpp:1237 src/libslic3r/PrintConfig.cpp:1612 -#: src/libslic3r/PrintConfig.cpp:1884 src/libslic3r/PrintConfig.cpp:1936 -#: src/libslic3r/PrintConfig.cpp:2314 +#: src/slic3r/GUI/GUI_ObjectList.cpp:96 src/slic3r/GUI/GUI_ObjectList.cpp:671 +#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/Tab.cpp:1498 +#: src/libslic3r/PrintConfig.cpp:291 src/libslic3r/PrintConfig.cpp:518 +#: src/libslic3r/PrintConfig.cpp:1012 src/libslic3r/PrintConfig.cpp:1192 +#: src/libslic3r/PrintConfig.cpp:1265 src/libslic3r/PrintConfig.cpp:1640 +#: src/libslic3r/PrintConfig.cpp:1916 src/libslic3r/PrintConfig.cpp:1968 +#: src/libslic3r/PrintConfig.cpp:2346 msgid "Speed" msgstr "Скорость" -#: src/slic3r/GUI/GUI_ObjectList.cpp:97 src/slic3r/GUI/GUI_ObjectList.cpp:656 -#: src/slic3r/GUI/Tab.cpp:1535 src/slic3r/GUI/Tab.cpp:2112 -#: src/libslic3r/PrintConfig.cpp:533 src/libslic3r/PrintConfig.cpp:1118 -#: src/libslic3r/PrintConfig.cpp:1590 src/libslic3r/PrintConfig.cpp:1905 -#: src/libslic3r/PrintConfig.cpp:2133 src/libslic3r/PrintConfig.cpp:2160 +#: src/slic3r/GUI/GUI_ObjectList.cpp:97 src/slic3r/GUI/GUI_ObjectList.cpp:672 +#: src/slic3r/GUI/Tab.cpp:1534 src/slic3r/GUI/Tab.cpp:2112 +#: src/libslic3r/PrintConfig.cpp:548 src/libslic3r/PrintConfig.cpp:1146 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:1937 +#: src/libslic3r/PrintConfig.cpp:2165 src/libslic3r/PrintConfig.cpp:2192 msgid "Extruders" msgstr "Экструдеры" -#: src/slic3r/GUI/GUI_ObjectList.cpp:98 src/slic3r/GUI/GUI_ObjectList.cpp:657 -#: src/libslic3r/PrintConfig.cpp:492 src/libslic3r/PrintConfig.cpp:600 -#: src/libslic3r/PrintConfig.cpp:940 src/libslic3r/PrintConfig.cpp:1126 -#: src/libslic3r/PrintConfig.cpp:1599 src/libslic3r/PrintConfig.cpp:1925 -#: src/libslic3r/PrintConfig.cpp:2142 src/libslic3r/PrintConfig.cpp:2302 +#: src/slic3r/GUI/GUI_ObjectList.cpp:98 src/slic3r/GUI/GUI_ObjectList.cpp:673 +#: src/libslic3r/PrintConfig.cpp:507 src/libslic3r/PrintConfig.cpp:616 +#: src/libslic3r/PrintConfig.cpp:957 src/libslic3r/PrintConfig.cpp:1154 +#: src/libslic3r/PrintConfig.cpp:1627 src/libslic3r/PrintConfig.cpp:1957 +#: src/libslic3r/PrintConfig.cpp:2174 src/libslic3r/PrintConfig.cpp:2334 msgid "Extrusion Width" msgstr "Ширина экструзии" -#: src/slic3r/GUI/GUI_ObjectList.cpp:102 src/slic3r/GUI/GUI_ObjectList.cpp:661 -#: src/slic3r/GUI/Tab.cpp:1429 src/slic3r/GUI/Tab.cpp:1453 -#: src/slic3r/GUI/Tab.cpp:1556 src/slic3r/GUI/Tab.cpp:1559 -#: src/slic3r/GUI/Tab.cpp:1855 src/slic3r/GUI/Tab.cpp:2192 -#: src/slic3r/GUI/Tab.cpp:4104 src/libslic3r/PrintConfig.cpp:90 -#: src/libslic3r/PrintConfig.cpp:128 src/libslic3r/PrintConfig.cpp:264 -#: src/libslic3r/PrintConfig.cpp:1069 src/libslic3r/PrintConfig.cpp:1153 -#: src/libslic3r/PrintConfig.cpp:2472 src/libslic3r/PrintConfig.cpp:2644 +#: src/slic3r/GUI/GUI_ObjectList.cpp:102 src/slic3r/GUI/GUI_ObjectList.cpp:677 +#: src/slic3r/GUI/Tab.cpp:1428 src/slic3r/GUI/Tab.cpp:1452 src/slic3r/GUI/Tab.cpp:1555 +#: src/slic3r/GUI/Tab.cpp:1558 src/slic3r/GUI/Tab.cpp:1855 src/slic3r/GUI/Tab.cpp:2197 +#: src/slic3r/GUI/Tab.cpp:4114 src/libslic3r/PrintConfig.cpp:92 +#: src/libslic3r/PrintConfig.cpp:132 src/libslic3r/PrintConfig.cpp:279 +#: src/libslic3r/PrintConfig.cpp:1097 src/libslic3r/PrintConfig.cpp:1181 +#: src/libslic3r/PrintConfig.cpp:2504 src/libslic3r/PrintConfig.cpp:2676 msgid "Advanced" -msgstr "Расширенный" +msgstr "Дополнительно" -#: src/slic3r/GUI/GUI_ObjectList.cpp:104 src/slic3r/GUI/GUI_ObjectList.cpp:663 -#: src/slic3r/GUI/Plater.cpp:357 src/slic3r/GUI/Tab.cpp:4038 -#: src/slic3r/GUI/Tab.cpp:4039 src/libslic3r/PrintConfig.cpp:2810 -#: src/libslic3r/PrintConfig.cpp:2817 src/libslic3r/PrintConfig.cpp:2826 -#: src/libslic3r/PrintConfig.cpp:2835 src/libslic3r/PrintConfig.cpp:2845 -#: src/libslic3r/PrintConfig.cpp:2855 src/libslic3r/PrintConfig.cpp:2892 -#: src/libslic3r/PrintConfig.cpp:2899 src/libslic3r/PrintConfig.cpp:2910 -#: src/libslic3r/PrintConfig.cpp:2920 src/libslic3r/PrintConfig.cpp:2929 -#: src/libslic3r/PrintConfig.cpp:2942 src/libslic3r/PrintConfig.cpp:2952 -#: src/libslic3r/PrintConfig.cpp:2961 src/libslic3r/PrintConfig.cpp:2971 -#: src/libslic3r/PrintConfig.cpp:2982 src/libslic3r/PrintConfig.cpp:2990 +#: src/slic3r/GUI/GUI_ObjectList.cpp:104 src/slic3r/GUI/GUI_ObjectList.cpp:679 +#: src/slic3r/GUI/Plater.cpp:357 src/slic3r/GUI/Tab.cpp:4048 +#: src/slic3r/GUI/Tab.cpp:4049 src/libslic3r/PrintConfig.cpp:2842 +#: src/libslic3r/PrintConfig.cpp:2849 src/libslic3r/PrintConfig.cpp:2858 +#: src/libslic3r/PrintConfig.cpp:2867 src/libslic3r/PrintConfig.cpp:2877 +#: src/libslic3r/PrintConfig.cpp:2887 src/libslic3r/PrintConfig.cpp:2924 +#: src/libslic3r/PrintConfig.cpp:2931 src/libslic3r/PrintConfig.cpp:2942 +#: src/libslic3r/PrintConfig.cpp:2952 src/libslic3r/PrintConfig.cpp:2961 +#: src/libslic3r/PrintConfig.cpp:2974 src/libslic3r/PrintConfig.cpp:2984 +#: src/libslic3r/PrintConfig.cpp:2993 src/libslic3r/PrintConfig.cpp:3003 +#: src/libslic3r/PrintConfig.cpp:3014 src/libslic3r/PrintConfig.cpp:3022 msgid "Supports" -msgstr "Поддержки" +msgstr "Поддержка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:105 src/slic3r/GUI/GUI_ObjectList.cpp:664 -#: src/slic3r/GUI/Plater.cpp:500 src/slic3r/GUI/Tab.cpp:4079 -#: src/slic3r/GUI/Tab.cpp:4080 src/slic3r/GUI/Tab.cpp:4151 -#: src/libslic3r/PrintConfig.cpp:2998 src/libslic3r/PrintConfig.cpp:3005 -#: src/libslic3r/PrintConfig.cpp:3019 src/libslic3r/PrintConfig.cpp:3030 -#: src/libslic3r/PrintConfig.cpp:3040 src/libslic3r/PrintConfig.cpp:3062 -#: src/libslic3r/PrintConfig.cpp:3073 src/libslic3r/PrintConfig.cpp:3080 -#: src/libslic3r/PrintConfig.cpp:3087 src/libslic3r/PrintConfig.cpp:3098 -#: src/libslic3r/PrintConfig.cpp:3107 src/libslic3r/PrintConfig.cpp:3116 +#: src/slic3r/GUI/GUI_ObjectList.cpp:105 src/slic3r/GUI/GUI_ObjectList.cpp:680 +#: src/slic3r/GUI/Plater.cpp:500 src/slic3r/GUI/Tab.cpp:4089 +#: src/slic3r/GUI/Tab.cpp:4090 src/slic3r/GUI/Tab.cpp:4161 +#: src/libslic3r/PrintConfig.cpp:3030 src/libslic3r/PrintConfig.cpp:3037 +#: src/libslic3r/PrintConfig.cpp:3051 src/libslic3r/PrintConfig.cpp:3062 +#: src/libslic3r/PrintConfig.cpp:3072 src/libslic3r/PrintConfig.cpp:3094 +#: src/libslic3r/PrintConfig.cpp:3105 src/libslic3r/PrintConfig.cpp:3112 +#: src/libslic3r/PrintConfig.cpp:3119 src/libslic3r/PrintConfig.cpp:3130 +#: src/libslic3r/PrintConfig.cpp:3139 src/libslic3r/PrintConfig.cpp:3148 msgid "Pad" -msgstr "" +msgstr "Подложка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:106 src/slic3r/GUI/Tab.cpp:4097 -#: src/slic3r/GUI/Tab.cpp:4098 src/libslic3r/SLA/Hollowing.cpp:45 +#: src/slic3r/GUI/GUI_ObjectList.cpp:106 src/slic3r/GUI/Tab.cpp:4107 +#: src/slic3r/GUI/Tab.cpp:4108 src/libslic3r/SLA/Hollowing.cpp:45 #: src/libslic3r/SLA/Hollowing.cpp:57 src/libslic3r/SLA/Hollowing.cpp:66 -#: src/libslic3r/SLA/Hollowing.cpp:75 src/libslic3r/PrintConfig.cpp:3126 -#: src/libslic3r/PrintConfig.cpp:3133 src/libslic3r/PrintConfig.cpp:3143 -#: src/libslic3r/PrintConfig.cpp:3152 +#: src/libslic3r/SLA/Hollowing.cpp:75 src/libslic3r/PrintConfig.cpp:3158 +#: src/libslic3r/PrintConfig.cpp:3165 src/libslic3r/PrintConfig.cpp:3175 +#: src/libslic3r/PrintConfig.cpp:3184 msgid "Hollowing" -msgstr "" +msgstr "Полость" -#: src/slic3r/GUI/GUI_ObjectList.cpp:284 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:161 +#: src/slic3r/GUI/GUI_ObjectList.cpp:300 src/slic3r/GUI/GUI_ObjectManipulation.cpp:161 msgid "Name" -msgstr "Имя" +msgstr "Файл" -#: src/slic3r/GUI/GUI_ObjectList.cpp:300 src/slic3r/GUI/GUI_ObjectList.cpp:441 +#: src/slic3r/GUI/GUI_ObjectList.cpp:316 src/slic3r/GUI/GUI_ObjectList.cpp:457 msgid "Editing" -msgstr "Редактирование" +msgstr "Правка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:386 +#: src/slic3r/GUI/GUI_ObjectList.cpp:402 #, c-format msgid "Auto-repaired (%d errors):" msgstr "Исправлено ошибок: %d" -#: src/slic3r/GUI/GUI_ObjectList.cpp:393 +#: src/slic3r/GUI/GUI_ObjectList.cpp:409 msgid "degenerate facets" -msgstr "граней вырождено" +msgstr "Вырожденных граней" -#: src/slic3r/GUI/GUI_ObjectList.cpp:394 +#: src/slic3r/GUI/GUI_ObjectList.cpp:410 msgid "edges fixed" -msgstr "рёбер починено" +msgstr "Рёбер починено" -#: src/slic3r/GUI/GUI_ObjectList.cpp:395 +#: src/slic3r/GUI/GUI_ObjectList.cpp:411 msgid "facets removed" -msgstr "граней удалено" +msgstr "Граней удалено" -#: src/slic3r/GUI/GUI_ObjectList.cpp:396 +#: src/slic3r/GUI/GUI_ObjectList.cpp:412 msgid "facets added" -msgstr "граней добавлено" +msgstr "Граней добавлено" -#: src/slic3r/GUI/GUI_ObjectList.cpp:397 +#: src/slic3r/GUI/GUI_ObjectList.cpp:413 msgid "facets reversed" -msgstr "граней реверсировано" +msgstr "Граней реверсировано" -#: src/slic3r/GUI/GUI_ObjectList.cpp:398 +#: src/slic3r/GUI/GUI_ObjectList.cpp:414 msgid "backwards edges" -msgstr "рёбер вывернуто" +msgstr "Вывернуто рёбер" -#: src/slic3r/GUI/GUI_ObjectList.cpp:406 +#: src/slic3r/GUI/GUI_ObjectList.cpp:422 msgid "Right button click the icon to fix STL through Netfabb" msgstr "" +"Щёлкните правой кнопкой мыши на восклицательный знак, чтобы исправить STL с помощью " +"сервиса Netfabb." -#: src/slic3r/GUI/GUI_ObjectList.cpp:443 +#: src/slic3r/GUI/GUI_ObjectList.cpp:459 msgid "Right button click the icon to change the object settings" -msgstr "" +msgstr "Щёлкните правой кнопкой мыши на значок, чтобы изменить настройки модели." -#: src/slic3r/GUI/GUI_ObjectList.cpp:445 +#: src/slic3r/GUI/GUI_ObjectList.cpp:461 msgid "Click the icon to change the object settings" -msgstr "" +msgstr "Щёлкните кнопкой мыши на значок, чтобы изменить настройки модели." -#: src/slic3r/GUI/GUI_ObjectList.cpp:449 +#: src/slic3r/GUI/GUI_ObjectList.cpp:465 msgid "Right button click the icon to change the object printable property" msgstr "" +"Щёлкните правой кнопкой мыши на значок, чтобы разрешить\\запретить печать модели." -#: src/slic3r/GUI/GUI_ObjectList.cpp:451 +#: src/slic3r/GUI/GUI_ObjectList.cpp:467 msgid "Click the icon to change the object printable property" -msgstr "" +msgstr "Щёлкните кнопкой мыши на значок, чтобы разрешить\\запретить печать модели." -#: src/slic3r/GUI/GUI_ObjectList.cpp:574 +#: src/slic3r/GUI/GUI_ObjectList.cpp:590 msgid "Change Extruder" -msgstr "Сменить экструдер" +msgstr "Смена экструдера" -#: src/slic3r/GUI/GUI_ObjectList.cpp:589 +#: src/slic3r/GUI/GUI_ObjectList.cpp:605 msgid "Rename Object" -msgstr "Переименовать объект" +msgstr "Переименование модели" -#: src/slic3r/GUI/GUI_ObjectList.cpp:589 +#: src/slic3r/GUI/GUI_ObjectList.cpp:605 msgid "Rename Sub-object" -msgstr "Переименовать подобъект" +msgstr "Переименование подобъекта" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1215 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4244 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1247 src/slic3r/GUI/GUI_ObjectList.cpp:4372 msgid "Instances to Separated Objects" -msgstr "" +msgstr "Копия как отдельная модель" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1230 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1262 msgid "Volumes in Object reordered" -msgstr "" +msgstr "Объёмы в модели переупорядочены" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1230 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1262 msgid "Object reordered" -msgstr "Объект переупорядочен" +msgstr "Модель переупорядочена" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1306 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1661 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1667 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2008 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1338 src/slic3r/GUI/GUI_ObjectList.cpp:1693 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1699 src/slic3r/GUI/GUI_ObjectList.cpp:2081 #, c-format msgid "Quick Add Settings (%s)" -msgstr "" +msgstr "Быстрое добавление настроек (%s)" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1396 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1428 msgid "Select showing settings" -msgstr "Выбор настроек отображения" +msgstr "Выбор параметров отображения" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1445 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1477 msgid "Add Settings for Layers" -msgstr "" +msgstr "Добавление параметров для слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1446 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1478 msgid "Add Settings for Sub-object" -msgstr "" +msgstr "Добавление параметров для подобъекта" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1447 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1479 msgid "Add Settings for Object" -msgstr "" +msgstr "Добавление параметров для модели" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1517 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1549 msgid "Add Settings Bundle for Height range" -msgstr "" +msgstr "Добавление набора настроек для переменной высоты слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1518 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1550 msgid "Add Settings Bundle for Sub-object" -msgstr "" +msgstr "Добавление набора параметров для подобъекта" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1519 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1551 msgid "Add Settings Bundle for Object" -msgstr "" +msgstr "Добавление набора параметров для модели" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1558 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1590 msgid "Load" msgstr "Загрузить" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1563 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 src/slic3r/GUI/GUI_ObjectList.cpp:1627 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1631 msgid "Box" -msgstr "" +msgstr "Куб" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1563 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 msgid "Cylinder" msgstr "Цилиндр" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1563 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 msgid "Slab" -msgstr "" +msgstr "Плита" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1631 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1663 msgid "Height range Modifier" -msgstr "" +msgstr "Модификатор переменной высоты слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1640 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1672 msgid "Add settings" msgstr "Добавить настройки" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1718 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1750 msgid "Change type" msgstr "Изменить тип" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1728 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1740 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1760 src/slic3r/GUI/GUI_ObjectList.cpp:1772 msgid "Set as a Separated Object" -msgstr "" +msgstr "Превратить в отдельную модель" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1740 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1772 msgid "Set as a Separated Objects" -msgstr "" +msgstr "Превратить в отдельные модели" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1750 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1782 msgid "Printable" -msgstr "" +msgstr "Для печати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1765 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1797 msgid "Rename" msgstr "Переименовать" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1776 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1808 msgid "Fix through the Netfabb" -msgstr "Починить в Netfabb" +msgstr "Ремонт модели службой Netfabb" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1786 src/slic3r/GUI/Plater.cpp:3958 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1818 src/slic3r/GUI/Plater.cpp:4035 msgid "Export as STL" msgstr "Экспорт в STL" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1793 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4439 src/slic3r/GUI/Plater.cpp:3924 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1825 src/slic3r/GUI/GUI_ObjectList.cpp:4567 +#: src/slic3r/GUI/Plater.cpp:4001 msgid "Reload the selected volumes from disk" -msgstr "Перезагрузить выделенные объёмы с диска" +msgstr "Перезагрузить выбранные объёмы с диска" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1800 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1832 msgid "Set extruder for selected items" -msgstr "" +msgstr "Задать экструдер для выбранных частей" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1832 src/libslic3r/PrintConfig.cpp:376 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1864 src/libslic3r/PrintConfig.cpp:391 msgid "Default" msgstr "По умолчанию" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1852 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1884 msgid "Scale to print volume" -msgstr "Масштабировать к объёму принтера" +msgstr "Отмасштабировать под область печати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1852 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1884 msgid "Scale the selected object to fit the print volume" -msgstr "Масштабировать выделенный объект до объёма принтера" +msgstr "Отмасштабировать выбранную модель до объёма стола" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1858 src/slic3r/GUI/Plater.cpp:5142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1913 src/slic3r/GUI/Plater.cpp:5224 msgid "Convert from imperial units" -msgstr "" +msgstr "Преобразовать размер из английской системы мер" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1861 src/slic3r/GUI/Plater.cpp:5142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1915 src/slic3r/GUI/Plater.cpp:5224 msgid "Revert conversion from imperial units" -msgstr "" +msgstr "Отменить преобразование размера из английской системы мер" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1868 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1876 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2569 src/libslic3r/PrintConfig.cpp:3695 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1944 src/slic3r/GUI/GUI_ObjectList.cpp:1952 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2630 src/libslic3r/PrintConfig.cpp:3730 msgid "Merge" msgstr "Объединить" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1868 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1944 msgid "Merge objects to the one multipart object" -msgstr "" +msgstr "Объединить модели в одну составную модель" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1876 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1952 msgid "Merge objects to the one single object" -msgstr "" +msgstr "Объединить модели в одну единую модель" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1953 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2210 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2026 src/slic3r/GUI/GUI_ObjectList.cpp:2283 msgid "Add Shape" -msgstr "" +msgstr "Добавить фигуру" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2038 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2111 msgid "Load Part" -msgstr "Загрузить часть" +msgstr "Загрузка элемента" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2077 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2150 msgid "Error!" msgstr "Ошибка!" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2152 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2225 msgid "Add Generic Subobject" -msgstr "" +msgstr "Добавление сгенерированного элемента" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2181 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2254 msgid "Generic" -msgstr "Общие" +msgstr "Сгенерирован" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2307 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2408 -msgid "Last instance of an object cannot be deleted." -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:2319 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2380 msgid "Delete Settings" -msgstr "Удалить настройки" +msgstr "Удаление настроек" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2341 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2402 msgid "Delete All Instances from Object" -msgstr "Удалить все экземпляры из объекта" +msgstr "Удаление всех копий из модели" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2357 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2418 msgid "Delete Height Range" -msgstr "" +msgstr "Удаление переменной высоты слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2389 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2450 msgid "From Object List You can't delete the last solid part from object." msgstr "" +"Вы не можете удалить из списка моделей последний твердотельный элемент модели." -#: src/slic3r/GUI/GUI_ObjectList.cpp:2393 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2454 msgid "Delete Subobject" -msgstr "Удалить подобъект" +msgstr "Удаление части" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2412 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2469 +msgid "Last instance of an object cannot be deleted." +msgstr "Последняя копия модели не может быть удалена." + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2473 msgid "Delete Instance" -msgstr "Удалить экземпляр" +msgstr "Удаление копии" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2436 src/slic3r/GUI/Plater.cpp:2840 -msgid "" -"The selected object couldn't be split because it contains only one part." -msgstr "" -"Выбранный объект не может быть разделен, так как он состоит из одной части." +#: src/slic3r/GUI/GUI_ObjectList.cpp:2497 src/slic3r/GUI/Plater.cpp:2865 +msgid "The selected object couldn't be split because it contains only one part." +msgstr "Выбранная модель не может быть разделена, так как она состоит из одной части." -#: src/slic3r/GUI/GUI_ObjectList.cpp:2440 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2501 msgid "Split to Parts" -msgstr "Разбить на части" +msgstr "Разделение на части" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2576 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2637 msgid "Merged" -msgstr "" +msgstr "Объединённые" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2660 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2721 msgid "Merge all parts to the one single object" -msgstr "" +msgstr "Объединить все части в одну единую модель" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2692 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2753 msgid "Add Layers" -msgstr "Добавить слои" +msgstr "Добавление слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2846 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2907 msgid "Group manipulation" -msgstr "Действия с группой" +msgstr "Групповые манипуляции" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2858 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2919 msgid "Object manipulation" -msgstr "Действия с объектом" +msgstr "Манипуляция над моделями" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2871 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2932 msgid "Object Settings to modify" -msgstr "" +msgstr "Параметры модели для изменения" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2875 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2936 msgid "Part Settings to modify" -msgstr "" +msgstr "Параметры элемента для изменения" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2880 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2941 msgid "Layer range Settings to modify" -msgstr "" +msgstr "Изменение параметров диапазона слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2886 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2947 msgid "Part manipulation" -msgstr "" +msgstr "Манипуляция над элементом" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2892 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2953 msgid "Instance manipulation" -msgstr "Действия с экземпляром" +msgstr "Манипуляция с копиями" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2899 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2960 msgid "Height ranges" -msgstr "Диапазоны высот" +msgstr "Переменная высота слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2899 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2960 msgid "Settings for height range" -msgstr "" +msgstr "Настройки для переменной высоты слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3083 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3144 msgid "Delete Selected Item" -msgstr "Удалить выделенный элемент" +msgstr "Удаление выбранных частей" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3221 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3332 msgid "Delete Selected" -msgstr "Удалить выбранное" +msgstr "Удаление выбранного" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3297 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3325 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3345 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3408 src/slic3r/GUI/GUI_ObjectList.cpp:3436 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3456 msgid "Add Height Range" -msgstr "" +msgstr "Добавить переменную высоту слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3391 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3502 msgid "" "Cannot insert a new layer range after the current layer range.\n" "The next layer range is too thin to be split to two\n" "without violating the minimum layer height." msgstr "" +"Невозможно вставить новый диапазон слоёв после текущего \n" +"диапазона слоёв. Следующий диапазон слоёв слишком тонкий, \n" +"чтобы его можно было разделить на два слоя \n" +"без нарушения минимальной высоты слоя." -#: src/slic3r/GUI/GUI_ObjectList.cpp:3395 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3506 msgid "" -"Cannot insert a new layer range between the current and the next layer " -"range.\n" +"Cannot insert a new layer range between the current and the next layer range.\n" "The gap between the current layer range and the next layer range\n" "is thinner than the minimum layer height allowed." msgstr "" +"Невозможно вставить новый диапазон слоёв между текущим \n" +"и следующим диапазонами слоёв. Зазор между текущим \n" +"диапазоном слоёв и следующим диапазоном слоёв меньше \n" +"минимально допустимой высоты слоя." -#: src/slic3r/GUI/GUI_ObjectList.cpp:3400 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3511 msgid "" "Cannot insert a new layer range after the current layer range.\n" "Current layer range overlaps with the next layer range." msgstr "" +"Невозможно вставить новый диапазон слоёв после \n" +"текущего диапазона слоёв. Текущий диапазон слоёв \n" +"перекрывается со следующим диапазоном слоёв." -#: src/slic3r/GUI/GUI_ObjectList.cpp:3459 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3570 msgid "Edit Height Range" -msgstr "" +msgstr "Редактирование переменной высоты слоёв" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3754 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3865 msgid "Selection-Remove from list" -msgstr "" +msgstr "Выбор\\Удаление из списка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3762 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3873 msgid "Selection-Add from list" -msgstr "Выделение-Добавлено из списка" +msgstr "Выбор\\Добавление из списка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3880 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4008 msgid "Object or Instance" -msgstr "Объект или экземпляр" +msgstr "Модель или копия" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3881 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4014 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 src/slic3r/GUI/GUI_ObjectList.cpp:4142 msgid "Part" -msgstr "" +msgstr "элемент" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3881 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 msgid "Layer" -msgstr "Слой" +msgstr "Слои" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3883 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4011 msgid "Unsupported selection" -msgstr "Неподдерживаемое выделение" +msgstr "Неподдерживаемый выбор" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3884 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4012 #, c-format msgid "You started your selection with %s Item." -msgstr "" +msgstr "Вы начали свой выбор с сущности %s" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3885 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4013 #, c-format msgid "In this mode you can select only other %s Items%s" -msgstr "" +msgstr "В этом режиме можно выбирать только сущности %s%s" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3888 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4016 msgid "of a current Object" -msgstr "текущего объекта" +msgstr "текущей модели" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3893 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3968 src/slic3r/GUI/Plater.cpp:143 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4021 src/slic3r/GUI/GUI_ObjectList.cpp:4096 +#: src/slic3r/GUI/Plater.cpp:143 msgid "Info" msgstr "Информация" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4137 msgid "You can't change a type of the last solid part of the object." -msgstr "" +msgstr "Вы не можете изменить тип последнего твердотельного элемента модели" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4014 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 msgid "Modifier" msgstr "Модификатор" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4014 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 msgid "Support Enforcer" -msgstr "" +msgstr "Принудительная поддержка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4014 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 msgid "Support Blocker" msgstr "Блокировщик поддержки" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4016 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4144 msgid "Select type of part" -msgstr "Выберите тип части" +msgstr "Выбор типа элемента" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4021 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4149 msgid "Change Part Type" -msgstr "" +msgstr "Изменение типа элемента" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4266 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4394 msgid "Enter new name" msgstr "Введите новое имя" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4266 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4394 msgid "Renaming" msgstr "Переименование" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4282 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4409 -#: src/slic3r/GUI/SavePresetDialog.cpp:101 -#: src/slic3r/GUI/SavePresetDialog.cpp:109 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4410 src/slic3r/GUI/GUI_ObjectList.cpp:4537 +#: src/slic3r/GUI/SavePresetDialog.cpp:101 src/slic3r/GUI/SavePresetDialog.cpp:109 msgid "The supplied name is not valid;" msgstr "Заданное имя недопустимо;" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4283 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4410 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4411 src/slic3r/GUI/GUI_ObjectList.cpp:4538 #: src/slic3r/GUI/SavePresetDialog.cpp:102 msgid "the following characters are not allowed:" msgstr "следующие знаки не разрешаются:" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4458 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4586 msgid "Select extruder number:" -msgstr "Задайте номер экструдера:" +msgstr "Выберите номер экструдера:" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4459 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4587 msgid "This extruder will be set for selected items" -msgstr "" +msgstr "Этот экструдер будет задан для выбранных частей" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4484 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4612 msgid "Change Extruders" msgstr "Смена экструдеров" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4581 src/slic3r/GUI/Selection.cpp:1512 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4709 src/slic3r/GUI/Selection.cpp:1485 msgid "Set Printable" -msgstr "Установить печатным" +msgstr "Задать \"Для печати\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4581 src/slic3r/GUI/Selection.cpp:1512 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4709 src/slic3r/GUI/Selection.cpp:1485 msgid "Set Unprintable" -msgstr "Установить непечатным" +msgstr "Задать \"Не для печати\"" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:68 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:111 msgid "World coordinates" -msgstr "Мировые координаты" +msgstr "Мировая СК" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:69 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:112 msgid "Local coordinates" -msgstr "Локальные координаты" +msgstr "Локальная СК" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:88 msgid "Select coordinate space, in which the transformation will be performed." msgstr "" +"Выберите координатное пространство, в котором будет выполняться преобразование." -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:163 src/libslic3r/GCode.cpp:629 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:163 src/libslic3r/GCode.cpp:537 msgid "Object name" -msgstr "Имя объекта" +msgstr "Имя модели" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:223 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:505 msgid "Position" -msgstr "Положение" +msgstr "Позиция" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:224 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:506 -#: src/slic3r/GUI/Mouse3DController.cpp:487 -#: src/slic3r/GUI/Mouse3DController.cpp:508 +#: src/slic3r/GUI/Mouse3DController.cpp:486 src/slic3r/GUI/Mouse3DController.cpp:507 msgid "Rotation" msgstr "Вращение" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:271 #, c-format msgid "Toggle %c axis mirroring" -msgstr "" +msgstr "Отразить вдоль оси %c" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:305 msgid "Set Mirror" -msgstr "Отражение" - -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:341 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:418 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:486 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:487 -msgid "in" -msgstr "дюйм" +msgstr "Задание отражения" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:345 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:357 msgid "Drop to bed" -msgstr "" +msgstr "Положить на стол" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:372 msgid "Reset rotation" -msgstr "Сбросить поворот" +msgstr "Сброс вращения" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:394 msgid "Reset Rotation" -msgstr "Сбросить поворот" +msgstr "Сброс вращения" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:407 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:409 msgid "Reset scale" -msgstr "" +msgstr "Сброс масштаба" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:423 +msgid "Inches" +msgstr "Дюймы" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:507 msgid "Scale factors" @@ -3530,33 +3604,37 @@ msgstr "Масштаб" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:561 msgid "Translate" -msgstr "" +msgstr "Перемещение" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:625 -msgid "" -"You cannot use non-uniform scaling mode for multiple objects/parts selection" +msgid "You cannot use non-uniform scaling mode for multiple objects/parts selection" msgstr "" +"Нельзя использовать режим неравномерного масштабирования, когда выбрано несколько " +"моделей/частей." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:797 msgid "Set Position" -msgstr "Задать положение" +msgstr "Задание позиции" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:828 msgid "Set Orientation" -msgstr "Задать ориентацию" +msgstr "Задание поворота" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:893 msgid "Set Scale" -msgstr "Задать масштаб" +msgstr "Задание масштаба" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:925 msgid "" -"The currently manipulated object is tilted (rotation angles are not " -"multiples of 90°).\n" -"Non-uniform scaling of tilted objects is only possible in the World " -"coordinate system,\n" +"The currently manipulated object is tilted (rotation angles are not multiples of " +"90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate " +"system,\n" "once the rotation is embedded into the object coordinates." msgstr "" +"Модель, с которой вы работаете, наклонена (углы поворота не кратен 90 °).\n" +"Неравномерное масштабирование наклонных объектов возможно только в мировой \n" +"системе координат, когда информация о вращении записывается в координаты модели." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:928 msgid "" @@ -3564,7 +3642,7 @@ msgid "" "Do you want to proceed?" msgstr "" "Эта операция необратима.\n" -"Продолжить?" +"Хотите продолжить?" #: src/slic3r/GUI/GUI_ObjectSettings.cpp:62 msgid "Additional Settings" @@ -3577,133 +3655,134 @@ msgstr "Удалить параметр" #: src/slic3r/GUI/GUI_ObjectSettings.cpp:104 #, c-format msgid "Delete Option %s" -msgstr "Удалить параметр %s" +msgstr "Удаление параметра %s" #: src/slic3r/GUI/GUI_ObjectSettings.cpp:157 #, c-format msgid "Change Option %s" -msgstr "Изменить параметр %s" +msgstr "Изменение параметра %s" -#: src/slic3r/GUI/GUI_Preview.cpp:226 +#: src/slic3r/GUI/GUI_Preview.cpp:212 msgid "View" msgstr "Вид" -#: src/slic3r/GUI/GUI_Preview.cpp:229 src/libslic3r/PrintConfig.cpp:545 +#: src/slic3r/GUI/GUI_Preview.cpp:215 src/libslic3r/PrintConfig.cpp:560 msgid "Height" msgstr "Высота" -#: src/slic3r/GUI/GUI_Preview.cpp:230 src/libslic3r/PrintConfig.cpp:2434 +#: src/slic3r/GUI/GUI_Preview.cpp:216 src/libslic3r/PrintConfig.cpp:2466 msgid "Width" msgstr "Ширина" -#: src/slic3r/GUI/GUI_Preview.cpp:232 src/slic3r/GUI/Tab.cpp:1841 +#: src/slic3r/GUI/GUI_Preview.cpp:218 src/slic3r/GUI/Tab.cpp:1840 msgid "Fan speed" msgstr "Скорость вентилятора" -#: src/slic3r/GUI/GUI_Preview.cpp:233 +#: src/slic3r/GUI/GUI_Preview.cpp:219 msgid "Volumetric flow rate" msgstr "Объёмный расход" -#: src/slic3r/GUI/GUI_Preview.cpp:238 +#: src/slic3r/GUI/GUI_Preview.cpp:224 msgid "Show" msgstr "Отображать" -#: src/slic3r/GUI/GUI_Preview.cpp:241 src/slic3r/GUI/GUI_Preview.cpp:259 +#: src/slic3r/GUI/GUI_Preview.cpp:227 src/slic3r/GUI/GUI_Preview.cpp:245 msgid "Feature types" msgstr "Типы линий" -#: src/slic3r/GUI/GUI_Preview.cpp:244 src/libslic3r/ExtrusionEntity.cpp:310 +#: src/slic3r/GUI/GUI_Preview.cpp:230 src/libslic3r/ExtrusionEntity.cpp:310 #: src/libslic3r/ExtrusionEntity.cpp:332 msgid "Perimeter" -msgstr "Периметр" +msgstr "Внутренний периметр" -#: src/slic3r/GUI/GUI_Preview.cpp:245 src/libslic3r/ExtrusionEntity.cpp:311 +#: src/slic3r/GUI/GUI_Preview.cpp:231 src/libslic3r/ExtrusionEntity.cpp:311 #: src/libslic3r/ExtrusionEntity.cpp:334 msgid "External perimeter" msgstr "Внешний периметр" -#: src/slic3r/GUI/GUI_Preview.cpp:246 src/libslic3r/ExtrusionEntity.cpp:312 +#: src/slic3r/GUI/GUI_Preview.cpp:232 src/libslic3r/ExtrusionEntity.cpp:312 #: src/libslic3r/ExtrusionEntity.cpp:336 msgid "Overhang perimeter" msgstr "Нависающий периметр" -#: src/slic3r/GUI/GUI_Preview.cpp:247 src/libslic3r/ExtrusionEntity.cpp:313 +#: src/slic3r/GUI/GUI_Preview.cpp:233 src/libslic3r/ExtrusionEntity.cpp:313 #: src/libslic3r/ExtrusionEntity.cpp:338 msgid "Internal infill" msgstr "Заполнение" -#: src/slic3r/GUI/GUI_Preview.cpp:248 src/libslic3r/ExtrusionEntity.cpp:314 -#: src/libslic3r/ExtrusionEntity.cpp:340 src/libslic3r/PrintConfig.cpp:1924 -#: src/libslic3r/PrintConfig.cpp:1935 +#: src/slic3r/GUI/GUI_Preview.cpp:234 src/libslic3r/ExtrusionEntity.cpp:314 +#: src/libslic3r/ExtrusionEntity.cpp:340 src/libslic3r/PrintConfig.cpp:1956 +#: src/libslic3r/PrintConfig.cpp:1967 msgid "Solid infill" msgstr "Сплошное заполнение" -#: src/slic3r/GUI/GUI_Preview.cpp:249 src/libslic3r/ExtrusionEntity.cpp:315 -#: src/libslic3r/ExtrusionEntity.cpp:342 src/libslic3r/PrintConfig.cpp:2301 -#: src/libslic3r/PrintConfig.cpp:2313 +#: src/slic3r/GUI/GUI_Preview.cpp:235 src/libslic3r/ExtrusionEntity.cpp:315 +#: src/libslic3r/ExtrusionEntity.cpp:342 src/libslic3r/PrintConfig.cpp:2333 +#: src/libslic3r/PrintConfig.cpp:2345 msgid "Top solid infill" msgstr "Верхний сплошной слой" -#: src/slic3r/GUI/GUI_Preview.cpp:251 src/libslic3r/ExtrusionEntity.cpp:317 +#: src/slic3r/GUI/GUI_Preview.cpp:237 src/libslic3r/ExtrusionEntity.cpp:317 #: src/libslic3r/ExtrusionEntity.cpp:346 msgid "Bridge infill" -msgstr "Заполнение моста" +msgstr "Мосты" -#: src/slic3r/GUI/GUI_Preview.cpp:252 src/libslic3r/ExtrusionEntity.cpp:318 -#: src/libslic3r/ExtrusionEntity.cpp:348 src/libslic3r/PrintConfig.cpp:983 +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/libslic3r/ExtrusionEntity.cpp:318 +#: src/libslic3r/ExtrusionEntity.cpp:348 src/libslic3r/PrintConfig.cpp:1011 msgid "Gap fill" msgstr "Заполнение пробелов" -#: src/slic3r/GUI/GUI_Preview.cpp:253 src/slic3r/GUI/Tab.cpp:1463 +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/slic3r/GUI/Tab.cpp:1462 #: src/libslic3r/ExtrusionEntity.cpp:319 src/libslic3r/ExtrusionEntity.cpp:350 msgid "Skirt" msgstr "Юбка" -#: src/slic3r/GUI/GUI_Preview.cpp:255 src/libslic3r/ExtrusionEntity.cpp:321 -#: src/libslic3r/ExtrusionEntity.cpp:354 src/libslic3r/PrintConfig.cpp:2186 +#: src/slic3r/GUI/GUI_Preview.cpp:241 src/libslic3r/ExtrusionEntity.cpp:321 +#: src/libslic3r/ExtrusionEntity.cpp:354 src/libslic3r/PrintConfig.cpp:2218 msgid "Support material interface" msgstr "Связующий слой поддержки" -#: src/slic3r/GUI/GUI_Preview.cpp:256 src/slic3r/GUI/Tab.cpp:1546 +#: src/slic3r/GUI/GUI_Preview.cpp:242 src/slic3r/GUI/Tab.cpp:1545 #: src/libslic3r/ExtrusionEntity.cpp:322 src/libslic3r/ExtrusionEntity.cpp:356 msgid "Wipe tower" -msgstr "Башня очистки" +msgstr "Черновая башня" -#: src/slic3r/GUI/GUI_Preview.cpp:986 +#: src/slic3r/GUI/GUI_Preview.cpp:1031 msgid "Shells" msgstr "Оболочка" -#: src/slic3r/GUI/GUI_Preview.cpp:987 +#: src/slic3r/GUI/GUI_Preview.cpp:1032 msgid "Tool marker" -msgstr "" +msgstr "Маркер инструмента" -#: src/slic3r/GUI/GUI_Preview.cpp:988 +#: src/slic3r/GUI/GUI_Preview.cpp:1033 msgid "Legend/Estimated printing time" -msgstr "" +msgstr "Условные обозначения/Расчётное время печати" #: src/slic3r/GUI/ImGuiWrapper.cpp:804 src/slic3r/GUI/Search.cpp:389 msgid "Use for search" -msgstr "" +msgstr "Использовать для поиска" #: src/slic3r/GUI/ImGuiWrapper.cpp:805 src/slic3r/GUI/Search.cpp:383 msgid "Category" -msgstr "" +msgstr "Категория" #: src/slic3r/GUI/ImGuiWrapper.cpp:807 src/slic3r/GUI/Search.cpp:385 msgid "Search in English" -msgstr "" +msgstr "Искать на английском языке" -#: src/slic3r/GUI/Jobs/ArrangeJob.cpp:146 +#: src/slic3r/GUI/Jobs/ArrangeJob.cpp:145 msgid "Arranging" msgstr "Расстановка" #: src/slic3r/GUI/Jobs/ArrangeJob.cpp:175 msgid "Could not arrange model objects! Some geometries may be invalid." msgstr "" +"Не удалось расставить части модели! Некоторые геометрии могут быть недопустимыми." #: src/slic3r/GUI/Jobs/ArrangeJob.cpp:181 msgid "Arranging canceled." -msgstr "Авторасположение отменено." +msgstr "Расстановка отменена." #: src/slic3r/GUI/Jobs/ArrangeJob.cpp:182 msgid "Arranging done." @@ -3715,655 +3794,754 @@ msgstr "ОШИБКА: недостаточно ресурсов для выпо #: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:41 msgid "Searching for optimal orientation" -msgstr "" +msgstr "Поиск оптимального положения." #: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:73 msgid "Orientation search canceled." -msgstr "" +msgstr "Поиск оптимального положения отменён." #: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:74 msgid "Orientation found." -msgstr "Ориентация найдена." +msgstr "Оптимальное положения найдено." #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:35 msgid "Choose SLA archive:" -msgstr "" +msgstr "Выберите SLA архив:" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:39 msgid "Import file" -msgstr "" +msgstr "Файл для импорта" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:46 msgid "Import model and profile" -msgstr "" +msgstr "Импортировать модель и профиль" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:47 msgid "Import profile only" -msgstr "" +msgstr "Импортировать только профиль" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:48 msgid "Import model only" -msgstr "" +msgstr "Импортировать только модель" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:59 msgid "Accurate" -msgstr "" +msgstr "Точность" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:60 msgid "Balanced" -msgstr "" +msgstr "Баланс" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:61 msgid "Quick" -msgstr "" +msgstr "Скорость" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:135 msgid "Importing SLA archive" -msgstr "" +msgstr "Импорт SLA архива" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:159 msgid "Importing canceled." -msgstr "" +msgstr "Импорт отменен." #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:160 msgid "Importing done." -msgstr "" +msgstr "Импорт завершён." -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:208 src/slic3r/GUI/Plater.cpp:2335 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:208 src/slic3r/GUI/Plater.cpp:2357 msgid "You cannot load SLA project with a multi-part object on the bed" -msgstr "" +msgstr "Вы не можете загрузить SLA проект с составной моделью на столе." -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:209 src/slic3r/GUI/Plater.cpp:2336 -#: src/slic3r/GUI/Tab.cpp:3233 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:209 src/slic3r/GUI/Plater.cpp:2358 +#: src/slic3r/GUI/Tab.cpp:3243 msgid "Please check your object list before preset changing." -msgstr "Проверьте список объектов перед изменением профиля." +msgstr "Пожалуйста, проверьте список моделей перед изменением профиля." -#: src/slic3r/GUI/KBShortcutsDialog.cpp:34 src/slic3r/GUI/MainFrame.cpp:898 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:17 src/slic3r/GUI/MainFrame.cpp:894 msgid "Keyboard Shortcuts" -msgstr "Клавиатурные комбинации" +msgstr "Горячие клавиши" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:97 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:69 msgid "New project, clear plater" -msgstr "Новый проект, очистить компоновку" +msgstr "Новый проект, пустой стол" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:98 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:70 msgid "Open project STL/OBJ/AMF/3MF with config, clear plater" -msgstr "Открыть проект STL/OBJ/AMF/3MF с настройками, очистить компоновку" +msgstr "Открыть STL/OBJ/AMF/3MF проект с конфигурацией, очистив стол" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:99 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:71 msgid "Save project (3mf)" msgstr "Сохранить проект (3mf)" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:100 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:72 msgid "Save project as (3mf)" -msgstr "Сохранить проект как (3mf)" +msgstr "Сохранить проект (3MF)" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:73 msgid "(Re)slice" -msgstr "Нарезать" +msgstr "(Пере)Нарезать" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:75 msgid "Import STL/OBJ/AMF/3MF without config, keep plater" -msgstr "Импортировать проект STL/OBJ/AMF/3MF без настроек, оставить компоновку" +msgstr "Загрузить STL/OBJ/AMF/3MF проект с конфигурацией, не очищая стол" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:76 msgid "Import Config from ini/amf/3mf/gcode" -msgstr "Импортировать настройки из ini/amf/3mf/gcode" +msgstr "Загрузить конфигурацию из ini/amf/3mf/g-кода" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:77 msgid "Load Config from ini/amf/3mf/gcode and merge" -msgstr "Загрузить настройки из ini/amf/3mf/gcode и объединить" +msgstr "Загрузить конфигурацию из ini/amf/3mf/g-кода и объединить" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 src/slic3r/GUI/Plater.cpp:770 -#: src/slic3r/GUI/Plater.cpp:5961 src/libslic3r/PrintConfig.cpp:3600 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:79 src/slic3r/GUI/Plater.cpp:770 +#: src/slic3r/GUI/Plater.cpp:6054 src/libslic3r/PrintConfig.cpp:3635 msgid "Export G-code" -msgstr "Экспортировать G-код" +msgstr "Экспорт в G-код" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 src/slic3r/GUI/Plater.cpp:5962 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6055 msgid "Send G-code" -msgstr "Послать G-код" +msgstr "Отправить G-код" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:81 msgid "Export config" -msgstr "Экспортировать настройки" +msgstr "Сохранить текущую конфигурацию" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 src/slic3r/GUI/Plater.cpp:758 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:82 src/slic3r/GUI/Plater.cpp:758 msgid "Export to SD card / Flash drive" -msgstr "Экспортировать на SD-карту / Flash-накопитель" +msgstr "Экспорт на SD-карту / USB-накопитель" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:83 msgid "Eject SD card / Flash drive" -msgstr "Извлечь SD-карту / Flash-накопитель" +msgstr "Извлечь SD-карту / USB-накопитель" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:85 msgid "Select all objects" -msgstr "Выбрать все объекты" +msgstr "Выбрать все модели" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:86 msgid "Deselect all" -msgstr "Отменить всё" +msgstr "Снять выбор со всего" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:87 msgid "Delete selected" -msgstr "Удалить выбранное" +msgstr "Удалить выбранные" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:91 msgid "Copy to clipboard" -msgstr "Скопировать в буфер обмена" +msgstr "Копировать в буфер" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:92 msgid "Paste from clipboard" msgstr "Вставить из буфера обмена" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:94 src/slic3r/GUI/KBShortcutsDialog.cpp:96 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:187 msgid "Reload plater from disk" -msgstr "Перезагрузить компоновку с диска" +msgstr "Перезагрузить стол с диска" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:100 msgid "Select Plater Tab" -msgstr "Вкладка компоновки" +msgstr "Вкладка стола" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:125 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 msgid "Select Print Settings Tab" msgstr "Вкладка настройки печати" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 msgid "Select Filament Settings Tab" msgstr "Вкладка настройки прутка" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:127 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 msgid "Select Printer Settings Tab" msgstr "Вкладка настройки принтера" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:128 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 msgid "Switch to 3D" -msgstr "Переключиться в 3D" +msgstr "Переключиться на 3D вид" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:129 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 msgid "Switch to Preview" -msgstr "Переключиться в предварительный просмотр" +msgstr "Переключиться на предпросмотр" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:130 -#: src/slic3r/GUI/PrintHostDialogs.cpp:163 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 src/slic3r/GUI/PrintHostDialogs.cpp:165 msgid "Print host upload queue" -msgstr "Очередь отправки на узел печати" +msgstr "Очередь загрузки на хост печати" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 src/slic3r/GUI/MainFrame.cpp:65 +#: src/slic3r/GUI/MainFrame.cpp:1191 +msgid "Open new instance" +msgstr "Запустить новый экземпляр программы" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 msgid "Camera view" -msgstr "Виды с камеры" +msgstr "Позиция камеры" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 msgid "Show/Hide object/instance labels" -msgstr "Показать/скрыть метки объекта/экземпляра" +msgstr "Показать/Скрыть имена файлов модели/копии" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 src/slic3r/GUI/Preferences.cpp:12 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 src/slic3r/GUI/Preferences.cpp:13 msgid "Preferences" -msgstr "Параметры" +msgstr "Настройки приложения" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 msgid "Show keyboard shortcuts list" -msgstr "Показать список клавиш доступа к командам" +msgstr "Показать список сочетаний клавиш" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 src/slic3r/GUI/KBShortcutsDialog.cpp:191 msgid "Commands" msgstr "Команды" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:122 msgid "Add Instance of the selected object" -msgstr "Добавить экземпляр выбранного объекта" +msgstr "Сделать копию выбранной модели" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 msgid "Remove Instance of the selected object" -msgstr "Удалить экземпляр выбранного объекта" +msgstr "Удалить копию выбранной модели" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:124 msgid "" "Press to select multiple objects\n" "or move multiple objects with mouse" msgstr "" -"Нажмите для выбора или перемещения\n" -"нескольких объектов мышью" +"Выбор нескольких моделей или перемещение \n" +"нескольких моделей с помощью мышки" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:148 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:125 msgid "Press to activate selection rectangle" -msgstr "" +msgstr "Активация прямоугольника выделения" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 msgid "Press to activate deselection rectangle" -msgstr "" +msgstr "Активация прямоугольника отмены выделения" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:150 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:206 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:216 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:127 src/slic3r/GUI/KBShortcutsDialog.cpp:196 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:207 src/slic3r/GUI/KBShortcutsDialog.cpp:219 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:226 src/slic3r/GUI/KBShortcutsDialog.cpp:243 msgid "Arrow Up" msgstr "Стрелка вверх" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:150 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:127 msgid "Move selection 10 mm in positive Y direction" -msgstr "" +msgstr "Перемещение выбранного на 10 мм по оси Y+" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:151 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:207 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:217 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:128 src/slic3r/GUI/KBShortcutsDialog.cpp:197 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:208 src/slic3r/GUI/KBShortcutsDialog.cpp:220 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:227 src/slic3r/GUI/KBShortcutsDialog.cpp:244 msgid "Arrow Down" msgstr "Стрелка вниз" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:151 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:128 msgid "Move selection 10 mm in negative Y direction" -msgstr "" +msgstr "Перемещение выбранного на 10 мм по оси Y-" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:152 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:218 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:229 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:129 src/slic3r/GUI/KBShortcutsDialog.cpp:198 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:221 src/slic3r/GUI/KBShortcutsDialog.cpp:228 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:241 src/slic3r/GUI/KBShortcutsDialog.cpp:246 msgid "Arrow Left" msgstr "Стрелка влево" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:152 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:129 msgid "Move selection 10 mm in negative X direction" -msgstr "" +msgstr "Перемещение выбранного на 10 мм по оси X-" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:153 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:219 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:230 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:130 src/slic3r/GUI/KBShortcutsDialog.cpp:199 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:222 src/slic3r/GUI/KBShortcutsDialog.cpp:229 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:242 src/slic3r/GUI/KBShortcutsDialog.cpp:247 msgid "Arrow Right" msgstr "Стрелка вправо" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:153 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:130 msgid "Move selection 10 mm in positive X direction" -msgstr "" +msgstr "Перемещение выбранного на 10 мм по оси X+" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:154 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:131 src/slic3r/GUI/KBShortcutsDialog.cpp:132 msgid "Any arrow" msgstr "Любая стрелка" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:154 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:131 msgid "Movement step set to 1 mm" -msgstr "" +msgstr "Зафиксировать шаг перемещения на 1 мм" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:155 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 msgid "Movement in camera space" -msgstr "" +msgstr "Перемещение выбранного по отношению к камере" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 msgid "Page Up" msgstr "Page Up" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:156 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 msgid "Rotate selection 45 degrees CCW" -msgstr "" +msgstr "Поворот выбранного на 45° против часовой стрелки" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:157 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 msgid "Page Down" msgstr "Page Down" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:157 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 msgid "Rotate selection 45 degrees CW" -msgstr "" +msgstr "Поворот выбранного на 45° по часовой стрелки" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:135 msgid "Gizmo move" -msgstr "" +msgstr "Гизмо перемещения" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:159 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:136 msgid "Gizmo scale" -msgstr "" +msgstr "Гизмо масштаба" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:160 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:137 msgid "Gizmo rotate" -msgstr "" +msgstr "Гизмо поворота" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:161 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:138 msgid "Gizmo cut" -msgstr "" +msgstr "Гизмо разреза" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:162 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:139 msgid "Gizmo Place face on bed" -msgstr "" +msgstr "Гизмо поверхностью на стол" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:163 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:140 msgid "Gizmo SLA hollow" -msgstr "" +msgstr "Гизмо полости" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:164 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:141 msgid "Gizmo SLA support points" -msgstr "" +msgstr "Гизмо точки SLA поддержки" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:165 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:142 msgid "Unselect gizmo or clear selection" -msgstr "" +msgstr "Убрать гизмо выделение или очистить выбор" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:166 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:143 msgid "Change camera type (perspective, orthographic)" -msgstr "" +msgstr "Тип камеры (вид в перспективе или ортогональный)" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:167 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:144 msgid "Zoom to Bed" -msgstr "" +msgstr "Приблизить до размера стола" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:168 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:145 msgid "" "Zoom to selected object\n" "or all objects in scene, if none selected" msgstr "" +"Приближение камеры к выбранной модели \n" +"или всем моделям в сцене, если ничего не выбрано" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:169 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:146 msgid "Zoom in" -msgstr "" +msgstr "Приблизить" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:170 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:147 msgid "Zoom out" -msgstr "" +msgstr "Отдалить" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:171 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:148 msgid "Switch between Editor/Preview" -msgstr "" +msgstr "Переключение между редактором/предпросмотром" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:172 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:149 msgid "Collapse/Expand the sidebar" -msgstr "" +msgstr "Свернуть/Развернуть боковую панель" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:175 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:152 msgid "Show/Hide 3Dconnexion devices settings dialog, if enabled" msgstr "" +"Показать/скрыть диалоговое окно настроек устройств 3Dconnexion (если включено)" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:177 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:181 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:154 src/slic3r/GUI/KBShortcutsDialog.cpp:158 msgid "Show/Hide 3Dconnexion devices settings dialog" msgstr "" +"Показать/Скрыть диалоговое окно настроек \n" +"устройств 3Dconnexion" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:190 src/slic3r/GUI/MainFrame.cpp:328 -#: src/slic3r/GUI/MainFrame.cpp:340 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:167 src/slic3r/GUI/MainFrame.cpp:331 +#: src/slic3r/GUI/MainFrame.cpp:343 msgid "Plater" -msgstr "Компоновка" +msgstr "Стол" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:193 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:170 msgid "All gizmos: Rotate - left mouse button; Pan - right mouse button" msgstr "" +"Все гизмо: Вращение камеры - левая кнопка мыши; Перемещение камеры - правая кнопка " +"мыши" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:194 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:171 msgid "Gizmo move: Press to snap by 1mm" -msgstr "" +msgstr "Гизмо перемещения: Фиксации перемещения на 1 мм" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:195 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:172 msgid "Gizmo scale: Press to snap by 5%" -msgstr "" +msgstr "Гизмо масштаба: Фиксация увеличения на 5%" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:196 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:173 msgid "Gizmo scale: Scale selection to fit print volume" -msgstr "" +msgstr "Гизмо масштаба: Масштабирование модели под область печати" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:197 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:174 msgid "Gizmo scale: Press to activate one direction scaling" -msgstr "" +msgstr "Гизмо масштаба: Активация масштабирования в одном направлении" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:198 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:175 msgid "Gizmo scale: Press to scale selected objects around their own center" -msgstr "" +msgstr "Гизмо масштаба: Масштабирование выбранных моделей вокруг своего центра" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:199 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:176 msgid "Gizmo rotate: Press to rotate selected objects around their own center" -msgstr "" +msgstr "Гизмо поворота: Поворот выбранных моделей вокруг своего центра" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:202 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:179 msgid "Gizmos" -msgstr "" +msgstr "Гизмо" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:206 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:208 -msgid "Upper Layer" -msgstr "Верхний слой" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:179 +msgid "The following shortcuts are applicable when the specified gizmo is active" +msgstr "Следующие сочетания клавиш применимы, когда активна выбранная гизмо" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:183 src/slic3r/GUI/MainFrame.cpp:1244 +msgid "Open a G-code file" +msgstr "Выберите G-код файл" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:185 src/slic3r/GUI/MainFrame.cpp:1142 +#: src/slic3r/GUI/MainFrame.cpp:1146 src/slic3r/GUI/MainFrame.cpp:1249 +#: src/slic3r/GUI/MainFrame.cpp:1253 +msgid "Reload the plater from disk" +msgstr "Перезагрузить стол с диска" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:196 src/slic3r/GUI/KBShortcutsDialog.cpp:200 +msgid "Vertical slider - Move active thumb Up" +msgstr "Вертикальный ползунок - Сдвинуть активный ползунок вверх" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:197 src/slic3r/GUI/KBShortcutsDialog.cpp:201 +msgid "Vertical slider - Move active thumb Down" +msgstr "Вертикальный ползунок - Сдвинуть активный ползунок вниз" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:198 src/slic3r/GUI/KBShortcutsDialog.cpp:202 +msgid "Horizontal slider - Move active thumb Left" +msgstr "Горизонтальный ползунок - Сдвинуть активный ползунок влево" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:199 src/slic3r/GUI/KBShortcutsDialog.cpp:203 +msgid "Horizontal slider - Move active thumb Right" +msgstr "Горизонтальный ползунок - Сдвинуть активный ползунок вправо" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:204 +msgid "On/Off one layer mode of the vertical slider" +msgstr "Включение/Отключение функции \"Режим одного слоя\" у вертикального ползунка" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:205 +msgid "Show/Hide Legend and Estimated printing time" +msgstr "Показать/Скрыть условные обозначения/расчётное время печати" #: src/slic3r/GUI/KBShortcutsDialog.cpp:207 +msgid "Upper layer" +msgstr "Слой +" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:208 +msgid "Lower layer" +msgstr "Слой -" + #: src/slic3r/GUI/KBShortcutsDialog.cpp:209 -msgid "Lower Layer" -msgstr "Нижний слой" +msgid "Upper Layer" +msgstr "Слой +" #: src/slic3r/GUI/KBShortcutsDialog.cpp:210 +msgid "Lower Layer" +msgstr "Слой -" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:211 msgid "Show/Hide Legend & Estimated printing time" -msgstr "" +msgstr "Показать/Скрыть условные обозначения/расчётное время печати" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:213 src/slic3r/GUI/Plater.cpp:4124 -#: src/slic3r/GUI/Tab.cpp:2597 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:215 src/slic3r/GUI/Plater.cpp:4200 +#: src/slic3r/GUI/Tab.cpp:2602 msgid "Preview" -msgstr "Предпросмотр" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:216 -msgid "Move current slider thumb Up" -msgstr "Переместить текущий ползунок вверх" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:217 -msgid "Move current slider thumb Down" -msgstr "Переместить текущий ползунок вниз" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:218 -msgid "Set upper thumb to current slider thumb" -msgstr "Сделать верхний ползунок текущим" +msgstr "Предпросмотр нарезки" #: src/slic3r/GUI/KBShortcutsDialog.cpp:219 -msgid "Set lower thumb to current slider thumb" -msgstr "Сделать нижний ползунок текущим" +msgid "Move active thumb Up" +msgstr "Сдвинуть активный ползунок вверх" #: src/slic3r/GUI/KBShortcutsDialog.cpp:220 +msgid "Move active thumb Down" +msgstr "Сдвинуть активный ползунок вниз" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:221 +msgid "Set upper thumb as active" +msgstr "Переместить ползунок в верхнее положение" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:222 +msgid "Set lower thumb as active" +msgstr "Переместить ползунок в нижнее положение" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:223 src/slic3r/GUI/KBShortcutsDialog.cpp:230 msgid "Add color change marker for current layer" msgstr "Добавить маркер смены цвета для текущего слоя" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:221 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:224 src/slic3r/GUI/KBShortcutsDialog.cpp:231 msgid "Delete color change marker for current layer" msgstr "Удалить маркер смены цвета для текущего слоя" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:222 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:223 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:231 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:232 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:226 +msgid "Move current slider thumb Up" +msgstr "Сдвинуть ползунок вверх" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:227 +msgid "Move current slider thumb Down" +msgstr "Сдвинуть ползунок вниз" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:228 +msgid "Set upper thumb to current slider thumb" +msgstr "Переместить ползунок в верхнее положение" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:229 +msgid "Set lower thumb to current slider thumb" +msgstr "Переместить ползунок в нижнее положение" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:233 src/slic3r/GUI/KBShortcutsDialog.cpp:234 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:249 src/slic3r/GUI/KBShortcutsDialog.cpp:250 msgid "" "Press to speed up 5 times while moving thumb\n" "with arrow keys or mouse wheel" msgstr "" +"Ускорить перемещение ползунка в 5 раз с помощью \n" +"стрелок на клавиатуре или колесом мыши" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:226 -msgid "Layers Slider" -msgstr "Ползунок по слоям" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:237 +msgid "Vertical Slider" +msgstr "Вертикальный ползунок" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:229 -msgid "Move current slider thumb Left" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:230 -msgid "Move current slider thumb Right" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:235 -msgid "Sequential Slider" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:258 -msgid "Keyboard shortcuts" -msgstr "Клавиатурные комбинации" - -#: src/slic3r/GUI/MainFrame.cpp:64 src/slic3r/GUI/MainFrame.cpp:1189 -msgid "Open new instance" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:64 src/slic3r/GUI/MainFrame.cpp:78 -#: src/slic3r/GUI/MainFrame.cpp:1189 -msgid "Open a new PrusaSlicer instance" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:67 src/slic3r/GUI/MainFrame.cpp:80 -msgid "G-code preview" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:67 src/slic3r/GUI/MainFrame.cpp:1095 -msgid "Open G-code viewer" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:78 src/slic3r/GUI/MainFrame.cpp:1250 -msgid "Open PrusaSlicer" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:80 -msgid "Open new G-code viewer" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:155 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:237 msgid "" -"Remember to check for updates at https://github.com/prusa3d/PrusaSlicer/" -"releases" +"The following shortcuts are applicable in G-code preview when the vertical slider " +"is active" msgstr "" +"Следующие сочетания клавиш применимы в окне предпросмотра G-кода, когда " +"вертикальный ползунок активен" -#: src/slic3r/GUI/MainFrame.cpp:507 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:241 +msgid "Move active thumb Left" +msgstr "Сдвинуть активный ползунок влево" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:242 +msgid "Move active thumb Right" +msgstr "Сдвинуть активный ползунок вправо" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:243 +msgid "Set left thumb as active" +msgstr "Переместить ползунок в левое положение" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:244 +msgid "Set right thumb as active" +msgstr "Переместить ползунок в правое положение" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:246 +msgid "Move active slider thumb Left" +msgstr "Сдвинуть активный ползунок влево" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:247 +msgid "Move active slider thumb Right" +msgstr "Сдвинуть активный ползунок вправо" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:253 +msgid "Horizontal Slider" +msgstr "Горизонтальный ползунок" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:253 +msgid "" +"The following shortcuts are applicable in G-code preview when the horizontal slider " +"is active" +msgstr "" +"Следующие сочетания клавиш применимы в окне предпросмотра G-кода, когда " +"горизонтальный ползунок активен" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:276 +msgid "Keyboard shortcuts" +msgstr "Горячие клавиши" + +#: src/slic3r/GUI/MainFrame.cpp:65 src/slic3r/GUI/MainFrame.cpp:79 +#: src/slic3r/GUI/MainFrame.cpp:1191 +msgid "Open a new PrusaSlicer instance" +msgstr "Запустить новый экземпляр PrusaSlicer" + +#: src/slic3r/GUI/MainFrame.cpp:68 src/slic3r/GUI/MainFrame.cpp:81 +msgid "G-code preview" +msgstr "Предпросмотр G-кода" + +#: src/slic3r/GUI/MainFrame.cpp:68 src/slic3r/GUI/MainFrame.cpp:1091 +msgid "Open G-code viewer" +msgstr "Открыть просмотрщик G-кода" + +#: src/slic3r/GUI/MainFrame.cpp:79 src/slic3r/GUI/MainFrame.cpp:1260 +msgid "Open PrusaSlicer" +msgstr "Открыть PrusaSlicer" + +#: src/slic3r/GUI/MainFrame.cpp:81 +msgid "Open new G-code viewer" +msgstr "Открыть новый просмотрщик G-кода" + +#: src/slic3r/GUI/MainFrame.cpp:153 +msgid "" +"Remember to check for updates at https://github.com/prusa3d/PrusaSlicer/releases" +msgstr "" +"- Не забывайте периодически проверять обновления на https://github.com/prusa3d/" +"PrusaSlicer/releases" + +#: src/slic3r/GUI/MainFrame.cpp:510 msgid "based on Slic3r" -msgstr "основывается на Slic3r" +msgstr "созданная на остове Slic3r" -#: src/slic3r/GUI/MainFrame.cpp:870 +#: src/slic3r/GUI/MainFrame.cpp:866 msgid "Prusa 3D &Drivers" -msgstr "Драйверы Prusa 3D" +msgstr "&Драйверы Prusa 3D" -#: src/slic3r/GUI/MainFrame.cpp:870 +#: src/slic3r/GUI/MainFrame.cpp:866 msgid "Open the Prusa3D drivers download page in your browser" -msgstr "Открыть страницу загрузки драйверов Prusa3D в браузере" +msgstr "Открыть страницу загрузки драйверов Prusa3D" -#: src/slic3r/GUI/MainFrame.cpp:872 +#: src/slic3r/GUI/MainFrame.cpp:868 msgid "Software &Releases" -msgstr "Выпуски ПО" +msgstr "PrusaSlicer на Github" -#: src/slic3r/GUI/MainFrame.cpp:872 +#: src/slic3r/GUI/MainFrame.cpp:868 msgid "Open the software releases page in your browser" -msgstr "Открыть страницу выпусков ПО в браузере" +msgstr "Открыть страницу программы PrusaSlicer на Github" -#: src/slic3r/GUI/MainFrame.cpp:878 +#: src/slic3r/GUI/MainFrame.cpp:874 #, c-format msgid "%s &Website" msgstr "Сайт %s" -#: src/slic3r/GUI/MainFrame.cpp:879 +#: src/slic3r/GUI/MainFrame.cpp:875 #, c-format msgid "Open the %s website in your browser" -msgstr "Открыть сайт %s в браузере" +msgstr "Открыть сайт %s" -#: src/slic3r/GUI/MainFrame.cpp:885 +#: src/slic3r/GUI/MainFrame.cpp:881 msgid "System &Info" -msgstr "Системная информация" +msgstr "&Информация о системе" -#: src/slic3r/GUI/MainFrame.cpp:885 +#: src/slic3r/GUI/MainFrame.cpp:881 msgid "Show system information" msgstr "Показать системную информацию" -#: src/slic3r/GUI/MainFrame.cpp:887 +#: src/slic3r/GUI/MainFrame.cpp:883 msgid "Show &Configuration Folder" -msgstr "Каталог настроек" +msgstr "Показать &конфигурационную папку" -#: src/slic3r/GUI/MainFrame.cpp:887 +#: src/slic3r/GUI/MainFrame.cpp:883 msgid "Show user configuration folder (datadir)" -msgstr "Открыть каталог настроек пользователя (datadir) во внешней программе" +msgstr "Показать папку конфигурации пользователя (datadir)" -#: src/slic3r/GUI/MainFrame.cpp:889 +#: src/slic3r/GUI/MainFrame.cpp:885 msgid "Report an I&ssue" -msgstr "Сообщить о проблеме" +msgstr "Сообщить о &проблеме" -#: src/slic3r/GUI/MainFrame.cpp:889 +#: src/slic3r/GUI/MainFrame.cpp:885 #, c-format msgid "Report an issue on %s" -msgstr "Сообщить о проблеме с %s" +msgstr "Сообщить о проблеме в %s" -#: src/slic3r/GUI/MainFrame.cpp:892 src/slic3r/GUI/MainFrame.cpp:895 +#: src/slic3r/GUI/MainFrame.cpp:888 src/slic3r/GUI/MainFrame.cpp:891 #, c-format msgid "&About %s" -msgstr "О %s" +msgstr "&O программе %s" -#: src/slic3r/GUI/MainFrame.cpp:892 src/slic3r/GUI/MainFrame.cpp:895 +#: src/slic3r/GUI/MainFrame.cpp:888 src/slic3r/GUI/MainFrame.cpp:891 msgid "Show about dialog" msgstr "Показать окно с информацией о программе" -#: src/slic3r/GUI/MainFrame.cpp:898 +#: src/slic3r/GUI/MainFrame.cpp:894 msgid "Show the list of the keyboard shortcuts" -msgstr "Показать список клавиш доступа к командам" +msgstr "Показать список сочетаний клавиш" -#: src/slic3r/GUI/MainFrame.cpp:912 +#: src/slic3r/GUI/MainFrame.cpp:908 msgid "Iso" msgstr "Изометрия" -#: src/slic3r/GUI/MainFrame.cpp:912 +#: src/slic3r/GUI/MainFrame.cpp:908 msgid "Iso View" msgstr "Изометрическая проекция" #. TRN To be shown in the main menu View->Top #. TRN To be shown in Print Settings "Top solid layers" -#: src/slic3r/GUI/MainFrame.cpp:916 src/libslic3r/PrintConfig.cpp:2328 -#: src/libslic3r/PrintConfig.cpp:2337 +#: src/slic3r/GUI/MainFrame.cpp:912 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2369 msgid "Top" msgstr "Сверху" -#: src/slic3r/GUI/MainFrame.cpp:916 +#: src/slic3r/GUI/MainFrame.cpp:912 msgid "Top View" msgstr "Вид сверху" #. TRN To be shown in the main menu View->Bottom #. TRN To be shown in Print Settings "Bottom solid layers" #. TRN To be shown in Print Settings "Top solid layers" -#: src/slic3r/GUI/MainFrame.cpp:919 src/libslic3r/PrintConfig.cpp:215 -#: src/libslic3r/PrintConfig.cpp:224 +#: src/slic3r/GUI/MainFrame.cpp:915 src/libslic3r/PrintConfig.cpp:230 +#: src/libslic3r/PrintConfig.cpp:239 msgid "Bottom" msgstr "Снизу" -#: src/slic3r/GUI/MainFrame.cpp:919 +#: src/slic3r/GUI/MainFrame.cpp:915 msgid "Bottom View" msgstr "Вид снизу" -#: src/slic3r/GUI/MainFrame.cpp:921 +#: src/slic3r/GUI/MainFrame.cpp:917 msgid "Front" msgstr "Спереди" -#: src/slic3r/GUI/MainFrame.cpp:921 +#: src/slic3r/GUI/MainFrame.cpp:917 msgid "Front View" msgstr "Вид спереди" -#: src/slic3r/GUI/MainFrame.cpp:923 src/libslic3r/PrintConfig.cpp:1813 +#: src/slic3r/GUI/MainFrame.cpp:919 src/libslic3r/PrintConfig.cpp:1845 msgid "Rear" msgstr "Сзади" -#: src/slic3r/GUI/MainFrame.cpp:923 +#: src/slic3r/GUI/MainFrame.cpp:919 msgid "Rear View" msgstr "Вид сзади" -#: src/slic3r/GUI/MainFrame.cpp:925 +#: src/slic3r/GUI/MainFrame.cpp:921 msgid "Left" msgstr "Слева" -#: src/slic3r/GUI/MainFrame.cpp:925 +#: src/slic3r/GUI/MainFrame.cpp:921 msgid "Left View" msgstr "Вид слева" -#: src/slic3r/GUI/MainFrame.cpp:927 +#: src/slic3r/GUI/MainFrame.cpp:923 msgid "Right" msgstr "Справа" -#: src/slic3r/GUI/MainFrame.cpp:927 +#: src/slic3r/GUI/MainFrame.cpp:923 msgid "Right View" msgstr "Вид справа" -#: src/slic3r/GUI/MainFrame.cpp:940 +#: src/slic3r/GUI/MainFrame.cpp:936 msgid "&New Project" msgstr "&Новый проект" -#: src/slic3r/GUI/MainFrame.cpp:940 +#: src/slic3r/GUI/MainFrame.cpp:936 msgid "Start a new project" msgstr "Начать новый проект" -#: src/slic3r/GUI/MainFrame.cpp:943 +#: src/slic3r/GUI/MainFrame.cpp:939 msgid "&Open Project" msgstr "&Открыть проект" -#: src/slic3r/GUI/MainFrame.cpp:943 +#: src/slic3r/GUI/MainFrame.cpp:939 msgid "Open a project file" msgstr "Открыть файл проекта" -#: src/slic3r/GUI/MainFrame.cpp:948 +#: src/slic3r/GUI/MainFrame.cpp:944 msgid "Recent projects" msgstr "Недавние проекты" -#: src/slic3r/GUI/MainFrame.cpp:957 +#: src/slic3r/GUI/MainFrame.cpp:953 msgid "" "The selected project is no longer available.\n" "Do you want to remove it from the recent projects list?" @@ -4371,617 +4549,618 @@ msgstr "" "Выбранный проект больше недоступен.\n" "Удалить его из списка последних проектов?" -#: src/slic3r/GUI/MainFrame.cpp:957 src/slic3r/GUI/MainFrame.cpp:1333 -#: src/slic3r/GUI/PrintHostDialogs.cpp:259 +#: src/slic3r/GUI/MainFrame.cpp:953 src/slic3r/GUI/MainFrame.cpp:1343 +#: src/slic3r/GUI/PrintHostDialogs.cpp:263 msgid "Error" msgstr "Ошибка" -#: src/slic3r/GUI/MainFrame.cpp:982 +#: src/slic3r/GUI/MainFrame.cpp:978 msgid "&Save Project" msgstr "&Сохранить проект" -#: src/slic3r/GUI/MainFrame.cpp:982 +#: src/slic3r/GUI/MainFrame.cpp:978 msgid "Save current project file" -msgstr "Сохранить файл текущего проекта" +msgstr "Сохранить текущий файл проекта" -#: src/slic3r/GUI/MainFrame.cpp:986 src/slic3r/GUI/MainFrame.cpp:988 +#: src/slic3r/GUI/MainFrame.cpp:982 src/slic3r/GUI/MainFrame.cpp:984 msgid "Save Project &as" -msgstr "Сохранить проект как" +msgstr "Сохранить проект &как" -#: src/slic3r/GUI/MainFrame.cpp:986 src/slic3r/GUI/MainFrame.cpp:988 +#: src/slic3r/GUI/MainFrame.cpp:982 src/slic3r/GUI/MainFrame.cpp:984 msgid "Save current project file as" -msgstr "Сохранить файл текущего проекта под другим именем" +msgstr "Сохранить текущий файл проекта как" -#: src/slic3r/GUI/MainFrame.cpp:996 +#: src/slic3r/GUI/MainFrame.cpp:992 msgid "Import STL/OBJ/AM&F/3MF" -msgstr "Импортировать STL/OBJ/AM&F/3MF" +msgstr "Загрузить STL/OBJ/AMF/3MF" -#: src/slic3r/GUI/MainFrame.cpp:996 +#: src/slic3r/GUI/MainFrame.cpp:992 msgid "Load a model" msgstr "Загрузить модель" -#: src/slic3r/GUI/MainFrame.cpp:1000 +#: src/slic3r/GUI/MainFrame.cpp:996 msgid "Import STL (imperial units)" -msgstr "" +msgstr "Загрузить STL (английская система мер)" + +#: src/slic3r/GUI/MainFrame.cpp:996 +msgid "Load an model saved with imperial units" +msgstr "Загрузить модель, сохраненную с размерами в английской системе мер" #: src/slic3r/GUI/MainFrame.cpp:1000 -msgid "Load an model saved with imperial units" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:1004 msgid "Import SL1 archive" -msgstr "" +msgstr "Импорт SL1 архива" -#: src/slic3r/GUI/MainFrame.cpp:1004 +#: src/slic3r/GUI/MainFrame.cpp:1000 msgid "Load an SL1 archive" -msgstr "" +msgstr "Импорт SL1 архива" -#: src/slic3r/GUI/MainFrame.cpp:1009 +#: src/slic3r/GUI/MainFrame.cpp:1005 msgid "Import &Config" -msgstr "Импортировать настройки" +msgstr "Загрузить текущую конфигурацию" -#: src/slic3r/GUI/MainFrame.cpp:1009 +#: src/slic3r/GUI/MainFrame.cpp:1005 msgid "Load exported configuration file" -msgstr "Загрузить сохранённый файл настроек" +msgstr "Загрузить сохранённый файл конфигурации" -#: src/slic3r/GUI/MainFrame.cpp:1012 +#: src/slic3r/GUI/MainFrame.cpp:1008 msgid "Import Config from &project" -msgstr "Импортировать настройки из проекта" +msgstr "Загрузить конфигурацию из проекта" + +#: src/slic3r/GUI/MainFrame.cpp:1008 +msgid "Load configuration from project file" +msgstr "Загрузить конфигурацию из файла проекта" #: src/slic3r/GUI/MainFrame.cpp:1012 -msgid "Load configuration from project file" -msgstr "Загрузить настройки из файла проекта" - -#: src/slic3r/GUI/MainFrame.cpp:1016 msgid "Import Config &Bundle" -msgstr "Импортировать комплект настроек" +msgstr "Импортировать все профили" -#: src/slic3r/GUI/MainFrame.cpp:1016 +#: src/slic3r/GUI/MainFrame.cpp:1012 msgid "Load presets from a bundle" -msgstr "Загрузить все профили из комплекта" +msgstr "Импортировать все профили из файла" -#: src/slic3r/GUI/MainFrame.cpp:1019 +#: src/slic3r/GUI/MainFrame.cpp:1015 msgid "&Import" -msgstr "Импорт" +msgstr "&Импорт" -#: src/slic3r/GUI/MainFrame.cpp:1022 src/slic3r/GUI/MainFrame.cpp:1295 +#: src/slic3r/GUI/MainFrame.cpp:1018 src/slic3r/GUI/MainFrame.cpp:1305 msgid "Export &G-code" -msgstr "Экспортировать G-код" +msgstr "Экспорт в G-&код" + +#: src/slic3r/GUI/MainFrame.cpp:1018 +msgid "Export current plate as G-code" +msgstr "Экспортировать текущие модели со стола в G-код" + +#: src/slic3r/GUI/MainFrame.cpp:1022 src/slic3r/GUI/MainFrame.cpp:1306 +msgid "S&end G-code" +msgstr "&Отправить G-код" #: src/slic3r/GUI/MainFrame.cpp:1022 -msgid "Export current plate as G-code" -msgstr "Экспортировать текущую компоновку как G-код" - -#: src/slic3r/GUI/MainFrame.cpp:1026 src/slic3r/GUI/MainFrame.cpp:1296 -msgid "S&end G-code" -msgstr "Послать G-код" +msgid "Send to print current plate as G-code" +msgstr "Отправить на печать текущий стол как G-код" #: src/slic3r/GUI/MainFrame.cpp:1026 -msgid "Send to print current plate as G-code" -msgstr "Послать на печать текущую компоновку как G-код" - -#: src/slic3r/GUI/MainFrame.cpp:1030 msgid "Export G-code to SD card / Flash drive" -msgstr "Экспортировать G-код на SD-карту/флешку" +msgstr "Экспорт G-кода на SD-карту / USB-накопитель" + +#: src/slic3r/GUI/MainFrame.cpp:1026 +msgid "Export current plate as G-code to SD card / Flash drive" +msgstr "Экспортировать текущие модели со стола в G-код на SD-карту / USB-накопитель" #: src/slic3r/GUI/MainFrame.cpp:1030 -msgid "Export current plate as G-code to SD card / Flash drive" -msgstr "Экспортировать текущую компоновку как G-код на SD-карту/флешку" - -#: src/slic3r/GUI/MainFrame.cpp:1034 msgid "Export plate as &STL" -msgstr "Экспортировать компоновку в STL" +msgstr "Экспорт &стола в STL" -#: src/slic3r/GUI/MainFrame.cpp:1034 +#: src/slic3r/GUI/MainFrame.cpp:1030 msgid "Export current plate as STL" -msgstr "Экспортировать текущую компоновку в STL" +msgstr "Экспортировать текущие модели со стола в STL" -#: src/slic3r/GUI/MainFrame.cpp:1037 +#: src/slic3r/GUI/MainFrame.cpp:1033 msgid "Export plate as STL &including supports" -msgstr "Экспортировать компоновку в STL с поддержками" +msgstr "Экспорт стола в STL вместе с &поддержками" -#: src/slic3r/GUI/MainFrame.cpp:1037 +#: src/slic3r/GUI/MainFrame.cpp:1033 msgid "Export current plate as STL including supports" -msgstr "Экспортировать текущую компоновку в STL включая поддержки" +msgstr "Экспортировать текущий стол в STL, включая поддержки" -#: src/slic3r/GUI/MainFrame.cpp:1040 +#: src/slic3r/GUI/MainFrame.cpp:1036 msgid "Export plate as &AMF" -msgstr "Экспортировать компоновку в &AMF" +msgstr "Экспорт стол&а в AMF" -#: src/slic3r/GUI/MainFrame.cpp:1040 +#: src/slic3r/GUI/MainFrame.cpp:1036 msgid "Export current plate as AMF" -msgstr "Экспортировать текущую компоновку в AMF" +msgstr "Экспортировать текущие модели со стола в AMF" -#: src/slic3r/GUI/MainFrame.cpp:1044 src/slic3r/GUI/MainFrame.cpp:1247 +#: src/slic3r/GUI/MainFrame.cpp:1040 src/slic3r/GUI/MainFrame.cpp:1257 msgid "Export &toolpaths as OBJ" -msgstr "Экспортировать траектории в OBJ" +msgstr "Экспорт траектории &инструмента в OBJ" -#: src/slic3r/GUI/MainFrame.cpp:1044 src/slic3r/GUI/MainFrame.cpp:1247 +#: src/slic3r/GUI/MainFrame.cpp:1040 src/slic3r/GUI/MainFrame.cpp:1257 msgid "Export toolpaths as OBJ" -msgstr "Экспортировать траектории в OBJ" +msgstr "Экспортировать траекторию инструмента в OBJ" -#: src/slic3r/GUI/MainFrame.cpp:1048 +#: src/slic3r/GUI/MainFrame.cpp:1044 msgid "Export &Config" -msgstr "Экспортировать настройки" +msgstr "Экспорт &текущей конфигурации" -#: src/slic3r/GUI/MainFrame.cpp:1048 +#: src/slic3r/GUI/MainFrame.cpp:1044 msgid "Export current configuration to file" -msgstr "Экспортировать текущие настройки в файл" +msgstr "Экспортировать текущую конфигурацию в файл" -#: src/slic3r/GUI/MainFrame.cpp:1051 +#: src/slic3r/GUI/MainFrame.cpp:1047 msgid "Export Config &Bundle" -msgstr "Экспортировать комплект настроек" +msgstr "Экспорт &всех профилей" -#: src/slic3r/GUI/MainFrame.cpp:1051 +#: src/slic3r/GUI/MainFrame.cpp:1047 msgid "Export all presets to file" -msgstr "Экспортировать комплект настроек в файл" +msgstr "Экспортировать все профили в единый файл" -#: src/slic3r/GUI/MainFrame.cpp:1054 +#: src/slic3r/GUI/MainFrame.cpp:1050 msgid "Export Config Bundle With Physical Printers" -msgstr "" +msgstr "Экспорт всех профилей с физическими принтерами" -#: src/slic3r/GUI/MainFrame.cpp:1054 +#: src/slic3r/GUI/MainFrame.cpp:1050 msgid "Export all presets including physical printers to file" -msgstr "" +msgstr "Экспорт всех профилей в файл, включая физические принтеры" -#: src/slic3r/GUI/MainFrame.cpp:1057 +#: src/slic3r/GUI/MainFrame.cpp:1053 msgid "&Export" -msgstr "Экспорт" +msgstr "&Экспорт" -#: src/slic3r/GUI/MainFrame.cpp:1059 +#: src/slic3r/GUI/MainFrame.cpp:1055 msgid "Ejec&t SD card / Flash drive" -msgstr "Извлечь SD-карту / Flash-накопитель" +msgstr "Из&влечь SD-карту / USB-накопитель" -#: src/slic3r/GUI/MainFrame.cpp:1059 +#: src/slic3r/GUI/MainFrame.cpp:1055 msgid "Eject SD card / Flash drive after the G-code was exported to it." -msgstr "" -"Извлечь SD-карту / Flash-накопитель после экспортирования на неё G-кода." +msgstr "Извлечение SD-карты / USB-накопителя (после экспорта G-кода на носитель)" -#: src/slic3r/GUI/MainFrame.cpp:1067 +#: src/slic3r/GUI/MainFrame.cpp:1063 msgid "Quick Slice" -msgstr "Быстрая нарезка" +msgstr "Быстро нарезать" -#: src/slic3r/GUI/MainFrame.cpp:1067 +#: src/slic3r/GUI/MainFrame.cpp:1063 msgid "Slice a file into a G-code" -msgstr "Нарезать файл в G-код" +msgstr "Нарезать файл" -#: src/slic3r/GUI/MainFrame.cpp:1073 +#: src/slic3r/GUI/MainFrame.cpp:1069 msgid "Quick Slice and Save As" msgstr "Быстро нарезать и сохранить как" -#: src/slic3r/GUI/MainFrame.cpp:1073 +#: src/slic3r/GUI/MainFrame.cpp:1069 msgid "Slice a file into a G-code, save as" -msgstr "Нарезать файл в G-код, сохранить как" +msgstr "Нарезать файл и сохранить как" -#: src/slic3r/GUI/MainFrame.cpp:1079 +#: src/slic3r/GUI/MainFrame.cpp:1075 msgid "Repeat Last Quick Slice" msgstr "Повторить последнюю быструю нарезку" -#: src/slic3r/GUI/MainFrame.cpp:1079 +#: src/slic3r/GUI/MainFrame.cpp:1075 msgid "Repeat last quick slice" -msgstr "Повторить последнюю быструю нарезку" +msgstr "Повтор последней быстрой нарезки" -#: src/slic3r/GUI/MainFrame.cpp:1087 +#: src/slic3r/GUI/MainFrame.cpp:1083 msgid "(Re)Slice No&w" -msgstr "(Пере)Нарезать" +msgstr "(&Пере)Нарезать" -#: src/slic3r/GUI/MainFrame.cpp:1087 +#: src/slic3r/GUI/MainFrame.cpp:1083 msgid "Start new slicing process" msgstr "Начать новый процесс нарезки" -#: src/slic3r/GUI/MainFrame.cpp:1091 +#: src/slic3r/GUI/MainFrame.cpp:1087 msgid "&Repair STL file" -msgstr "Починить STL-файл" +msgstr "По&чинить STL файл" + +#: src/slic3r/GUI/MainFrame.cpp:1087 +msgid "Automatically repair an STL file" +msgstr "Автоматическая починка STL файла" #: src/slic3r/GUI/MainFrame.cpp:1091 -msgid "Automatically repair an STL file" -msgstr "Автоматическая починка STL-файла" - -#: src/slic3r/GUI/MainFrame.cpp:1095 msgid "&G-code preview" -msgstr "" +msgstr "Пред&просмотр G-кода" -#: src/slic3r/GUI/MainFrame.cpp:1098 src/slic3r/GUI/MainFrame.cpp:1254 +#: src/slic3r/GUI/MainFrame.cpp:1094 src/slic3r/GUI/MainFrame.cpp:1264 msgid "&Quit" msgstr "&Выход" -#: src/slic3r/GUI/MainFrame.cpp:1098 src/slic3r/GUI/MainFrame.cpp:1254 +#: src/slic3r/GUI/MainFrame.cpp:1094 src/slic3r/GUI/MainFrame.cpp:1264 #, c-format msgid "Quit %s" -msgstr "Выход из %s" +msgstr "Выйти из %s" + +#: src/slic3r/GUI/MainFrame.cpp:1109 +msgid "&Select all" +msgstr "Выбрать &всё" + +#: src/slic3r/GUI/MainFrame.cpp:1110 +msgid "Selects all objects" +msgstr "Выбрать все модели" + +#: src/slic3r/GUI/MainFrame.cpp:1112 +msgid "D&eselect all" +msgstr "&Снять выбор со всего" #: src/slic3r/GUI/MainFrame.cpp:1113 -msgid "&Select all" -msgstr "Выбрать всё" - -#: src/slic3r/GUI/MainFrame.cpp:1114 -msgid "Selects all objects" -msgstr "Выбрать все объекты" +msgid "Deselects all objects" +msgstr "Выбрать все модели" #: src/slic3r/GUI/MainFrame.cpp:1116 -msgid "D&eselect all" -msgstr "Отменить всё" +msgid "&Delete selected" +msgstr "&Удалить выбранные" #: src/slic3r/GUI/MainFrame.cpp:1117 -msgid "Deselects all objects" -msgstr "Отменить выбор всех объектов" +msgid "Deletes the current selection" +msgstr "Удалить текущие выбранные модели" + +#: src/slic3r/GUI/MainFrame.cpp:1119 +msgid "Delete &all" +msgstr "Уд&алить всё" #: src/slic3r/GUI/MainFrame.cpp:1120 -msgid "&Delete selected" -msgstr "Удалить выбранное" - -#: src/slic3r/GUI/MainFrame.cpp:1121 -msgid "Deletes the current selection" -msgstr "Удалить текущее выделение" - -#: src/slic3r/GUI/MainFrame.cpp:1123 -msgid "Delete &all" -msgstr "Удалить всё" +msgid "Deletes all objects" +msgstr "Удалить все модели" #: src/slic3r/GUI/MainFrame.cpp:1124 -msgid "Deletes all objects" -msgstr "Удалить все объекты" - -#: src/slic3r/GUI/MainFrame.cpp:1128 msgid "&Undo" -msgstr "&Отменить" +msgstr "&Отмена" -#: src/slic3r/GUI/MainFrame.cpp:1131 +#: src/slic3r/GUI/MainFrame.cpp:1127 msgid "&Redo" -msgstr "&Вернуть" +msgstr "&Повтор" -#: src/slic3r/GUI/MainFrame.cpp:1136 +#: src/slic3r/GUI/MainFrame.cpp:1132 msgid "&Copy" -msgstr "&Копировать" +msgstr "С&копировать" -#: src/slic3r/GUI/MainFrame.cpp:1137 +#: src/slic3r/GUI/MainFrame.cpp:1133 msgid "Copy selection to clipboard" -msgstr "Скопировать выделение в буфер обмена" +msgstr "Скопировать выделенное в буфер обмена" -#: src/slic3r/GUI/MainFrame.cpp:1139 +#: src/slic3r/GUI/MainFrame.cpp:1135 msgid "&Paste" msgstr "&Вставить" -#: src/slic3r/GUI/MainFrame.cpp:1140 +#: src/slic3r/GUI/MainFrame.cpp:1136 msgid "Paste clipboard" msgstr "Вставить из буфера обмена" -#: src/slic3r/GUI/MainFrame.cpp:1144 +#: src/slic3r/GUI/MainFrame.cpp:1141 src/slic3r/GUI/MainFrame.cpp:1145 +#: src/slic3r/GUI/MainFrame.cpp:1248 src/slic3r/GUI/MainFrame.cpp:1252 msgid "Re&load from disk" -msgstr "Перезагрузить с диска" +msgstr "Пере&загрузить с диска" -#: src/slic3r/GUI/MainFrame.cpp:1145 -msgid "Reload the plater from disk" -msgstr "Перезагрузить компоновку с диска" - -#: src/slic3r/GUI/MainFrame.cpp:1149 +#: src/slic3r/GUI/MainFrame.cpp:1151 msgid "Searc&h" -msgstr "Поиск" +msgstr "&Поиск" -#: src/slic3r/GUI/MainFrame.cpp:1150 +#: src/slic3r/GUI/MainFrame.cpp:1152 msgid "Search in settings" -msgstr "" +msgstr "Поиск в настройках" -#: src/slic3r/GUI/MainFrame.cpp:1158 +#: src/slic3r/GUI/MainFrame.cpp:1160 msgid "&Plater Tab" -msgstr "&Вкладка компоновки" +msgstr "Вкладка &стола" -#: src/slic3r/GUI/MainFrame.cpp:1158 +#: src/slic3r/GUI/MainFrame.cpp:1160 msgid "Show the plater" -msgstr "Показать компоновку" +msgstr "Показать вкладку стола" -#: src/slic3r/GUI/MainFrame.cpp:1163 +#: src/slic3r/GUI/MainFrame.cpp:1165 msgid "P&rint Settings Tab" -msgstr "Вкладка настройки печати" +msgstr "Вкладка настройки &печати" -#: src/slic3r/GUI/MainFrame.cpp:1163 +#: src/slic3r/GUI/MainFrame.cpp:1165 msgid "Show the print settings" msgstr "Показать настройки печати" -#: src/slic3r/GUI/MainFrame.cpp:1166 src/slic3r/GUI/MainFrame.cpp:1298 +#: src/slic3r/GUI/MainFrame.cpp:1168 src/slic3r/GUI/MainFrame.cpp:1308 msgid "&Filament Settings Tab" -msgstr "Вкладка настройки прутка" +msgstr "Вкладка настройки п&рутка" -#: src/slic3r/GUI/MainFrame.cpp:1166 +#: src/slic3r/GUI/MainFrame.cpp:1168 msgid "Show the filament settings" msgstr "Показать настройки прутка" -#: src/slic3r/GUI/MainFrame.cpp:1170 +#: src/slic3r/GUI/MainFrame.cpp:1172 msgid "Print&er Settings Tab" -msgstr "Вкладка настройки принтера" +msgstr "Вкладка настройки прин&тера" -#: src/slic3r/GUI/MainFrame.cpp:1170 +#: src/slic3r/GUI/MainFrame.cpp:1172 msgid "Show the printer settings" msgstr "Показать настройки принтера" -#: src/slic3r/GUI/MainFrame.cpp:1176 +#: src/slic3r/GUI/MainFrame.cpp:1178 msgid "3&D" -msgstr "3D" +msgstr "&3D-вид" -#: src/slic3r/GUI/MainFrame.cpp:1176 +#: src/slic3r/GUI/MainFrame.cpp:1178 msgid "Show the 3D editing view" -msgstr "Показать редактируемое отображение в 3D" +msgstr "Показать вкладку 3D-вид" -#: src/slic3r/GUI/MainFrame.cpp:1179 +#: src/slic3r/GUI/MainFrame.cpp:1181 msgid "Pre&view" -msgstr "Предварительный просмотр" +msgstr "Предпр&осмотр нарезки" -#: src/slic3r/GUI/MainFrame.cpp:1179 +#: src/slic3r/GUI/MainFrame.cpp:1181 msgid "Show the 3D slices preview" -msgstr "Показать 3D нарезку" +msgstr "Показать предпросмотр нарезки" -#: src/slic3r/GUI/MainFrame.cpp:1185 +#: src/slic3r/GUI/MainFrame.cpp:1187 msgid "Print &Host Upload Queue" -msgstr "Очередь отправки на узел печати" +msgstr "Очередь загрузки на &хост печати" -#: src/slic3r/GUI/MainFrame.cpp:1185 +#: src/slic3r/GUI/MainFrame.cpp:1187 msgid "Display the Print Host Upload Queue window" -msgstr "Показать окно очереди отправки на узел печати" +msgstr "Показать очередь загрузки на хост печати" -#: src/slic3r/GUI/MainFrame.cpp:1200 +#: src/slic3r/GUI/MainFrame.cpp:1201 msgid "Show &labels" -msgstr "Показать метки" +msgstr "Показать &имена файлов" -#: src/slic3r/GUI/MainFrame.cpp:1200 +#: src/slic3r/GUI/MainFrame.cpp:1201 msgid "Show object/instance labels in 3D scene" -msgstr "Показать метки объекта/экземпляра в 3D-сцене" +msgstr "Отображать имена файлов моделей\\копий в окне 3D-вида" -#: src/slic3r/GUI/MainFrame.cpp:1203 +#: src/slic3r/GUI/MainFrame.cpp:1204 msgid "&Collapse sidebar" -msgstr "Скрыть боковую панель" +msgstr "&Свернуть боковую панель" -#: src/slic3r/GUI/MainFrame.cpp:1203 src/slic3r/GUI/Plater.cpp:2225 +#: src/slic3r/GUI/MainFrame.cpp:1204 src/slic3r/GUI/Plater.cpp:2247 msgid "Collapse sidebar" -msgstr "Скрыть боковую панель" +msgstr "Свернуть боковую панель" -#: src/slic3r/GUI/MainFrame.cpp:1215 src/slic3r/GUI/MainFrame.cpp:1269 +#: src/slic3r/GUI/MainFrame.cpp:1216 src/slic3r/GUI/MainFrame.cpp:1279 msgid "&File" msgstr "&Файл" -#: src/slic3r/GUI/MainFrame.cpp:1216 +#: src/slic3r/GUI/MainFrame.cpp:1217 msgid "&Edit" msgstr "&Правка" -#: src/slic3r/GUI/MainFrame.cpp:1217 +#: src/slic3r/GUI/MainFrame.cpp:1218 msgid "&Window" msgstr "&Окна" -#: src/slic3r/GUI/MainFrame.cpp:1218 src/slic3r/GUI/MainFrame.cpp:1270 +#: src/slic3r/GUI/MainFrame.cpp:1219 src/slic3r/GUI/MainFrame.cpp:1280 msgid "&View" msgstr "&Вид" -#: src/slic3r/GUI/MainFrame.cpp:1221 src/slic3r/GUI/MainFrame.cpp:1273 +#: src/slic3r/GUI/MainFrame.cpp:1222 src/slic3r/GUI/MainFrame.cpp:1283 msgid "&Help" -msgstr "&Справка" +msgstr "&Помощь" -#: src/slic3r/GUI/MainFrame.cpp:1243 +#: src/slic3r/GUI/MainFrame.cpp:1244 msgid "&Open G-code" -msgstr "" +msgstr "&Открыть G-код файл" -#: src/slic3r/GUI/MainFrame.cpp:1243 -msgid "Open a G-code file" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:1250 +#: src/slic3r/GUI/MainFrame.cpp:1260 msgid "Open &PrusaSlicer" -msgstr "" +msgstr "Открыть &PrusaSlicer" -#: src/slic3r/GUI/MainFrame.cpp:1295 +#: src/slic3r/GUI/MainFrame.cpp:1305 msgid "E&xport" msgstr "&Экспорт" -#: src/slic3r/GUI/MainFrame.cpp:1296 +#: src/slic3r/GUI/MainFrame.cpp:1306 msgid "S&end to print" -msgstr "Послать на печать" +msgstr "&Отправить на печать" -#: src/slic3r/GUI/MainFrame.cpp:1298 +#: src/slic3r/GUI/MainFrame.cpp:1308 msgid "Mate&rial Settings Tab" msgstr "Вкладка настройки материала" -#: src/slic3r/GUI/MainFrame.cpp:1321 +#: src/slic3r/GUI/MainFrame.cpp:1331 msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" msgstr "Выберите файл для нарезки (STL/OBJ/AMF/3MF/PRUSA):" -#: src/slic3r/GUI/MainFrame.cpp:1332 +#: src/slic3r/GUI/MainFrame.cpp:1342 msgid "No previously sliced file." msgstr "Нет ранее нарезанного файла." -#: src/slic3r/GUI/MainFrame.cpp:1338 +#: src/slic3r/GUI/MainFrame.cpp:1348 msgid "Previously sliced file (" msgstr "Ранее нарезанный файл" -#: src/slic3r/GUI/MainFrame.cpp:1338 +#: src/slic3r/GUI/MainFrame.cpp:1348 msgid ") not found." msgstr ") не найден." -#: src/slic3r/GUI/MainFrame.cpp:1339 +#: src/slic3r/GUI/MainFrame.cpp:1349 msgid "File Not Found" msgstr "Файл не найден" -#: src/slic3r/GUI/MainFrame.cpp:1374 +#: src/slic3r/GUI/MainFrame.cpp:1384 #, c-format msgid "Save %s file as:" -msgstr "Сохранить файл %s как:" +msgstr "Сохранить %s файл как:" -#: src/slic3r/GUI/MainFrame.cpp:1374 +#: src/slic3r/GUI/MainFrame.cpp:1384 msgid "SVG" msgstr "SVG" -#: src/slic3r/GUI/MainFrame.cpp:1374 +#: src/slic3r/GUI/MainFrame.cpp:1384 msgid "G-code" msgstr "G-код" -#: src/slic3r/GUI/MainFrame.cpp:1386 +#: src/slic3r/GUI/MainFrame.cpp:1396 msgid "Save zip file as:" -msgstr "Сохранить zip-файл как:" +msgstr "Сохранить .zip файл как:" -#: src/slic3r/GUI/MainFrame.cpp:1395 src/slic3r/GUI/Plater.cpp:2984 -#: src/slic3r/GUI/Plater.cpp:5496 src/slic3r/GUI/Tab.cpp:1576 -#: src/slic3r/GUI/Tab.cpp:4105 +#: src/slic3r/GUI/MainFrame.cpp:1405 src/slic3r/GUI/Plater.cpp:3009 +#: src/slic3r/GUI/Plater.cpp:5581 src/slic3r/GUI/Tab.cpp:1575 +#: src/slic3r/GUI/Tab.cpp:4115 msgid "Slicing" msgstr "Нарезка" #. TRN "Processing input_file_basename" -#: src/slic3r/GUI/MainFrame.cpp:1397 +#: src/slic3r/GUI/MainFrame.cpp:1407 #, c-format msgid "Processing %s" -msgstr "Обрабатывается %s" +msgstr "Обработка %s" -#: src/slic3r/GUI/MainFrame.cpp:1420 +#: src/slic3r/GUI/MainFrame.cpp:1430 msgid "%1% was successfully sliced." -msgstr "" +msgstr "%1% успешно нарезан." -#: src/slic3r/GUI/MainFrame.cpp:1422 +#: src/slic3r/GUI/MainFrame.cpp:1432 msgid "Slicing Done!" msgstr "Нарезка завершена!" -#: src/slic3r/GUI/MainFrame.cpp:1437 +#: src/slic3r/GUI/MainFrame.cpp:1447 msgid "Select the STL file to repair:" msgstr "Выберите STL файл для починки:" -#: src/slic3r/GUI/MainFrame.cpp:1447 +#: src/slic3r/GUI/MainFrame.cpp:1457 msgid "Save OBJ file (less prone to coordinate errors than STL) as:" -msgstr "Сохранить в OBJ как (меньше подвержен ошибкам в координатах, чем STL:" +msgstr "Сохранить в OBJ как (меньше подвержен ошибкам в координатах, чем STL):" -#: src/slic3r/GUI/MainFrame.cpp:1459 +#: src/slic3r/GUI/MainFrame.cpp:1469 msgid "Your file was repaired." msgstr "Ваш файл был починен." -#: src/slic3r/GUI/MainFrame.cpp:1459 src/libslic3r/PrintConfig.cpp:3700 +#: src/slic3r/GUI/MainFrame.cpp:1469 src/libslic3r/PrintConfig.cpp:3735 msgid "Repair" -msgstr "Починка" +msgstr "Ремонт" -#: src/slic3r/GUI/MainFrame.cpp:1473 +#: src/slic3r/GUI/MainFrame.cpp:1483 msgid "Save configuration as:" msgstr "Сохранить конфигурацию в файл как:" -#: src/slic3r/GUI/MainFrame.cpp:1492 src/slic3r/GUI/MainFrame.cpp:1554 +#: src/slic3r/GUI/MainFrame.cpp:1502 src/slic3r/GUI/MainFrame.cpp:1564 msgid "Select configuration to load:" msgstr "Выберите файл конфигурации для загрузки:" -#: src/slic3r/GUI/MainFrame.cpp:1528 +#: src/slic3r/GUI/MainFrame.cpp:1538 msgid "Save presets bundle as:" msgstr "Сохранить все профили в файл как:" -#: src/slic3r/GUI/MainFrame.cpp:1575 +#: src/slic3r/GUI/MainFrame.cpp:1585 #, c-format msgid "%d presets successfully imported." msgstr "Успешно импортировано профилей: %d шт." -#: src/slic3r/GUI/Mouse3DController.cpp:462 +#: src/slic3r/GUI/Mouse3DController.cpp:461 msgid "3Dconnexion settings" msgstr "Настройки 3Dconnexion" -#: src/slic3r/GUI/Mouse3DController.cpp:473 +#: src/slic3r/GUI/Mouse3DController.cpp:472 msgid "Device:" msgstr "Устройство:" -#: src/slic3r/GUI/Mouse3DController.cpp:478 +#: src/slic3r/GUI/Mouse3DController.cpp:477 msgid "Speed:" msgstr "Скорость:" -#: src/slic3r/GUI/Mouse3DController.cpp:481 -#: src/slic3r/GUI/Mouse3DController.cpp:502 +#: src/slic3r/GUI/Mouse3DController.cpp:480 src/slic3r/GUI/Mouse3DController.cpp:501 msgid "Translation" -msgstr "" +msgstr "Перемещение" -#: src/slic3r/GUI/Mouse3DController.cpp:493 -#: src/slic3r/GUI/Mouse3DController.cpp:502 +#: src/slic3r/GUI/Mouse3DController.cpp:492 src/slic3r/GUI/Mouse3DController.cpp:501 msgid "Zoom" -msgstr "Увеличение" +msgstr "Масштаб" -#: src/slic3r/GUI/Mouse3DController.cpp:499 +#: src/slic3r/GUI/Mouse3DController.cpp:498 msgid "Deadzone:" -msgstr "" +msgstr "Мёртвая зона:" -#: src/slic3r/GUI/Mouse3DController.cpp:514 +#: src/slic3r/GUI/Mouse3DController.cpp:513 msgid "Options:" -msgstr "Параметры:" +msgstr "Опции:" -#: src/slic3r/GUI/Mouse3DController.cpp:517 +#: src/slic3r/GUI/Mouse3DController.cpp:516 msgid "Swap Y/Z axes" -msgstr "" +msgstr "Поменять местами оси Y/Z" -#: src/slic3r/GUI/MsgDialog.cpp:73 +#: src/slic3r/GUI/MsgDialog.cpp:70 #, c-format msgid "%s error" -msgstr "Ошибка %s" +msgstr "%s ошибка" -#: src/slic3r/GUI/MsgDialog.cpp:74 +#: src/slic3r/GUI/MsgDialog.cpp:71 #, c-format msgid "%s has encountered an error" -msgstr "В %s возникла ошибка" +msgstr "%s обнаружил ошибку" -#: src/slic3r/GUI/NotificationManager.hpp:398 +#: src/slic3r/GUI/NotificationManager.hpp:471 msgid "3D Mouse disconnected." -msgstr "" +msgstr "3D-мышь отключена." -#: src/slic3r/GUI/NotificationManager.hpp:401 +#: src/slic3r/GUI/NotificationManager.hpp:474 msgid "Configuration update is available." -msgstr "" +msgstr "Доступно обновление конфигурации." -#: src/slic3r/GUI/NotificationManager.hpp:401 +#: src/slic3r/GUI/NotificationManager.hpp:474 msgid "See more." -msgstr "" +msgstr "Подробнее." -#: src/slic3r/GUI/NotificationManager.hpp:403 +#: src/slic3r/GUI/NotificationManager.hpp:476 msgid "New version is available." -msgstr "" +msgstr "Доступна новая версия." -#: src/slic3r/GUI/NotificationManager.hpp:403 +#: src/slic3r/GUI/NotificationManager.hpp:476 msgid "See Releases page." -msgstr "" +msgstr "Смотрите страницу релизов." -#: src/slic3r/GUI/NotificationManager.cpp:387 -#: src/slic3r/GUI/NotificationManager.cpp:397 +#: src/slic3r/GUI/NotificationManager.hpp:479 +msgid "" +"You have just added a G-code for color change, but its value is empty.\n" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer " +"Settings > Custom G-code\"" +msgstr "" +"Вы только что добавили G-код смена цвета, но его значение в соответствующем поле не " +"задано.\n" +"Для правильного экспорта G-кода, проверьте пункт \"G-код смены цвета\" в разделе " +"Настройки принтера > Пользовательский G-код." + +#: src/slic3r/GUI/NotificationManager.cpp:490 +#: src/slic3r/GUI/NotificationManager.cpp:500 msgid "More" -msgstr "Больше" +msgstr "Подробнее." -#: src/slic3r/GUI/NotificationManager.cpp:690 -#: src/slic3r/GUI/NotificationManager.cpp:961 +#: src/slic3r/GUI/NotificationManager.cpp:864 +#: src/slic3r/GUI/NotificationManager.cpp:1141 msgid "Export G-Code." -msgstr "" +msgstr "Экспорт в G-код." -#: src/slic3r/GUI/NotificationManager.cpp:734 +#: src/slic3r/GUI/NotificationManager.cpp:908 msgid "Open Folder." -msgstr "" +msgstr "Открыть папку." -#: src/slic3r/GUI/NotificationManager.cpp:772 +#: src/slic3r/GUI/NotificationManager.cpp:946 msgid "Eject drive" -msgstr "" +msgstr "Извлечь диск" -#: src/slic3r/GUI/NotificationManager.cpp:880 -#: src/slic3r/GUI/NotificationManager.cpp:896 -#: src/slic3r/GUI/NotificationManager.cpp:907 +#: src/slic3r/GUI/NotificationManager.cpp:1060 +#: src/slic3r/GUI/NotificationManager.cpp:1076 +#: src/slic3r/GUI/NotificationManager.cpp:1087 msgid "ERROR:" -msgstr "" +msgstr "ОШИБКА:" -#: src/slic3r/GUI/NotificationManager.cpp:885 -#: src/slic3r/GUI/NotificationManager.cpp:900 -#: src/slic3r/GUI/NotificationManager.cpp:915 +#: src/slic3r/GUI/NotificationManager.cpp:1065 +#: src/slic3r/GUI/NotificationManager.cpp:1080 +#: src/slic3r/GUI/NotificationManager.cpp:1095 msgid "WARNING:" -msgstr "" +msgstr "ПРЕДУПРЕЖДЕНИЕ:" -#: src/slic3r/GUI/NotificationManager.cpp:964 +#: src/slic3r/GUI/NotificationManager.cpp:1144 msgid "Slicing finished." -msgstr "" +msgstr "Нарезка завершена." -#: src/slic3r/GUI/NotificationManager.cpp:1007 +#: src/slic3r/GUI/NotificationManager.cpp:1186 msgid "Exporting finished." -msgstr "" +msgstr "Экспорт завершён." #: src/slic3r/GUI/ObjectDataViewModel.cpp:58 msgid "Instances" -msgstr "Экземпляры" +msgstr "Копии" #: src/slic3r/GUI/ObjectDataViewModel.cpp:62 #: src/slic3r/GUI/ObjectDataViewModel.cpp:225 #, c-format msgid "Instance %d" -msgstr "Экземпляр %d" +msgstr "Копия %d" -#: src/slic3r/GUI/ObjectDataViewModel.cpp:69 src/slic3r/GUI/Tab.cpp:3952 -#: src/slic3r/GUI/Tab.cpp:4034 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:69 src/slic3r/GUI/Tab.cpp:3962 +#: src/slic3r/GUI/Tab.cpp:4044 msgid "Layers" msgstr "Слои" @@ -4995,16 +5174,23 @@ msgid "" "PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" "while OpenGL version %s, render %s, vendor %s was detected." msgstr "" +"Обнаружена графическая подсистема с поддержкой OpenGL версии %s (рендеринг %s, " +"поставщик %s).\n" +"Для правильной же работы PrusaSlicer требуется драйвер графической подсистемы, " +"поддерживающий OpenGL 2.0." #: src/slic3r/GUI/OpenGLManager.cpp:262 msgid "You may need to update your graphics card driver." -msgstr "" +msgstr "Возможно, вам потребуется обновить драйвер видеокарты." #: src/slic3r/GUI/OpenGLManager.cpp:265 msgid "" -"As a workaround, you may run PrusaSlicer with a software rendered 3D " -"graphics by running prusa-slicer.exe with the --sw_renderer parameter." +"As a workaround, you may run PrusaSlicer with a software rendered 3D graphics by " +"running prusa-slicer.exe with the --sw_renderer parameter." msgstr "" +"В качестве обходного пути вы можете запустить PrusaSlicer с программным рендерингом " +"(построения изображения без помощи GPU), запустив prusa-slicer.exe с параметром --" +"sw_renderer." #: src/slic3r/GUI/OpenGLManager.cpp:267 msgid "Unsupported OpenGL version" @@ -5016,52 +5202,54 @@ msgid "" "Unable to load the following shaders:\n" "%s" msgstr "" +"Не удалось загрузить следующие шейдеры:\n" +"%s" #: src/slic3r/GUI/OpenGLManager.cpp:276 msgid "Error loading shaders" -msgstr "" +msgstr "Ошибка загрузки шейдеров" -#: src/slic3r/GUI/OptionsGroup.cpp:333 +#: src/slic3r/GUI/OptionsGroup.cpp:335 msgctxt "Layers" msgid "Top" msgstr "Сверху" -#: src/slic3r/GUI/OptionsGroup.cpp:333 +#: src/slic3r/GUI/OptionsGroup.cpp:335 msgctxt "Layers" msgid "Bottom" msgstr "Снизу" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:51 msgid "Delete this preset from this printer device" -msgstr "" +msgstr "Удалить этот профиль у данного принтера" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:81 msgid "This printer will be shown in the presets list as" -msgstr "" +msgstr "Этот принтер будет отображаться в списке профилей как" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:155 msgid "Physical Printer" -msgstr "" +msgstr "Физический принтер" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:161 msgid "Type here the name of your printer device" -msgstr "" +msgstr "Введите здесь имя вашего принтера" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:172 msgid "Descriptive name for the printer" -msgstr "" +msgstr "Имя принтера" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:176 msgid "Add preset for this printer device" -msgstr "" +msgstr "Добавить профиль для этого принтера" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:205 src/slic3r/GUI/Tab.cpp:2064 msgid "Print Host upload" -msgstr "Отправка на узел печати" +msgstr "Загрузка на хост печати" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:260 msgid "Connection to printers connected via the print host failed." -msgstr "" +msgstr "Не удалось подключиться к принтерам, подключенным через через хост печати." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:302 msgid "Test" @@ -5069,7 +5257,7 @@ msgstr "Тест" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:307 msgid "Could not get a valid Printer Host reference" -msgstr "Невозможно получить корректную ссылку узла печати" +msgstr "Не удалось получить действительную ссылку на хост принтера" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:319 msgid "Success!" @@ -5077,15 +5265,15 @@ msgstr "Успешно!" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:329 msgid "Refresh Printers" -msgstr "" +msgstr "Обновить принтеры" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:356 msgid "" -"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" -"signed certificate." +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-signed " +"certificate." msgstr "" -"Файл УЦ для HTTPS не является обязательным. Файл необходим, только если вы " -"используете HTTPS с самоподписанным сертификатом." +"Файл HTTPS CA не обязателен. Он необходим только при использовании HTTPS с " +"самоподписанным сертификатом." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:366 msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" @@ -5093,29 +5281,28 @@ msgstr "Файлы сертификатов (*.crt, *.pem)|*.crt;*.pem|Все ф #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:367 msgid "Open CA certificate file" -msgstr "Открыть файл сертификата УЦ" +msgstr "Открыть файл сертификата CA" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:395 -#: src/libslic3r/PrintConfig.cpp:120 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:395 src/libslic3r/PrintConfig.cpp:124 msgid "HTTPS CA File" -msgstr "Файл УЦ для HTTPS" +msgstr "Файл HTTPS CA сертификата" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:396 #, c-format msgid "" -"On this system, %s uses HTTPS certificates from the system Certificate Store " -"or Keychain." +"On this system, %s uses HTTPS certificates from the system Certificate Store or " +"Keychain." msgstr "" -"В этой системе %s использует сертификаты HTTPS из системного хранилища " -"сертификатов или связки ключей." +"В этой системе %s использует HTTPS сертификаты из системного хранилища сертификатов/" +"Keychain." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:397 msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." msgstr "" -"Чтобы использовать свой файл УЦ, импортируйте этот файл в хранилище " -"сертификатов/связку ключей." +"Чтобы использовать пользовательский файл CA, импортируйте его в хранилище " +"сертификатов/Keychain." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:543 msgid "The supplied name is empty. It can't be saved." @@ -5123,11 +5310,11 @@ msgstr "Имя не задано. Невозможно сохранить." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:547 msgid "You should change the name of your printer device." -msgstr "" +msgstr "Пожалуйста, измените имя вашего принтера." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:555 msgid "Printer with name \"%1%\" already exists." -msgstr "" +msgstr "Принтер с именем \"%1%\" уже существует." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:556 msgid "Replace?" @@ -5135,17 +5322,15 @@ msgstr "Заменить?" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:579 msgid "" -"Following printer preset(s) is duplicated:%1%The above preset for printer " -"\"%2%\" will be used just once." +"Following printer preset(s) is duplicated:%1%The above preset for printer \"%2%\" " +"will be used just once." msgstr "" +"Следующий профиль(-и) принтера будет продублирован: %1% Вышеуказанный профиль для " +"принтера %2% будет использован только один раз." #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:625 msgid "It's not possible to delete the last related preset for the printer." -msgstr "" - -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:626 -msgid "Infornation" -msgstr "" +msgstr "Невозможно удалить последний связанный профиль принтера." #: src/slic3r/GUI/Plater.cpp:163 msgid "Volume" @@ -5169,7 +5354,7 @@ msgstr "Информация о нарезке" #: src/slic3r/GUI/Plater.cpp:237 src/slic3r/GUI/Plater.cpp:1151 msgid "Used Filament (m)" -msgstr "" +msgstr "Использовано прутка в метрах" #: src/slic3r/GUI/Plater.cpp:238 src/slic3r/GUI/Plater.cpp:1163 msgid "Used Filament (mm³)" @@ -5181,44 +5366,46 @@ msgstr "Использовано прутка (г)" #: src/slic3r/GUI/Plater.cpp:240 msgid "Used Material (unit)" -msgstr "Использовано материалов (шт)" +msgstr "Использовано материала (единиц)" #: src/slic3r/GUI/Plater.cpp:241 msgid "Cost (money)" -msgstr "Стоимость (денег)" +msgstr "Стоимость" #: src/slic3r/GUI/Plater.cpp:243 msgid "Number of tool changes" -msgstr "Количество смен сопла" +msgstr "Количество инструментов" #: src/slic3r/GUI/Plater.cpp:360 msgid "Select what kind of support do you need" -msgstr "Выбор варианта поддержек" +msgstr "Выбор варианта поддержки" -#: src/slic3r/GUI/Plater.cpp:362 src/libslic3r/PrintConfig.cpp:2096 -#: src/libslic3r/PrintConfig.cpp:2891 +#: src/slic3r/GUI/Plater.cpp:362 src/libslic3r/PrintConfig.cpp:2128 +#: src/libslic3r/PrintConfig.cpp:2923 msgid "Support on build plate only" -msgstr "Только от платформы" +msgstr "Только от стола" #: src/slic3r/GUI/Plater.cpp:363 src/slic3r/GUI/Plater.cpp:489 msgid "For support enforcers only" -msgstr "Только для принудительных поддержек" +msgstr "Только принудительная" #: src/slic3r/GUI/Plater.cpp:364 msgid "Everywhere" msgstr "Везде" -#: src/slic3r/GUI/Plater.cpp:396 src/slic3r/GUI/Tab.cpp:1470 +#: src/slic3r/GUI/Plater.cpp:396 src/slic3r/GUI/Tab.cpp:1469 msgid "Brim" msgstr "Кайма" #: src/slic3r/GUI/Plater.cpp:398 msgid "" -"This flag enables the brim that will be printed around each object on the " -"first layer." +"This flag enables the brim that will be printed around each object on the first " +"layer." msgstr "" -"Включает кайму, которая будет печататься вокруг каждого объекта на первом " -"слое." +"Расстояние от модели до самой дальней линии каймы. Широкая кайма повышает адгезию к " +"столу, но уменьшает полезную площадь печати. Увеличение этого параметра очень важно " +"для моделей с маленькой площадью контакта со столом и особенно важно при печати ABS " +"пластиком." #: src/slic3r/GUI/Plater.cpp:406 msgid "Purging volumes" @@ -5226,32 +5413,32 @@ msgstr "Объём очистки" #: src/slic3r/GUI/Plater.cpp:503 msgid "Select what kind of pad do you need" -msgstr "" +msgstr "Выбор варианта подложки" #: src/slic3r/GUI/Plater.cpp:505 msgid "Below object" -msgstr "Ниже объекта" +msgstr "Ниже модели" #: src/slic3r/GUI/Plater.cpp:506 msgid "Around object" -msgstr "Вокруг объекта" +msgstr "Вокруг модели" #: src/slic3r/GUI/Plater.cpp:695 msgid "SLA print settings" -msgstr "Настройки печати SLA" +msgstr "Настройки SLA печати" -#: src/slic3r/GUI/Plater.cpp:756 src/slic3r/GUI/Plater.cpp:5962 +#: src/slic3r/GUI/Plater.cpp:756 src/slic3r/GUI/Plater.cpp:6055 msgid "Send to printer" -msgstr "Отправить на принтер" +msgstr "На принтер" -#: src/slic3r/GUI/Plater.cpp:771 src/slic3r/GUI/Plater.cpp:2984 -#: src/slic3r/GUI/Plater.cpp:5499 +#: src/slic3r/GUI/Plater.cpp:771 src/slic3r/GUI/Plater.cpp:3009 +#: src/slic3r/GUI/Plater.cpp:5584 msgid "Slice now" -msgstr "Нарезать" +msgstr "НАРЕЗАТЬ" #: src/slic3r/GUI/Plater.cpp:926 msgid "Hold Shift to Slice & Export G-code" -msgstr "Зажмите Shift что нарезать и экспортировать G-код" +msgstr "Удерживайте клавишу Shift, чтобы нарезать и экспортировать в G-код" #: src/slic3r/GUI/Plater.cpp:1071 #, c-format @@ -5266,11 +5453,11 @@ msgstr "Исправлено ошибок: %d" #: src/slic3r/GUI/Plater.cpp:1079 #, c-format msgid "" -"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " -"facets reversed, %d backwards edges" +"%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d facets " +"reversed, %d backwards edges" msgstr "" -"вырождено %d граней, починено %d рёбер, %d граней удалено, %d граней " -"добавлено, %d граней реверсировано, вывернуто %d рёбер" +"Вырожденных граней: %d. | Рёбер починено: %d. | Граней удалено: %d. | Граней " +"добавлено: %d. | Граней реверсировано: %d. | Вывернуто рёбер: %d." #: src/slic3r/GUI/Plater.cpp:1089 msgid "Yes" @@ -5282,38 +5469,38 @@ msgstr "Использовано материала (мл)" #: src/slic3r/GUI/Plater.cpp:1113 msgid "object(s)" -msgstr "объект(ы)" +msgstr "модель(и)" #: src/slic3r/GUI/Plater.cpp:1113 msgid "supports and pad" -msgstr "" +msgstr "поддержка и подложка" #: src/slic3r/GUI/Plater.cpp:1151 msgid "Used Filament (in)" -msgstr "" +msgstr "Использовано прутка (дюймы)" #: src/slic3r/GUI/Plater.cpp:1153 src/slic3r/GUI/Plater.cpp:1206 msgid "objects" -msgstr "объекты" +msgstr "модели" #: src/slic3r/GUI/Plater.cpp:1153 src/slic3r/GUI/Plater.cpp:1206 msgid "wipe tower" -msgstr "башня очистки" +msgstr "черновой башни" #: src/slic3r/GUI/Plater.cpp:1163 msgid "Used Filament (in³)" -msgstr "" +msgstr "Использовано прутка (дюймы³)" #: src/slic3r/GUI/Plater.cpp:1189 msgid "Filament at extruder %1%" -msgstr "" +msgstr "Прутка в экструдере %1%" #: src/slic3r/GUI/Plater.cpp:1195 -msgid "(weight with spool)" -msgstr "" +msgid "(including spool)" +msgstr "(включая катушку)" -#: src/slic3r/GUI/Plater.cpp:1204 src/libslic3r/PrintConfig.cpp:805 -#: src/libslic3r/PrintConfig.cpp:2706 src/libslic3r/PrintConfig.cpp:2707 +#: src/slic3r/GUI/Plater.cpp:1204 src/libslic3r/PrintConfig.cpp:822 +#: src/libslic3r/PrintConfig.cpp:2738 src/libslic3r/PrintConfig.cpp:2739 msgid "Cost" msgstr "Стоимость" @@ -5323,1095 +5510,1115 @@ msgstr "нормальный режим" #: src/slic3r/GUI/Plater.cpp:1232 msgid "stealth mode" -msgstr "" +msgstr "тихий режим" -#: src/slic3r/GUI/Plater.cpp:1400 src/slic3r/GUI/Plater.cpp:4841 +#: src/slic3r/GUI/Plater.cpp:1403 src/slic3r/GUI/Plater.cpp:4923 #, c-format msgid "%s - Drop project file" -msgstr "" +msgstr "%s - Перетаскивание файла-проекта" -#: src/slic3r/GUI/Plater.cpp:1407 src/slic3r/GUI/Plater.cpp:4848 +#: src/slic3r/GUI/Plater.cpp:1410 src/slic3r/GUI/Plater.cpp:4930 msgid "Open as project" -msgstr "" +msgstr "Открыть как проект" -#: src/slic3r/GUI/Plater.cpp:1408 src/slic3r/GUI/Plater.cpp:4849 +#: src/slic3r/GUI/Plater.cpp:1411 src/slic3r/GUI/Plater.cpp:4931 msgid "Import geometry only" -msgstr "" +msgstr "Импортировать только геометрию" -#: src/slic3r/GUI/Plater.cpp:1409 src/slic3r/GUI/Plater.cpp:4850 +#: src/slic3r/GUI/Plater.cpp:1412 src/slic3r/GUI/Plater.cpp:4932 msgid "Import config only" -msgstr "" +msgstr "Импортировать только конфигурацию" -#: src/slic3r/GUI/Plater.cpp:1412 src/slic3r/GUI/Plater.cpp:4853 +#: src/slic3r/GUI/Plater.cpp:1415 src/slic3r/GUI/Plater.cpp:4935 msgid "Select an action to apply to the file" -msgstr "" +msgstr "Выберите действие для применения к файлу" -#: src/slic3r/GUI/Plater.cpp:1413 src/slic3r/GUI/Plater.cpp:4854 +#: src/slic3r/GUI/Plater.cpp:1416 src/slic3r/GUI/Plater.cpp:4936 msgid "Action" -msgstr "" +msgstr "Действие" -#: src/slic3r/GUI/Plater.cpp:1421 src/slic3r/GUI/Plater.cpp:4862 +#: src/slic3r/GUI/Plater.cpp:1424 src/slic3r/GUI/Plater.cpp:4944 msgid "Don't show again" -msgstr "" +msgstr "Больше не показывать" -#: src/slic3r/GUI/Plater.cpp:1466 src/slic3r/GUI/Plater.cpp:4899 +#: src/slic3r/GUI/Plater.cpp:1469 src/slic3r/GUI/Plater.cpp:4981 msgid "You can open only one .gcode file at a time." -msgstr "" +msgstr "За раз вы можете открыть только один .gcode файл." -#: src/slic3r/GUI/Plater.cpp:1467 src/slic3r/GUI/Plater.cpp:4900 +#: src/slic3r/GUI/Plater.cpp:1470 src/slic3r/GUI/Plater.cpp:4982 msgid "Drag and drop G-code file" -msgstr "" +msgstr "Перетащите G-код файл" -#: src/slic3r/GUI/Plater.cpp:1521 src/slic3r/GUI/Plater.cpp:4720 -#: src/slic3r/GUI/Plater.cpp:4954 +#: src/slic3r/GUI/Plater.cpp:1524 src/slic3r/GUI/Plater.cpp:4796 +#: src/slic3r/GUI/Plater.cpp:5036 msgid "Import Object" -msgstr "Импортировать объект" +msgstr "Импорт модели" -#: src/slic3r/GUI/Plater.cpp:1543 src/slic3r/GUI/Plater.cpp:4976 +#: src/slic3r/GUI/Plater.cpp:1546 src/slic3r/GUI/Plater.cpp:5058 msgid "Load File" msgstr "Загрузить файл" -#: src/slic3r/GUI/Plater.cpp:1548 src/slic3r/GUI/Plater.cpp:4981 +#: src/slic3r/GUI/Plater.cpp:1551 src/slic3r/GUI/Plater.cpp:5063 msgid "Load Files" msgstr "Загрузить файлы" -#: src/slic3r/GUI/Plater.cpp:1651 +#: src/slic3r/GUI/Plater.cpp:1654 msgid "Fill bed" -msgstr "" +msgstr "Заполнение всего стола копиями" -#: src/slic3r/GUI/Plater.cpp:1657 +#: src/slic3r/GUI/Plater.cpp:1660 msgid "Optimize Rotation" -msgstr "Оптимизировать поворот" +msgstr "Оптимизация положения" -#: src/slic3r/GUI/Plater.cpp:1663 +#: src/slic3r/GUI/Plater.cpp:1666 msgid "Import SLA archive" -msgstr "Импорт архива SLA" +msgstr "Импорт SLA архива" -#: src/slic3r/GUI/Plater.cpp:2109 +#: src/slic3r/GUI/Plater.cpp:2129 #, c-format msgid "" "Successfully unmounted. The device %s(%s) can now be safely removed from the " "computer." msgstr "" +"Размонтирование прошло успешно. Теперь устройство %s(%s) может быть безопасно " +"извлечено из компьютера." -#: src/slic3r/GUI/Plater.cpp:2112 +#: src/slic3r/GUI/Plater.cpp:2134 #, c-format msgid "Ejecting of device %s(%s) has failed." msgstr "Не удалось извлечь устройство %s(%s)." -#: src/slic3r/GUI/Plater.cpp:2131 +#: src/slic3r/GUI/Plater.cpp:2153 msgid "New Project" msgstr "Новый проект" -#: src/slic3r/GUI/Plater.cpp:2224 +#: src/slic3r/GUI/Plater.cpp:2246 msgid "Expand sidebar" -msgstr "" +msgstr "Развернуть боковую панель" -#: src/slic3r/GUI/Plater.cpp:2297 +#: src/slic3r/GUI/Plater.cpp:2319 msgid "Loading" -msgstr "Загружается" +msgstr "Загрузка" -#: src/slic3r/GUI/Plater.cpp:2307 +#: src/slic3r/GUI/Plater.cpp:2329 msgid "Loading file" -msgstr "" +msgstr "Загрузка файла" -#: src/slic3r/GUI/Plater.cpp:2390 +#: src/slic3r/GUI/Plater.cpp:2415 #, c-format msgid "" "Some object(s) in file %s looks like saved in inches.\n" "Should I consider them as a saved in inches and convert them?" msgstr "" +"Похоже какая-то модель(-и) в файле %s сохранена в дюймах.\n" +"Считать что она сохранена в дюймах и конвертировать?" -#: src/slic3r/GUI/Plater.cpp:2392 +#: src/slic3r/GUI/Plater.cpp:2417 msgid "The object appears to be saved in inches" -msgstr "" +msgstr "Похоже какая-то модель(-и) в файле %s сохранена в дюймах" -#: src/slic3r/GUI/Plater.cpp:2400 +#: src/slic3r/GUI/Plater.cpp:2425 msgid "" "This file contains several objects positioned at multiple heights.\n" "Instead of considering them as multiple objects, should I consider\n" "this file as a single object having multiple parts?" msgstr "" -"Этот файл содержит несколько объектов, расположенных на разных высотах.\n" -"Вместо того, чтобы рассматривать их как несколько объектов, следует ли\n" -"рассматривать этот файл как один объект, состоящий из нескольких частей?" +"Этот файл содержит несколько моделей, расположенных на разных высотах.\n" +"Вместо того, чтобы рассматривать их как несколько моделей, следует ли рассматривать " +"этот файл как одну модель состоящую из несколько частей?" -#: src/slic3r/GUI/Plater.cpp:2403 src/slic3r/GUI/Plater.cpp:2456 +#: src/slic3r/GUI/Plater.cpp:2428 src/slic3r/GUI/Plater.cpp:2481 msgid "Multi-part object detected" -msgstr "Обнаружен объект, состоящий из нескольких частей" +msgstr "Обнаружена модель, состоящая из нескольких частей" -#: src/slic3r/GUI/Plater.cpp:2410 +#: src/slic3r/GUI/Plater.cpp:2435 msgid "" -"This file cannot be loaded in a simple mode. Do you want to switch to an " -"advanced mode?" +"This file cannot be loaded in a simple mode. Do you want to switch to an advanced " +"mode?" msgstr "" +"Этот файл не может быть загружен в простом режиме. Хотите перейти в расширенный " +"режим?" -#: src/slic3r/GUI/Plater.cpp:2411 +#: src/slic3r/GUI/Plater.cpp:2436 msgid "Detected advanced data" msgstr "Обнаружены расширенные данные" -#: src/slic3r/GUI/Plater.cpp:2433 +#: src/slic3r/GUI/Plater.cpp:2458 #, c-format msgid "" -"You can't to add the object(s) from %s because of one or some of them " -"is(are) multi-part" +"You can't to add the object(s) from %s because of one or some of them is(are) multi-" +"part" msgstr "" +"Вы не можете добавить модель(и) из %s, потому что одна или несколько из них " +"являются составными (состоят из нескольких частей)" -#: src/slic3r/GUI/Plater.cpp:2453 +#: src/slic3r/GUI/Plater.cpp:2478 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" "these files to represent a single object having multiple parts?" msgstr "" -"Для мультиматериального принтера было загружено несколько объектов. \n" -"Вместо того, чтобы рассматривать их как несколько моделей, следует ли " -"рассматривать их как одну модель,\n" -"состоящую из несколько частей?" +"Для мультиматериального принтера было загружено несколько моделей.\n" +"Вместо того, чтобы рассматривать их как несколько моделей, следует ли рассматривать " +"их как одну модель, состоящую из несколько частей?" -#: src/slic3r/GUI/Plater.cpp:2469 +#: src/slic3r/GUI/Plater.cpp:2494 msgid "Loaded" msgstr "Загружено" -#: src/slic3r/GUI/Plater.cpp:2571 +#: src/slic3r/GUI/Plater.cpp:2596 msgid "" -"Your object appears to be too large, so it was automatically scaled down to " -"fit your print bed." +"Your object appears to be too large, so it was automatically scaled down to fit " +"your print bed." msgstr "" -"Ваш объект слишком большой, поэтому он был автоматически уменьшен до размера " -"платформы печати." +"Ваша модель слишком большая, поэтому она была автоматически уменьшена до размера " +"вашего печатного стола." -#: src/slic3r/GUI/Plater.cpp:2572 +#: src/slic3r/GUI/Plater.cpp:2597 msgid "Object too large?" msgstr "Модель слишком большая?" -#: src/slic3r/GUI/Plater.cpp:2634 +#: src/slic3r/GUI/Plater.cpp:2659 msgid "Export STL file:" -msgstr "Экспорт STL-файла:" +msgstr "Экспорт в STL файл:" -#: src/slic3r/GUI/Plater.cpp:2641 +#: src/slic3r/GUI/Plater.cpp:2666 msgid "Export AMF file:" -msgstr "Экспорт AMF-файла:" +msgstr "Экспорт в AMF файл:" -#: src/slic3r/GUI/Plater.cpp:2647 +#: src/slic3r/GUI/Plater.cpp:2672 msgid "Save file as:" msgstr "Сохранить файл как:" -#: src/slic3r/GUI/Plater.cpp:2653 +#: src/slic3r/GUI/Plater.cpp:2678 msgid "Export OBJ file:" -msgstr "Экспорт OBJ-файла:" +msgstr "Экспорт в OBJ файл:" -#: src/slic3r/GUI/Plater.cpp:2749 +#: src/slic3r/GUI/Plater.cpp:2774 msgid "Delete Object" -msgstr "Удалить объект" +msgstr "Удаление модели" -#: src/slic3r/GUI/Plater.cpp:2760 +#: src/slic3r/GUI/Plater.cpp:2785 msgid "Reset Project" -msgstr "Сбросить проект" +msgstr "Обнуление проекта" -#: src/slic3r/GUI/Plater.cpp:2832 +#: src/slic3r/GUI/Plater.cpp:2857 msgid "" "The selected object can't be split because it contains more than one volume/" "material." msgstr "" -"Выбранный объект не может быть разделен, так как он содержит более одного " -"объёма/материала." +"Выбранная модель не может быть разделена, так как она содержит более одного объёма/" +"материала." -#: src/slic3r/GUI/Plater.cpp:2843 +#: src/slic3r/GUI/Plater.cpp:2868 msgid "Split to Objects" -msgstr "Разделить на объекты" +msgstr "Разделить на модели" -#: src/slic3r/GUI/Plater.cpp:2968 src/slic3r/GUI/Plater.cpp:3651 +#: src/slic3r/GUI/Plater.cpp:2993 src/slic3r/GUI/Plater.cpp:3723 msgid "Invalid data" -msgstr "" +msgstr "Неверные данные" -#: src/slic3r/GUI/Plater.cpp:2978 +#: src/slic3r/GUI/Plater.cpp:3003 msgid "Ready to slice" -msgstr "" +msgstr "Готов к нарезке на слои" -#: src/slic3r/GUI/Plater.cpp:3016 src/slic3r/GUI/PrintHostDialogs.cpp:260 +#: src/slic3r/GUI/Plater.cpp:3041 src/slic3r/GUI/PrintHostDialogs.cpp:264 msgid "Cancelling" msgstr "Отмена" -#: src/slic3r/GUI/Plater.cpp:3035 +#: src/slic3r/GUI/Plater.cpp:3060 msgid "Another export job is currently running." msgstr "Уже идёт другой процесс экспорта." -#: src/slic3r/GUI/Plater.cpp:3152 +#: src/slic3r/GUI/Plater.cpp:3177 msgid "Please select the file to reload" msgstr "Пожалуйста, выберите файл для перезагрузки" -#: src/slic3r/GUI/Plater.cpp:3187 +#: src/slic3r/GUI/Plater.cpp:3212 msgid "It is not allowed to change the file to reload" -msgstr "" +msgstr "Не разрешается заменять перезагружаемый файл" -#: src/slic3r/GUI/Plater.cpp:3187 +#: src/slic3r/GUI/Plater.cpp:3212 msgid "Do you want to retry" -msgstr "Хотите продолжить" +msgstr "Повторить снова" -#: src/slic3r/GUI/Plater.cpp:3205 +#: src/slic3r/GUI/Plater.cpp:3230 msgid "Reload from:" -msgstr "Перезагрузить с:" +msgstr "Перезагрузка из:" -#: src/slic3r/GUI/Plater.cpp:3296 +#: src/slic3r/GUI/Plater.cpp:3323 msgid "Unable to reload:" -msgstr "Не удаётся перезагрузить:" +msgstr "Не удалось перезагрузить:" -#: src/slic3r/GUI/Plater.cpp:3301 +#: src/slic3r/GUI/Plater.cpp:3328 msgid "Error during reload" -msgstr "Ошибка при перезагрузке" +msgstr "Ошибка во время перезагрузки" -#: src/slic3r/GUI/Plater.cpp:3320 +#: src/slic3r/GUI/Plater.cpp:3347 msgid "Reload all from disk" msgstr "Перезагрузить всё с диска" -#: src/slic3r/GUI/Plater.cpp:3341 -msgid "Fix Throught NetFabb" -msgstr "Починить с помощью Netfabb" +#: src/slic3r/GUI/Plater.cpp:3374 +msgid "" +"ERROR: Please close all manipulators available from the left toolbar before fixing " +"the mesh." +msgstr "" +"ОШИБКА: Пожалуйста, перед починкой сетки, завершите все манипуляции на панели " +"инструментов." -#: src/slic3r/GUI/Plater.cpp:3609 +#: src/slic3r/GUI/Plater.cpp:3380 +msgid "Fix through NetFabb" +msgstr "Ремонт модели службой Netfabb" + +#: src/slic3r/GUI/Plater.cpp:3397 +msgid "Custom supports and seams were removed after repairing the mesh." +msgstr "Пользовательские поддержки и швы были удалены после почитки сетки." + +#: src/slic3r/GUI/Plater.cpp:3680 msgid "There are active warnings concerning sliced models:" -msgstr "" +msgstr "Имеются активные предупреждения о нарезанных моделях:" -#: src/slic3r/GUI/Plater.cpp:3620 +#: src/slic3r/GUI/Plater.cpp:3691 msgid "generated warnings" -msgstr "" +msgstr "вызвала предупреждения" -#: src/slic3r/GUI/Plater.cpp:3659 src/slic3r/GUI/PrintHostDialogs.cpp:261 +#: src/slic3r/GUI/Plater.cpp:3731 src/slic3r/GUI/PrintHostDialogs.cpp:265 msgid "Cancelled" msgstr "Отменено" -#: src/slic3r/GUI/Plater.cpp:3921 src/slic3r/GUI/Plater.cpp:3945 +#: src/slic3r/GUI/Plater.cpp:3998 src/slic3r/GUI/Plater.cpp:4022 msgid "Remove the selected object" -msgstr "Удалить выбранный объект" +msgstr "Удалить выбранную модель" -#: src/slic3r/GUI/Plater.cpp:3930 +#: src/slic3r/GUI/Plater.cpp:4007 msgid "Add one more instance of the selected object" -msgstr "Добавить ещё один экземпляр выбранного объекта" +msgstr "Добавить ещё одну копию выбранной модели" -#: src/slic3r/GUI/Plater.cpp:3932 +#: src/slic3r/GUI/Plater.cpp:4009 msgid "Remove one instance of the selected object" -msgstr "Удалить один экземпляр выбранного объекта" +msgstr "Удалить одну копию выбранной модели" -#: src/slic3r/GUI/Plater.cpp:3934 +#: src/slic3r/GUI/Plater.cpp:4011 msgid "Set number of instances" -msgstr "Задать количество экземпляров" +msgstr "Задать количество копий" -#: src/slic3r/GUI/Plater.cpp:3934 +#: src/slic3r/GUI/Plater.cpp:4011 msgid "Change the number of instances of the selected object" -msgstr "Изменить количество экземпляров выбранного объекта" +msgstr "Изменить количества копий выбранной модели" -#: src/slic3r/GUI/Plater.cpp:3936 +#: src/slic3r/GUI/Plater.cpp:4013 msgid "Fill bed with instances" -msgstr "" +msgstr "Заполнить весь стол копиями" -#: src/slic3r/GUI/Plater.cpp:3936 +#: src/slic3r/GUI/Plater.cpp:4013 msgid "Fill the remaining area of bed with instances of the selected object" -msgstr "" +msgstr "Заполнить оставшуюся область печатного стола копиями выбранной модели" -#: src/slic3r/GUI/Plater.cpp:3955 +#: src/slic3r/GUI/Plater.cpp:4032 msgid "Reload the selected object from disk" -msgstr "Перезагрузить выбранный объект с диска" +msgstr "Перезагрузить выбранную модель файл с диска" -#: src/slic3r/GUI/Plater.cpp:3958 +#: src/slic3r/GUI/Plater.cpp:4035 msgid "Export the selected object as STL file" -msgstr "Экспортировать выбранный объект в STL файл" +msgstr "Экспортировать выбранную модель в STL файл" -#: src/slic3r/GUI/Plater.cpp:3989 +#: src/slic3r/GUI/Plater.cpp:4065 msgid "Along X axis" msgstr "Вдоль оси X" -#: src/slic3r/GUI/Plater.cpp:3989 +#: src/slic3r/GUI/Plater.cpp:4065 msgid "Mirror the selected object along the X axis" -msgstr "Отразить выбранный объект вдоль оси X" +msgstr "Отразить выбранную модель вдоль оси X" -#: src/slic3r/GUI/Plater.cpp:3991 +#: src/slic3r/GUI/Plater.cpp:4067 msgid "Along Y axis" msgstr "Вдоль оси Y" -#: src/slic3r/GUI/Plater.cpp:3991 +#: src/slic3r/GUI/Plater.cpp:4067 msgid "Mirror the selected object along the Y axis" -msgstr "Отразить выбранный объект вдоль оси Y" +msgstr "Отразить выбранную модель вдоль оси Y" -#: src/slic3r/GUI/Plater.cpp:3993 +#: src/slic3r/GUI/Plater.cpp:4069 msgid "Along Z axis" msgstr "Вдоль оси Z" -#: src/slic3r/GUI/Plater.cpp:3993 +#: src/slic3r/GUI/Plater.cpp:4069 msgid "Mirror the selected object along the Z axis" -msgstr "Отразить выбранный объект вдоль оси Z" +msgstr "Отразить выбранную модель вдоль оси Z" -#: src/slic3r/GUI/Plater.cpp:3996 +#: src/slic3r/GUI/Plater.cpp:4072 msgid "Mirror" msgstr "Отразить" -#: src/slic3r/GUI/Plater.cpp:3996 +#: src/slic3r/GUI/Plater.cpp:4072 msgid "Mirror the selected object" -msgstr "Отразить выбранный объект" +msgstr "Отразить выбранную модель" -#: src/slic3r/GUI/Plater.cpp:4008 +#: src/slic3r/GUI/Plater.cpp:4084 msgid "To objects" -msgstr "В объекты" +msgstr "На модели" -#: src/slic3r/GUI/Plater.cpp:4008 src/slic3r/GUI/Plater.cpp:4028 +#: src/slic3r/GUI/Plater.cpp:4084 src/slic3r/GUI/Plater.cpp:4104 msgid "Split the selected object into individual objects" -msgstr "Разделить выбранный объект на отдельные объекты" +msgstr "Разделить выбранную модель на отдельные модели" -#: src/slic3r/GUI/Plater.cpp:4010 +#: src/slic3r/GUI/Plater.cpp:4086 msgid "To parts" -msgstr "" +msgstr "На части" -#: src/slic3r/GUI/Plater.cpp:4010 src/slic3r/GUI/Plater.cpp:4046 +#: src/slic3r/GUI/Plater.cpp:4086 src/slic3r/GUI/Plater.cpp:4122 msgid "Split the selected object into individual sub-parts" -msgstr "Разделить выбранный объект на отдельные части" +msgstr "Разделить выбранную модель на отдельные части" -#: src/slic3r/GUI/Plater.cpp:4013 src/slic3r/GUI/Plater.cpp:4028 -#: src/slic3r/GUI/Plater.cpp:4046 src/libslic3r/PrintConfig.cpp:3724 +#: src/slic3r/GUI/Plater.cpp:4089 src/slic3r/GUI/Plater.cpp:4104 +#: src/slic3r/GUI/Plater.cpp:4122 src/libslic3r/PrintConfig.cpp:3759 msgid "Split" -msgstr "Разделить на части" +msgstr "Разделить" -#: src/slic3r/GUI/Plater.cpp:4013 +#: src/slic3r/GUI/Plater.cpp:4089 msgid "Split the selected object" -msgstr "Разделить выбранный объект" +msgstr "Разделить выбранную модель" -#: src/slic3r/GUI/Plater.cpp:4035 +#: src/slic3r/GUI/Plater.cpp:4111 msgid "Optimize orientation" -msgstr "Оптимизировать ориентацию" +msgstr "Оптимизация положения модели" -#: src/slic3r/GUI/Plater.cpp:4036 +#: src/slic3r/GUI/Plater.cpp:4112 msgid "Optimize the rotation of the object for better print results." -msgstr "" +msgstr "Оптимизация положения модели для лучшего результата печати." -#: src/slic3r/GUI/Plater.cpp:4116 +#: src/slic3r/GUI/Plater.cpp:4192 msgid "3D editor view" -msgstr "" +msgstr "3D-вид" -#: src/slic3r/GUI/Plater.cpp:4488 +#: src/slic3r/GUI/Plater.cpp:4564 msgid "" -"%1% printer was active at the time the target Undo / Redo snapshot was " -"taken. Switching to %1% printer requires reloading of %1% presets." +"%1% printer was active at the time the target Undo / Redo snapshot was taken. " +"Switching to %1% printer requires reloading of %1% presets." msgstr "" +"Принтер %1% был активен в момент создания целевого снапшота Отмены / Повтора. " +"Переключение на принтер %1% потребует перезагрузки профиля %1%." -#: src/slic3r/GUI/Plater.cpp:4692 +#: src/slic3r/GUI/Plater.cpp:4768 msgid "Load Project" -msgstr "Загрузить проект" +msgstr "Загрузка проекта" -#: src/slic3r/GUI/Plater.cpp:4724 +#: src/slic3r/GUI/Plater.cpp:4800 msgid "Import Objects" -msgstr "Импортировать объекты" +msgstr "Импорт моделей" -#: src/slic3r/GUI/Plater.cpp:4793 +#: src/slic3r/GUI/Plater.cpp:4868 msgid "The selected file" -msgstr "" +msgstr "В выбранном файле" -#: src/slic3r/GUI/Plater.cpp:4793 +#: src/slic3r/GUI/Plater.cpp:4868 msgid "does not contain valid gcode." -msgstr "" +msgstr "G-кода содержатся недопустимые данные." -#: src/slic3r/GUI/Plater.cpp:4794 +#: src/slic3r/GUI/Plater.cpp:4869 msgid "Error while loading .gcode file" -msgstr "" +msgstr "Ошибка при загрузке .gcode файла" -#: src/slic3r/GUI/Plater.cpp:5025 +#: src/slic3r/GUI/Plater.cpp:5107 msgid "All objects will be removed, continue?" -msgstr "Будут удалены все объекты, продолжить?" +msgstr "Все модели будут удалены, продолжить?" -#: src/slic3r/GUI/Plater.cpp:5033 +#: src/slic3r/GUI/Plater.cpp:5115 msgid "Delete Selected Objects" -msgstr "Удалить выделенные объекты" +msgstr "Удаление выбранных моделей" -#: src/slic3r/GUI/Plater.cpp:5041 +#: src/slic3r/GUI/Plater.cpp:5123 msgid "Increase Instances" -msgstr "Добавить экземпляр" +msgstr "Добавление копии" -#: src/slic3r/GUI/Plater.cpp:5075 +#: src/slic3r/GUI/Plater.cpp:5157 msgid "Decrease Instances" -msgstr "Удалить экземпляр" +msgstr "Удаление копии" -#: src/slic3r/GUI/Plater.cpp:5106 +#: src/slic3r/GUI/Plater.cpp:5188 msgid "Enter the number of copies:" msgstr "Введите количество копий:" -#: src/slic3r/GUI/Plater.cpp:5107 +#: src/slic3r/GUI/Plater.cpp:5189 msgid "Copies of the selected object" -msgstr "Копии выделенного объекта" +msgstr "Количество копий выбранной модели" -#: src/slic3r/GUI/Plater.cpp:5111 +#: src/slic3r/GUI/Plater.cpp:5193 #, c-format msgid "Set numbers of copies to %d" -msgstr "Задать количество копий равным %d" +msgstr "Задать количество копий: %d" -#: src/slic3r/GUI/Plater.cpp:5177 +#: src/slic3r/GUI/Plater.cpp:5259 msgid "Cut by Plane" -msgstr "" +msgstr "Разрез по плоскости" -#: src/slic3r/GUI/Plater.cpp:5231 +#: src/slic3r/GUI/Plater.cpp:5316 msgid "Save G-code file as:" msgstr "Сохранить файл G-кода как:" -#: src/slic3r/GUI/Plater.cpp:5231 +#: src/slic3r/GUI/Plater.cpp:5316 msgid "Save SL1 file as:" -msgstr "Сохранить файл SL1 как:" +msgstr "Сохранить SL1 файл как:" -#: src/slic3r/GUI/Plater.cpp:5378 +#: src/slic3r/GUI/Plater.cpp:5463 #, c-format msgid "STL file exported to %s" -msgstr "STL-файл экспортирован в %s" +msgstr "STL файл экспортирован в %s" -#: src/slic3r/GUI/Plater.cpp:5395 +#: src/slic3r/GUI/Plater.cpp:5480 #, c-format msgid "AMF file exported to %s" -msgstr "AMF-файл экспортирован в %s" +msgstr "AMF файл экспортирован в %s" -#: src/slic3r/GUI/Plater.cpp:5398 +#: src/slic3r/GUI/Plater.cpp:5483 #, c-format msgid "Error exporting AMF file %s" -msgstr "Ошибка экспортирования AMF-файла %s" +msgstr "AMF файл экспортирован в %s" -#: src/slic3r/GUI/Plater.cpp:5427 +#: src/slic3r/GUI/Plater.cpp:5512 #, c-format msgid "3MF file exported to %s" -msgstr "3MF-файл экспортирован в %s" +msgstr "3MF файл экспортирован в %s" -#: src/slic3r/GUI/Plater.cpp:5432 +#: src/slic3r/GUI/Plater.cpp:5517 #, c-format msgid "Error exporting 3MF file %s" -msgstr "Ошибка экспортирования 3MF-файла %s" +msgstr "3MF файл экспортирован в %s" -#: src/slic3r/GUI/Plater.cpp:5961 +#: src/slic3r/GUI/Plater.cpp:6054 msgid "Export" msgstr "Экспорт" -#: src/slic3r/GUI/Plater.cpp:6056 +#: src/slic3r/GUI/Plater.cpp:6149 msgid "Paste From Clipboard" -msgstr "Вставить из буфера обмена" +msgstr "Вставка из буфера обмена" -#: src/slic3r/GUI/Preferences.cpp:24 src/slic3r/GUI/Tab.cpp:2098 -#: src/slic3r/GUI/Tab.cpp:2280 src/slic3r/GUI/Tab.cpp:2388 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1072 +#: src/slic3r/GUI/Preferences.cpp:56 src/slic3r/GUI/Tab.cpp:2098 +#: src/slic3r/GUI/Tab.cpp:2285 src/slic3r/GUI/Tab.cpp:2393 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 msgid "General" msgstr "Общие" -#: src/slic3r/GUI/Preferences.cpp:48 +#: src/slic3r/GUI/Preferences.cpp:69 msgid "Remember output directory" -msgstr "Запоминать каталог результата" +msgstr "Запоминать папку сохранения" -#: src/slic3r/GUI/Preferences.cpp:50 +#: src/slic3r/GUI/Preferences.cpp:71 msgid "" -"If this is enabled, Slic3r will prompt the last output directory instead of " -"the one containing the input files." +"If this is enabled, Slic3r will prompt the last output directory instead of the one " +"containing the input files." msgstr "" -"Если включено, при сохранении G-кода Slic3r откроет последний использованный " +"Если включено, при сохранении G-кода PrusaSlicer откроет последний использованный " "выходной каталог вместо того, где лежит исходный файл." -#: src/slic3r/GUI/Preferences.cpp:56 +#: src/slic3r/GUI/Preferences.cpp:77 msgid "Auto-center parts" -msgstr "Автоматическое центрирование частей" +msgstr "Автоцентровка моделей" -#: src/slic3r/GUI/Preferences.cpp:58 +#: src/slic3r/GUI/Preferences.cpp:79 msgid "" -"If this is enabled, Slic3r will auto-center objects around the print bed " -"center." -msgstr "" -"Если включено, Slic3r будет автоматически центрировать объекты вокруг центра " -"платформы печати." +"If this is enabled, Slic3r will auto-center objects around the print bed center." +msgstr "Если включено, PrusaSlicer будет автоматически центрировать модели на столе." -#: src/slic3r/GUI/Preferences.cpp:64 +#: src/slic3r/GUI/Preferences.cpp:85 msgid "Background processing" msgstr "Фоновая обработка" -#: src/slic3r/GUI/Preferences.cpp:66 +#: src/slic3r/GUI/Preferences.cpp:87 msgid "" -"If this is enabled, Slic3r will pre-process objects as soon as they're " -"loaded in order to save time when exporting G-code." +"If this is enabled, Slic3r will pre-process objects as soon as they're loaded in " +"order to save time when exporting G-code." msgstr "" -"Если включено, Slic3r будет предварительно просчитывать объекты при " -"загрузке, чтобы сэкономить время при экспорте G-кода." +"Если включено, PrusaSlicer будет предварительно просчитывать модели при загрузке, " +"чтобы сэкономить время при экспорте G-кода." -#: src/slic3r/GUI/Preferences.cpp:75 +#: src/slic3r/GUI/Preferences.cpp:96 msgid "" -"If enabled, PrusaSlicer will check for the new versions of itself online. " -"When a new version becomes available a notification is displayed at the next " -"application startup (never during program usage). This is only a " -"notification mechanisms, no automatic installation is done." +"If enabled, PrusaSlicer will check for the new versions of itself online. When a " +"new version becomes available a notification is displayed at the next application " +"startup (never during program usage). This is only a notification mechanisms, no " +"automatic installation is done." msgstr "" -"Если включено, то PrusaSlicer проверяет наличие своих новых версий в сети. " -"Если доступна новая версия, то при следующем запуске отображается " -"уведомление (не отображается во время работы программы). Автоматическая " -"установка не производится. Вы увидите только уведомление." +"Если включено, то PrusaSlicer проверяет наличие новых версий в сети. Если доступна " +"новая версия при следующем запуске отображается уведомление (не во время работы " +"программы). Автоматическая установка не производится. Вы увидите только уведомление." -#: src/slic3r/GUI/Preferences.cpp:81 +#: src/slic3r/GUI/Preferences.cpp:102 msgid "Export sources full pathnames to 3mf and amf" -msgstr "Экспорт полных имён источников в 3mf и amf" +msgstr "При экспорте в 3mf, amf, сохранять полные пути к исходным файлам" -#: src/slic3r/GUI/Preferences.cpp:83 +#: src/slic3r/GUI/Preferences.cpp:104 msgid "" -"If enabled, allows the Reload from disk command to automatically find and " -"load the files when invoked." +"If enabled, allows the Reload from disk command to automatically find and load the " +"files when invoked." msgstr "" -"Если включено, позволяет команде перезагрузки с диска автоматически находить " -"и загружать файлы при вызове." +"Если включено, при выполнении команды \"Перезагрузить с диска\" программа будут " +"автоматически находить и загружать файлы проекта." -#: src/slic3r/GUI/Preferences.cpp:93 +#: src/slic3r/GUI/Preferences.cpp:114 msgid "If enabled, sets PrusaSlicer as default application to open .3mf files." msgstr "" +"Если включено, назначает PrusaSlicer в качестве приложения по умолчанию для " +"открытия .3mf файлов." -#: src/slic3r/GUI/Preferences.cpp:100 +#: src/slic3r/GUI/Preferences.cpp:121 msgid "If enabled, sets PrusaSlicer as default application to open .stl files." msgstr "" +"Если включено, назначает PrusaSlicer в качестве приложения по умолчанию для " +"открытия .stl файлов." -#: src/slic3r/GUI/Preferences.cpp:110 +#: src/slic3r/GUI/Preferences.cpp:131 msgid "" -"If enabled, Slic3r downloads updates of built-in system presets in the " -"background. These updates are downloaded into a separate temporary location. " -"When a new preset version becomes available it is offered at application " -"startup." +"If enabled, Slic3r downloads updates of built-in system presets in the background. " +"These updates are downloaded into a separate temporary location. When a new preset " +"version becomes available it is offered at application startup." msgstr "" -"Если включено, то Slic3r будет загружать обновления встроенных системных " -"профилей в фоновом режиме. Эти обновления загружаются в отдельную временную " -"папку. Когда новые профили становятся доступны, они предлагаются при запуске " -"приложения." +"Если включено, то PrusaSlicer будет загружать обновления встроенных системных " +"профилей в фоновом режиме. Эти обновления загружаются в отдельную временную папку. " +"Когда новые профили становятся доступны, они предлагаются при запуске приложения." -#: src/slic3r/GUI/Preferences.cpp:115 +#: src/slic3r/GUI/Preferences.cpp:136 msgid "Suppress \" - default - \" presets" msgstr "Подавить профили по умолчанию" -#: src/slic3r/GUI/Preferences.cpp:117 +#: src/slic3r/GUI/Preferences.cpp:138 msgid "" -"Suppress \" - default - \" presets in the Print / Filament / Printer " -"selections once there are any other valid presets available." +"Suppress \" - default - \" presets in the Print / Filament / Printer selections " +"once there are any other valid presets available." msgstr "" -"Подавлять профили по умолчанию во вкладках Настройки печати/Настройки прутка/" -"Настройки принтера, при наличии других допустимых профилей." +"Подавлять профили по умолчанию во вкладках Настройки печати/Настройки прутка/Настройки принтера, " +"при наличии других допустимых профилей." -#: src/slic3r/GUI/Preferences.cpp:123 +#: src/slic3r/GUI/Preferences.cpp:144 msgid "Show incompatible print and filament presets" msgstr "Показывать несовместимые профили печати и прутка" -#: src/slic3r/GUI/Preferences.cpp:125 +#: src/slic3r/GUI/Preferences.cpp:146 msgid "" -"When checked, the print and filament presets are shown in the preset editor " -"even if they are marked as incompatible with the active printer" +"When checked, the print and filament presets are shown in the preset editor even if " +"they are marked as incompatible with the active printer" msgstr "" -"Если отмечено, то профили печати и прутка отображаются в редакторе профилей, " -"даже если они помечены как несовместимые с активным принтером" +"Если включено, то профили печати и прутка отображаются в редакторе профилей, даже " +"если они помечены как несовместимые с активным принтером." -#: src/slic3r/GUI/Preferences.cpp:131 +#: src/slic3r/GUI/Preferences.cpp:152 msgid "Show drop project dialog" -msgstr "" +msgstr "Диалоговое окно при перетаскивании файла-проекта" -#: src/slic3r/GUI/Preferences.cpp:133 +#: src/slic3r/GUI/Preferences.cpp:154 msgid "" -"When checked, whenever dragging and dropping a project file on the " -"application, shows a dialog asking to select the action to take on the file " -"to load." +"When checked, whenever dragging and dropping a project file on the application, " +"shows a dialog asking to select the action to take on the file to load." msgstr "" +"Если включено, то при каждом перетаскивании в приложение файла-проекта будет " +"отображается диалоговое окно с просьбой выбрать действие, которое необходимо " +"выполнить с файлом." -#: src/slic3r/GUI/Preferences.cpp:138 src/libslic3r/PrintConfig.cpp:3751 -msgid "Single instance mode" -msgstr "" +#: src/slic3r/GUI/Preferences.cpp:161 src/slic3r/GUI/Preferences.cpp:165 +msgid "Allow just a single PrusaSlicer instance" +msgstr "Только одни экземпляр программы" -#: src/slic3r/GUI/Preferences.cpp:141 +#: src/slic3r/GUI/Preferences.cpp:163 msgid "" -"On OSX there is always only one instance of app running by default. However " -"it is allowed to run multiple instances of same app from the command line. " -"In such case this settings will allow only one instance." -msgstr "" - -#: src/slic3r/GUI/Preferences.cpp:143 -msgid "" -"If this is enabled, when starting PrusaSlicer and another instance of the " -"same PrusaSlicer is already running, that instance will be reactivated " -"instead." -msgstr "" - -#: src/slic3r/GUI/Preferences.cpp:160 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:665 -msgid "Ask for unsaved changes when closing application" -msgstr "" - -#: src/slic3r/GUI/Preferences.cpp:162 -msgid "When closing the application, always ask for unsaved changes" +"On OSX there is always only one instance of app running by default. However it is " +"allowed to run multiple instances of same app from the command line. In such case " +"this settings will allow only one instance." msgstr "" #: src/slic3r/GUI/Preferences.cpp:167 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:666 -msgid "Ask for unsaved changes when selecting new preset" -msgstr "" - -#: src/slic3r/GUI/Preferences.cpp:169 -msgid "Always ask for unsaved changes when selecting new preset" -msgstr "" - -#: src/slic3r/GUI/Preferences.cpp:177 -msgid "Associate .gcode files to PrusaSlicer G-code Viewer" -msgstr "" - -#: src/slic3r/GUI/Preferences.cpp:179 msgid "" -"If enabled, sets PrusaSlicer G-code Viewer as default application to open ." -"gcode files." +"If this is enabled, when starting PrusaSlicer and another instance of the same " +"PrusaSlicer is already running, that instance will be reactivated instead." msgstr "" +"Если включено, разрешена работа только одного экземпляра той же самой версии " +"программы." -#: src/slic3r/GUI/Preferences.cpp:188 -msgid "Use Retina resolution for the 3D scene" -msgstr "" +#: src/slic3r/GUI/Preferences.cpp:173 src/slic3r/GUI/UnsavedChangesDialog.cpp:671 +msgid "Ask for unsaved changes when closing application" +msgstr "Запрос о несохраненных изменениях при закрытии приложения" + +#: src/slic3r/GUI/Preferences.cpp:175 +msgid "When closing the application, always ask for unsaved changes" +msgstr "Всегда спрашивать о несохраненных изменениях при закрытии приложения." + +#: src/slic3r/GUI/Preferences.cpp:180 src/slic3r/GUI/UnsavedChangesDialog.cpp:672 +msgid "Ask for unsaved changes when selecting new preset" +msgstr "Запрос о несохраненных изменениях при выборе нового профиля" + +#: src/slic3r/GUI/Preferences.cpp:182 +msgid "Always ask for unsaved changes when selecting new preset" +msgstr "Всегда спрашивать о несохраненных изменениях при выборе нового профиля." #: src/slic3r/GUI/Preferences.cpp:190 +msgid "Associate .gcode files to PrusaSlicer G-code Viewer" +msgstr "Ассоциировать файлы .gcode с PrusaSlicer G-code Viewer" + +#: src/slic3r/GUI/Preferences.cpp:192 +msgid "" +"If enabled, sets PrusaSlicer G-code Viewer as default application to open .gcode " +"files." +msgstr "" +"Если включено, назначает PrusaSlicer G-code Viewer в качестве приложения по " +"умолчанию для открытия .gcode файлов." + +#: src/slic3r/GUI/Preferences.cpp:201 +msgid "Use Retina resolution for the 3D scene" +msgstr "Использовать разрешение дисплея Retina для окна 3D-вида" + +#: src/slic3r/GUI/Preferences.cpp:203 msgid "" "If enabled, the 3D scene will be rendered in Retina resolution. If you are " "experiencing 3D performance problems, disabling this option may help." msgstr "" +"Если включено, окно 3D-вида будет отображаться с разрешением дисплея Retina. Если у " +"вас возникают проблемы с производительностью 3D, отключение этой опции может помочь." -#: src/slic3r/GUI/Preferences.cpp:198 src/slic3r/GUI/Preferences.cpp:200 +#: src/slic3r/GUI/Preferences.cpp:211 src/slic3r/GUI/Preferences.cpp:213 msgid "Show splash screen" -msgstr "" +msgstr "Показывать заставку при запуске программы" -#: src/slic3r/GUI/Preferences.cpp:207 +#: src/slic3r/GUI/Preferences.cpp:220 msgid "Enable support for legacy 3DConnexion devices" -msgstr "" +msgstr "Включить поддержку устаревших устройств 3DConnexion" -#: src/slic3r/GUI/Preferences.cpp:209 +#: src/slic3r/GUI/Preferences.cpp:222 msgid "" -"If enabled, the legacy 3DConnexion devices settings dialog is available by " -"pressing CTRL+M" +"If enabled, the legacy 3DConnexion devices settings dialog is available by pressing " +"CTRL+M" msgstr "" +"Если включено, диалоговое окно настроек устаревших устройств 3DConnexion будет " +"доступно при нажатии CTRL+M." -#: src/slic3r/GUI/Preferences.cpp:218 +#: src/slic3r/GUI/Preferences.cpp:232 msgid "Camera" msgstr "Камера" -#: src/slic3r/GUI/Preferences.cpp:224 +#: src/slic3r/GUI/Preferences.cpp:237 msgid "Use perspective camera" -msgstr "Использовать перспективную камера" +msgstr "Использовать вид в перспективе" -#: src/slic3r/GUI/Preferences.cpp:226 -msgid "" -"If enabled, use perspective camera. If not enabled, use orthographic camera." -msgstr "" -"Если включено, то используется перспективная камера. Если нет, то " -"ортогональная камера." +#: src/slic3r/GUI/Preferences.cpp:239 +msgid "If enabled, use perspective camera. If not enabled, use orthographic camera." +msgstr "Если включено, используется вид в перспективе, иначе - ортогональный." -#: src/slic3r/GUI/Preferences.cpp:231 +#: src/slic3r/GUI/Preferences.cpp:244 msgid "Use free camera" msgstr "Использовать свободную камеру" -#: src/slic3r/GUI/Preferences.cpp:233 +#: src/slic3r/GUI/Preferences.cpp:246 msgid "If enabled, use free camera. If not enabled, use constrained camera." msgstr "" -"Если включено, то используется свободная камера. Если нет, то закреплённая " -"камера." +"Если включено, используется свободное вращение камеры. Если выключено, используется " +"вращение камера с ограничениями." -#: src/slic3r/GUI/Preferences.cpp:238 +#: src/slic3r/GUI/Preferences.cpp:251 msgid "Reverse direction of zoom with mouse wheel" -msgstr "" +msgstr "Обратное направление масштабирования колесиком мыши" -#: src/slic3r/GUI/Preferences.cpp:240 +#: src/slic3r/GUI/Preferences.cpp:253 msgid "If enabled, reverses the direction of zoom with mouse wheel" -msgstr "" +msgstr "Если включено, меняется направление масштабирования с помощью колеса мыши." -#: src/slic3r/GUI/Preferences.cpp:247 +#: src/slic3r/GUI/Preferences.cpp:261 msgid "GUI" -msgstr "Графический интерфейс" - -#: src/slic3r/GUI/Preferences.cpp:262 -msgid "Show sidebar collapse/expand button" -msgstr "" - -#: src/slic3r/GUI/Preferences.cpp:264 -msgid "" -"If enabled, the button for the collapse sidebar will be appeared in top " -"right corner of the 3D Scene" -msgstr "" -"Если включено, то в верхнем правом углу 3D-сцены появится кнопка скрытия " -"боковой панели" - -#: src/slic3r/GUI/Preferences.cpp:269 -msgid "Use custom size for toolbar icons" -msgstr "Использовать задаваемый размер значков панели инструментов" - -#: src/slic3r/GUI/Preferences.cpp:271 -msgid "If enabled, you can change size of toolbar icons manually." -msgstr "Если включено, то вы можете задать размер значков панели инструментов." +msgstr "Интерфейс программы" #: src/slic3r/GUI/Preferences.cpp:276 -msgid "Suppress to open hyperlink in browser" -msgstr "" +msgid "Sequential slider applied only to top layer" +msgstr "Ползунок положения инструмента применяется только к верхнему слою" #: src/slic3r/GUI/Preferences.cpp:278 msgid "" -"If enabled, the descriptions of configuration parameters in settings tabs " -"wouldn't work as hyperlinks. If disabled, the descriptions of configuration " -"parameters in settings tabs will work as hyperlinks." +"If enabled, changes made using the sequential slider, in preview, apply only to " +"gcode top layer. If disabled, changes made using the sequential slider, in preview, " +"apply to the whole gcode." msgstr "" +"Если включено, изменения, сделанные с помощью ползунка положения инструмента, в " +"окне предпросмотра нарезки, применяются только к верхнему слою G-коду. Если " +"отключено, изменения, сделанные с помощью ползунка положения инструмента, в окне " +"предпросмотра нарезки, применяются ко всему G-коду." #: src/slic3r/GUI/Preferences.cpp:285 -msgid "Sequential slider applied only to top layer" -msgstr "" +msgid "Show sidebar collapse/expand button" +msgstr "Показать кнопку свертывания/раскрытия боковой панели" #: src/slic3r/GUI/Preferences.cpp:287 msgid "" -"If enabled, changes made using the sequential slider, in preview, apply only " -"to gcode top layer. If disabled, changes made using the sequential slider, " -"in preview, apply to the whole gcode." +"If enabled, the button for the collapse sidebar will be appeared in top right " +"corner of the 3D Scene" msgstr "" +"Если включено, в правом верхнем углу 3D-сцены появится кнопка свертывания боковой " +"панели." -#: src/slic3r/GUI/Preferences.cpp:304 +#: src/slic3r/GUI/Preferences.cpp:292 +msgid "Suppress to open hyperlink in browser" +msgstr "Запретить открытие гиперссылок в браузере" + +#: src/slic3r/GUI/Preferences.cpp:294 +msgid "" +"If enabled, the descriptions of configuration parameters in settings tabs wouldn't " +"work as hyperlinks. If disabled, the descriptions of configuration parameters in " +"settings tabs will work as hyperlinks." +msgstr "" +"Если включено, то работа гиперссылок описаний параметров во вкладках настроек будет " +"отключена." + +#: src/slic3r/GUI/Preferences.cpp:300 +msgid "Use custom size for toolbar icons" +msgstr "Использовать нестандартный размер значков панели инструментов" + +#: src/slic3r/GUI/Preferences.cpp:302 +msgid "If enabled, you can change size of toolbar icons manually." +msgstr "Если включено, вы можете изменить размер значков панели инструментов вручную." + +#: src/slic3r/GUI/Preferences.cpp:320 msgid "Render" -msgstr "Отрисовка" +msgstr "Визуализация" -#: src/slic3r/GUI/Preferences.cpp:310 +#: src/slic3r/GUI/Preferences.cpp:325 msgid "Use environment map" -msgstr "Использовать карту окружения" +msgstr "Использовать карты окружения" -#: src/slic3r/GUI/Preferences.cpp:312 +#: src/slic3r/GUI/Preferences.cpp:327 msgid "If enabled, renders object using the environment map." -msgstr "" -"Если включено, то объекты отрисовываются с использованием карты окружения." +msgstr "Если включено, визуализация моделей выполняется с помощью карты окружения." -#: src/slic3r/GUI/Preferences.cpp:345 +#: src/slic3r/GUI/Preferences.cpp:352 #, c-format msgid "You need to restart %s to make the changes effective." msgstr "Необходимо перезапустить %s, чтобы изменения вступили в силу." -#: src/slic3r/GUI/Preferences.cpp:420 +#: src/slic3r/GUI/Preferences.cpp:427 msgid "Icon size in a respect to the default size" -msgstr "Размер значка по отношению к размеру по умолчанию" +msgstr "Размер значка относительно размера по умолчанию" -#: src/slic3r/GUI/Preferences.cpp:435 +#: src/slic3r/GUI/Preferences.cpp:442 msgid "Select toolbar icon size in respect to the default one." -msgstr "Выберите размер значка по отношению к размеру по умолчанию." +msgstr "" +"Выбор размера значка панели инструментов по отношению к значению по умолчанию." -#: src/slic3r/GUI/Preferences.cpp:466 +#: src/slic3r/GUI/Preferences.cpp:473 msgid "Old regular layout with the tab bar" -msgstr "" +msgstr "Старая обычная компоновка с вкладками на столе" -#: src/slic3r/GUI/Preferences.cpp:467 +#: src/slic3r/GUI/Preferences.cpp:474 msgid "New layout, access via settings button in the top menu" -msgstr "" +msgstr "Новая компоновка с кнопкой настроек в верхнем меню" -#: src/slic3r/GUI/Preferences.cpp:468 +#: src/slic3r/GUI/Preferences.cpp:475 msgid "Settings in non-modal window" -msgstr "" +msgstr "Настройки будут отображаться в отдельном окне" -#: src/slic3r/GUI/Preferences.cpp:477 +#: src/slic3r/GUI/Preferences.cpp:484 msgid "Layout Options" -msgstr "" +msgstr "Настройка внешнего вида" -#: src/slic3r/GUI/PresetComboBoxes.cpp:197 -#: src/slic3r/GUI/PresetComboBoxes.cpp:235 -#: src/slic3r/GUI/PresetComboBoxes.cpp:761 -#: src/slic3r/GUI/PresetComboBoxes.cpp:811 -#: src/slic3r/GUI/PresetComboBoxes.cpp:925 -#: src/slic3r/GUI/PresetComboBoxes.cpp:969 +#: src/slic3r/GUI/PresetComboBoxes.cpp:197 src/slic3r/GUI/PresetComboBoxes.cpp:235 +#: src/slic3r/GUI/PresetComboBoxes.cpp:761 src/slic3r/GUI/PresetComboBoxes.cpp:811 +#: src/slic3r/GUI/PresetComboBoxes.cpp:925 src/slic3r/GUI/PresetComboBoxes.cpp:969 msgid "System presets" msgstr "Системные профили" -#: src/slic3r/GUI/PresetComboBoxes.cpp:239 -#: src/slic3r/GUI/PresetComboBoxes.cpp:815 +#: src/slic3r/GUI/PresetComboBoxes.cpp:239 src/slic3r/GUI/PresetComboBoxes.cpp:815 #: src/slic3r/GUI/PresetComboBoxes.cpp:973 msgid "User presets" msgstr "Пользовательские профили" #: src/slic3r/GUI/PresetComboBoxes.cpp:250 msgid "Incompatible presets" -msgstr "" +msgstr "Несовместимые профили" #: src/slic3r/GUI/PresetComboBoxes.cpp:285 msgid "Are you sure you want to delete \"%1%\" printer?" -msgstr "" +msgstr "Вы уверены, что хотите удалить принтер \"%1%\"?" #: src/slic3r/GUI/PresetComboBoxes.cpp:287 msgid "Delete Physical Printer" -msgstr "" +msgstr "Удалить физический принтер" #: src/slic3r/GUI/PresetComboBoxes.cpp:624 msgid "Click to edit preset" -msgstr "Щёлкните для редактирования" +msgstr "Нажмите, чтобы изменить профиль" -#: src/slic3r/GUI/PresetComboBoxes.cpp:680 -#: src/slic3r/GUI/PresetComboBoxes.cpp:710 +#: src/slic3r/GUI/PresetComboBoxes.cpp:680 src/slic3r/GUI/PresetComboBoxes.cpp:710 msgid "Add/Remove presets" -msgstr "" +msgstr "Добавить/удалить профиль" -#: src/slic3r/GUI/PresetComboBoxes.cpp:685 -#: src/slic3r/GUI/PresetComboBoxes.cpp:715 src/slic3r/GUI/Tab.cpp:2985 +#: src/slic3r/GUI/PresetComboBoxes.cpp:685 src/slic3r/GUI/PresetComboBoxes.cpp:715 +#: src/slic3r/GUI/Tab.cpp:2990 msgid "Add physical printer" -msgstr "" +msgstr "Добавить физический профиль" #: src/slic3r/GUI/PresetComboBoxes.cpp:699 msgid "Edit preset" -msgstr "" +msgstr "Изменить профиль" -#: src/slic3r/GUI/PresetComboBoxes.cpp:703 src/slic3r/GUI/Tab.cpp:2985 +#: src/slic3r/GUI/PresetComboBoxes.cpp:703 src/slic3r/GUI/Tab.cpp:2990 msgid "Edit physical printer" -msgstr "" +msgstr "Изменить физический профиль" #: src/slic3r/GUI/PresetComboBoxes.cpp:706 msgid "Delete physical printer" -msgstr "" +msgstr "Удалить физический принтер" -#: src/slic3r/GUI/PresetComboBoxes.cpp:826 -#: src/slic3r/GUI/PresetComboBoxes.cpp:987 +#: src/slic3r/GUI/PresetComboBoxes.cpp:826 src/slic3r/GUI/PresetComboBoxes.cpp:987 msgid "Physical printers" -msgstr "" +msgstr "Физические принтеры" #: src/slic3r/GUI/PresetComboBoxes.cpp:850 msgid "Add/Remove filaments" -msgstr "Добавление/Удаление прутков" +msgstr "Добавить/удалить пруток" #: src/slic3r/GUI/PresetComboBoxes.cpp:852 msgid "Add/Remove materials" -msgstr "Добавление/Удаление материалов" +msgstr "Добавить/удалить материал" -#: src/slic3r/GUI/PresetComboBoxes.cpp:854 -#: src/slic3r/GUI/PresetComboBoxes.cpp:1011 +#: src/slic3r/GUI/PresetComboBoxes.cpp:854 src/slic3r/GUI/PresetComboBoxes.cpp:1011 msgid "Add/Remove printers" -msgstr "Добавление/Удаление принтеров" +msgstr "Добавить/удалить принтер" -#: src/slic3r/GUI/PresetHints.cpp:28 +#: src/slic3r/GUI/PresetHints.cpp:32 msgid "" -"If estimated layer time is below ~%1%s, fan will run at %2%%% and print " -"speed will be reduced so that no less than %3%s are spent on that layer " -"(however, speed will never be reduced below %4%mm/s)." +"If estimated layer time is below ~%1%s, fan will run at %2%%% and print speed will " +"be reduced so that no less than %3%s are spent on that layer (however, speed will " +"never be reduced below %4%mm/s)." msgstr "" -"Если расчётное время печати слоя меньше ~%1%с, вентилятор будет работать на " -"%2%%%, а скорость печати будет уменьшена так, что на этот слой будет " -"затрачено не менее %3%с (однако, скорость никогда не будет уменьшена ниже " -"%4%мм/с)." +"Если расчётное время печати слоя меньше ~%1% сек., вентилятор будет работать на %2%%" +"%, а скорость печати будет уменьшена, так что на этот слой будет затрачено не менее " +"%3% сек. (однако скорость никогда не будет уменьшена ниже %4%мм/с)." -#: src/slic3r/GUI/PresetHints.cpp:35 +#: src/slic3r/GUI/PresetHints.cpp:39 msgid "" "If estimated layer time is greater, but still below ~%1%s, fan will run at a " "proportionally decreasing speed between %2%%% and %3%%%." msgstr "" -"Если расчётное время слоя большое, но всё ещё ниже ~%1%с, вентилятор будет " -"работать с плавно падающей скоростью между %2%%% и %3%%%." +"Если расчётное время печати слоя большое, но всё ещё ниже ~%1% сек., вентилятор " +"будет работать с плавно падающей скоростью между %2%%%-%3%%%." -#: src/slic3r/GUI/PresetHints.cpp:39 -msgid "During the other layers, fan" -msgstr "Во время печати других слоёв, вентилятор" +#: src/slic3r/GUI/PresetHints.cpp:49 +msgid "Fan speed will be ramped from zero at layer %1% to %2%%% at layer %3%." +msgstr "Скорость вентилятора будет увеличена с нуля на %1% слое до %2%%% на %3% слое." -#: src/slic3r/GUI/PresetHints.cpp:41 -msgid "Fan" -msgstr "Вентилятор" +#: src/slic3r/GUI/PresetHints.cpp:51 +msgid "During the other layers, fan will always run at %1%%%" +msgstr "Во время печати других слоёв, вентилятор всегда будет работать на %1%%%\"" -#: src/slic3r/GUI/PresetHints.cpp:47 -msgid "will always run at %1%%%" -msgstr "всегда будет работать на %1%%%" +#: src/slic3r/GUI/PresetHints.cpp:51 +msgid "Fan will always run at %1%%%" +msgstr "Вентилятор всегда будет работать на %1%%%" -#: src/slic3r/GUI/PresetHints.cpp:50 +#: src/slic3r/GUI/PresetHints.cpp:53 msgid "except for the first %1% layers." msgstr ", за исключением первых %1% слоёв." -#: src/slic3r/GUI/PresetHints.cpp:52 +#: src/slic3r/GUI/PresetHints.cpp:55 msgid "except for the first layer." msgstr ", за исключением первого слоя." -#: src/slic3r/GUI/PresetHints.cpp:54 -msgid "will be turned off." -msgstr "отключён." +#: src/slic3r/GUI/PresetHints.cpp:58 +msgid "During the other layers, fan will be turned off." +msgstr "Во время печати других слоёв, вентилятор будет выключен." -#: src/slic3r/GUI/PresetHints.cpp:155 +#: src/slic3r/GUI/PresetHints.cpp:58 +msgid "Fan will be turned off." +msgstr "Вентилятор будет выключен." + +#: src/slic3r/GUI/PresetHints.cpp:159 msgid "external perimeters" msgstr "внешних периметров" -#: src/slic3r/GUI/PresetHints.cpp:164 +#: src/slic3r/GUI/PresetHints.cpp:168 msgid "perimeters" msgstr "периметры" -#: src/slic3r/GUI/PresetHints.cpp:173 +#: src/slic3r/GUI/PresetHints.cpp:177 msgid "infill" -msgstr "заполнение" +msgstr "заполнения" -#: src/slic3r/GUI/PresetHints.cpp:183 +#: src/slic3r/GUI/PresetHints.cpp:187 msgid "solid infill" msgstr "сплошные слои заполнения" -#: src/slic3r/GUI/PresetHints.cpp:191 +#: src/slic3r/GUI/PresetHints.cpp:195 msgid "top solid infill" msgstr "верхние сплошные слои заполнения" -#: src/slic3r/GUI/PresetHints.cpp:202 +#: src/slic3r/GUI/PresetHints.cpp:206 msgid "support" msgstr "поддержки" -#: src/slic3r/GUI/PresetHints.cpp:212 +#: src/slic3r/GUI/PresetHints.cpp:216 msgid "support interface" msgstr "связующая слой поддержки" -#: src/slic3r/GUI/PresetHints.cpp:218 +#: src/slic3r/GUI/PresetHints.cpp:222 msgid "First layer volumetric" msgstr "Объёмный расход первого слоя" -#: src/slic3r/GUI/PresetHints.cpp:218 +#: src/slic3r/GUI/PresetHints.cpp:222 msgid "Bridging volumetric" msgstr "Объёмный расход мостов" -#: src/slic3r/GUI/PresetHints.cpp:218 +#: src/slic3r/GUI/PresetHints.cpp:222 msgid "Volumetric" msgstr "Объёмный расход" -#: src/slic3r/GUI/PresetHints.cpp:219 +#: src/slic3r/GUI/PresetHints.cpp:223 msgid "flow rate is maximized" -msgstr "скорость потока максимальна" +msgstr "увеличивается" -#: src/slic3r/GUI/PresetHints.cpp:222 +#: src/slic3r/GUI/PresetHints.cpp:226 msgid "by the print profile maximum" msgstr "по максимальному значению для профилю печати" -#: src/slic3r/GUI/PresetHints.cpp:223 +#: src/slic3r/GUI/PresetHints.cpp:227 msgid "when printing" msgstr "при печати" -#: src/slic3r/GUI/PresetHints.cpp:224 +#: src/slic3r/GUI/PresetHints.cpp:228 msgid "with a volumetric rate" msgstr "с объёмной скоростью" -#: src/slic3r/GUI/PresetHints.cpp:228 +#: src/slic3r/GUI/PresetHints.cpp:232 #, c-format msgid "%3.2f mm³/s at filament speed %3.2f mm/s." -msgstr "%3.2f мм³/с при скорости пластиковой нити %3.2f мм/с." +msgstr "%3.2f мм³/с при скорости прутка %3.2f мм/с." -#: src/slic3r/GUI/PresetHints.cpp:246 +#: src/slic3r/GUI/PresetHints.cpp:250 msgid "" -"Recommended object thin wall thickness: Not available due to invalid layer " -"height." +"Recommended object thin wall thickness: Not available due to invalid layer height." msgstr "" -"Рекомендуемая толщина тонких стенок объекта: недоступно из-за недопустимой " -"высоты слоя." +"Рекомендуемая толщина тонких стенок модели: недоступно из-за недопустимой высоты " +"слоя." -#: src/slic3r/GUI/PresetHints.cpp:262 +#: src/slic3r/GUI/PresetHints.cpp:266 #, c-format msgid "Recommended object thin wall thickness for layer height %.2f and" -msgstr "" -"Рекомендуемая толщина тонких стенок объекта для слоя с высотой %.2f мм и" - -#: src/slic3r/GUI/PresetHints.cpp:269 -#, c-format -msgid "%d lines: %.2f mm" -msgstr "%d линий: %.2f мм" +msgstr "Рекомендуемая толщина тонких стенок модели при высоте слоя %.2f мм и" #: src/slic3r/GUI/PresetHints.cpp:273 -msgid "" -"Recommended object thin wall thickness: Not available due to excessively " -"small extrusion width." -msgstr "" -"Рекомендуемая толщина тонких стенок объекта: недоступно из-за недопустимо " -"малой ширины экструзии." +#, c-format +msgid "%d lines: %.2f mm" +msgstr "%d линий периметра - %.2f мм" -#: src/slic3r/GUI/PresetHints.cpp:302 +#: src/slic3r/GUI/PresetHints.cpp:277 msgid "" -"Top / bottom shell thickness hint: Not available due to invalid layer height." +"Recommended object thin wall thickness: Not available due to excessively small " +"extrusion width." msgstr "" -"Рекомендуемая толщина верхней/нижней оболочки: недоступно из-за недопустимой " -"высоты слоя." +"Рекомендуемая толщина тонких стенок модели: недоступно из-за чрезмерно малой ширины " +"экструзии." -#: src/slic3r/GUI/PresetHints.cpp:315 +#: src/slic3r/GUI/PresetHints.cpp:306 +msgid "Top / bottom shell thickness hint: Not available due to invalid layer height." +msgstr "" +"Подсказка о толщине верхней/нижней оболочки недоступна из-за неправильной высоты " +"слоя." + +#: src/slic3r/GUI/PresetHints.cpp:319 msgid "Top shell is %1% mm thick for layer height %2% mm." -msgstr "Толщина верхней оболочки равна %1% мм для высоты слоя в %2% мм." +msgstr "Верхняя оболочка будет имеет толщину %1% мм при высоте слоя %2% мм." -#: src/slic3r/GUI/PresetHints.cpp:318 +#: src/slic3r/GUI/PresetHints.cpp:322 msgid "Minimum top shell thickness is %1% mm." -msgstr "Минимальная толщина верхней оболочки равна %1% мм." +msgstr "Минимальная толщина оболочки сверху составляет %1% мм." -#: src/slic3r/GUI/PresetHints.cpp:321 +#: src/slic3r/GUI/PresetHints.cpp:325 msgid "Top is open." -msgstr "Нет верхней оболочки." +msgstr "Оболочки сверху (крыша) отсутствуют." -#: src/slic3r/GUI/PresetHints.cpp:334 +#: src/slic3r/GUI/PresetHints.cpp:338 msgid "Bottom shell is %1% mm thick for layer height %2% mm." -msgstr "Толщина нижней оболочки равна %1% мм для высоты слоя в %2% мм." +msgstr "Нижняя оболочка будет имеет толщину %1% мм при высоте слоя %2% мм." -#: src/slic3r/GUI/PresetHints.cpp:337 +#: src/slic3r/GUI/PresetHints.cpp:341 msgid "Minimum bottom shell thickness is %1% mm." -msgstr "Минимальная толщина нижней оболочки равна %1% мм." +msgstr "Минимальная толщина оболочки снизу составляет %1% мм." -#: src/slic3r/GUI/PresetHints.cpp:340 +#: src/slic3r/GUI/PresetHints.cpp:344 msgid "Bottom is open." -msgstr "Нет нижней оболочки." +msgstr "Оболочки снизу (дно) отсутствуют." -#: src/slic3r/GUI/PrintHostDialogs.cpp:34 +#: src/slic3r/GUI/PrintHostDialogs.cpp:35 msgid "Send G-Code to printer host" -msgstr "Послать G-код на узел печати" +msgstr "Отправить G-кода на хост принтера" -#: src/slic3r/GUI/PrintHostDialogs.cpp:34 +#: src/slic3r/GUI/PrintHostDialogs.cpp:35 msgid "Upload to Printer Host with the following filename:" -msgstr "Загрузить на узел печати со следующим именем файла:" +msgstr "Загрузить на хост принтера со следующим именем:" -#: src/slic3r/GUI/PrintHostDialogs.cpp:36 +#: src/slic3r/GUI/PrintHostDialogs.cpp:37 msgid "Start printing after upload" msgstr "Начать печать после загрузки" -#: src/slic3r/GUI/PrintHostDialogs.cpp:44 +#: src/slic3r/GUI/PrintHostDialogs.cpp:45 msgid "Use forward slashes ( / ) as a directory separator if needed." msgstr "" -"При необходимости используйте косую черту ( / ) в качестве разделителя " -"каталогов." +"При необходимости используйте косую черту ( / ) в качестве разделителя каталогов." -#: src/slic3r/GUI/PrintHostDialogs.cpp:57 +#: src/slic3r/GUI/PrintHostDialogs.cpp:58 msgid "Group" -msgstr "" +msgstr "Группа" -#: src/slic3r/GUI/PrintHostDialogs.cpp:174 +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 msgid "ID" msgstr "ID" -#: src/slic3r/GUI/PrintHostDialogs.cpp:175 -msgid "Progress" -msgstr "Ход выполнения" - -#: src/slic3r/GUI/PrintHostDialogs.cpp:176 -msgid "Status" -msgstr "Состояние" - #: src/slic3r/GUI/PrintHostDialogs.cpp:177 -msgid "Host" -msgstr "Узел" +msgid "Progress" +msgstr "Прогресс" #: src/slic3r/GUI/PrintHostDialogs.cpp:178 -msgid "Filename" -msgstr "Файл" +msgid "Status" +msgstr "Статус" #: src/slic3r/GUI/PrintHostDialogs.cpp:179 +msgid "Host" +msgstr "Хост" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:180 +msgid "Filename" +msgstr "Имя файла" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:181 msgid "Error Message" msgstr "Сообщение об ошибке" -#: src/slic3r/GUI/PrintHostDialogs.cpp:182 +#: src/slic3r/GUI/PrintHostDialogs.cpp:184 msgid "Cancel selected" msgstr "Отменить выбранное" -#: src/slic3r/GUI/PrintHostDialogs.cpp:184 +#: src/slic3r/GUI/PrintHostDialogs.cpp:186 msgid "Show error message" msgstr "Показать сообщение об ошибке" -#: src/slic3r/GUI/PrintHostDialogs.cpp:226 -#: src/slic3r/GUI/PrintHostDialogs.cpp:257 +#: src/slic3r/GUI/PrintHostDialogs.cpp:228 src/slic3r/GUI/PrintHostDialogs.cpp:261 msgid "Enqueued" -msgstr "В очереди" - -#: src/slic3r/GUI/PrintHostDialogs.cpp:258 -msgid "Uploading" -msgstr "Загружается" +msgstr "Поставлено в очередь" #: src/slic3r/GUI/PrintHostDialogs.cpp:262 +msgid "Uploading" +msgstr "Отправка" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:266 msgid "Completed" msgstr "Завершено" -#: src/slic3r/GUI/PrintHostDialogs.cpp:300 +#: src/slic3r/GUI/PrintHostDialogs.cpp:304 msgid "Error uploading to print host:" -msgstr "Ошибка при загрузке на узел печати:" +msgstr "Ошибка при отправке на хост печати:" #: src/slic3r/GUI/RammingChart.cpp:23 msgid "NO RAMMING AT ALL" msgstr "НЕ ДОПУСКАТЬ РЭММИНГ" #: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/WipeTowerDialog.cpp:83 -#: src/libslic3r/PrintConfig.cpp:689 src/libslic3r/PrintConfig.cpp:733 -#: src/libslic3r/PrintConfig.cpp:748 src/libslic3r/PrintConfig.cpp:2604 -#: src/libslic3r/PrintConfig.cpp:2613 src/libslic3r/PrintConfig.cpp:2723 -#: src/libslic3r/PrintConfig.cpp:2731 src/libslic3r/PrintConfig.cpp:2739 -#: src/libslic3r/PrintConfig.cpp:2746 src/libslic3r/PrintConfig.cpp:2754 -#: src/libslic3r/PrintConfig.cpp:2762 +#: src/libslic3r/PrintConfig.cpp:706 src/libslic3r/PrintConfig.cpp:750 +#: src/libslic3r/PrintConfig.cpp:765 src/libslic3r/PrintConfig.cpp:2636 +#: src/libslic3r/PrintConfig.cpp:2645 src/libslic3r/PrintConfig.cpp:2755 +#: src/libslic3r/PrintConfig.cpp:2763 src/libslic3r/PrintConfig.cpp:2771 +#: src/libslic3r/PrintConfig.cpp:2778 src/libslic3r/PrintConfig.cpp:2786 +#: src/libslic3r/PrintConfig.cpp:2794 msgid "s" msgstr "с" @@ -6419,8 +6626,8 @@ msgstr "с" msgid "Volumetric speed" msgstr "Объёмная скорость подачи" -#: src/slic3r/GUI/RammingChart.cpp:81 src/libslic3r/PrintConfig.cpp:646 -#: src/libslic3r/PrintConfig.cpp:1430 +#: src/slic3r/GUI/RammingChart.cpp:81 src/libslic3r/PrintConfig.cpp:663 +#: src/libslic3r/PrintConfig.cpp:1458 msgid "mm³/s" msgstr "мм³/с" @@ -6431,7 +6638,7 @@ msgstr "Сохранить %s как:" #: src/slic3r/GUI/SavePresetDialog.cpp:110 msgid "the following suffix is not allowed:" -msgstr "следующий суффикс не допускается:" +msgstr "следующий суффикс не разрешается:" #: src/slic3r/GUI/SavePresetDialog.cpp:116 msgid "The supplied name is not available." @@ -6447,394 +6654,403 @@ msgstr "Невозможно перезаписать внешний профи #: src/slic3r/GUI/SavePresetDialog.cpp:134 msgid "Preset with name \"%1%\" already exists." -msgstr "Профиль с именем «%1%» уже существует." +msgstr "Профиль с именем \"%1%\" уже существует." #: src/slic3r/GUI/SavePresetDialog.cpp:136 msgid "" -"Preset with name \"%1%\" already exists and is imcopatible with selected " -"printer." -msgstr "" +"Preset with name \"%1%\" already exists and is incompatible with selected printer." +msgstr "Профиль с именем \"%1%\" уже существует и несовместим с выбранным принтером." #: src/slic3r/GUI/SavePresetDialog.cpp:137 msgid "Note: This preset will be replaced after saving" -msgstr "" +msgstr "Примечание: этот профиль будет заменён после сохранения" #: src/slic3r/GUI/SavePresetDialog.cpp:142 msgid "The name cannot be empty." -msgstr "" +msgstr "Данное имя не может быть пустым." -#: src/slic3r/GUI/SavePresetDialog.cpp:176 -#: src/slic3r/GUI/SavePresetDialog.cpp:182 +#: src/slic3r/GUI/SavePresetDialog.cpp:147 +msgid "The name cannot start with space character." +msgstr "Имя не должно начитаться с пробела." + +#: src/slic3r/GUI/SavePresetDialog.cpp:152 +msgid "The name cannot end with space character." +msgstr "Имя не должно заканчиваться пробелом." + +#: src/slic3r/GUI/SavePresetDialog.cpp:186 src/slic3r/GUI/SavePresetDialog.cpp:192 msgid "Save preset" -msgstr "Сохранить профиль" +msgstr "Сохранение профиля" -#: src/slic3r/GUI/SavePresetDialog.cpp:205 +#: src/slic3r/GUI/SavePresetDialog.cpp:215 msgctxt "PresetName" msgid "Copy" msgstr "Копия" -#: src/slic3r/GUI/SavePresetDialog.cpp:263 +#: src/slic3r/GUI/SavePresetDialog.cpp:273 msgid "" "You have selected physical printer \"%1%\" \n" "with related printer preset \"%2%\"" msgstr "" +"Выбран физический принтер \"%1%\" со \n" +"связанным профилем принтера \"%2%\"" -#: src/slic3r/GUI/SavePresetDialog.cpp:296 +#: src/slic3r/GUI/SavePresetDialog.cpp:306 msgid "What would you like to do with \"%1%\" preset after saving?" -msgstr "" +msgstr "Что вы хотите сделать с профилем \"%1%\" после сохранения?" -#: src/slic3r/GUI/SavePresetDialog.cpp:299 +#: src/slic3r/GUI/SavePresetDialog.cpp:309 msgid "Change \"%1%\" to \"%2%\" for this physical printer \"%3%\"" -msgstr "" +msgstr "Сменить \"%1%\" на \"%2%\" для этого физического принтера \"%3%\"" -#: src/slic3r/GUI/SavePresetDialog.cpp:300 +#: src/slic3r/GUI/SavePresetDialog.cpp:310 msgid "Add \"%1%\" as a next preset for the the physical printer \"%2%\"" msgstr "" +"Добавить \"%1%\" в качестве следующего профиля для физического принтера \"%2%\"" -#: src/slic3r/GUI/SavePresetDialog.cpp:301 +#: src/slic3r/GUI/SavePresetDialog.cpp:311 msgid "Just switch to \"%1%\" preset" -msgstr "" +msgstr "Просто переключиться на профиль \"%1%\"" -#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2416 +#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2421 msgid "Stealth" -msgstr "Тихий" +msgstr "Тихий режим" -#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2410 +#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2415 msgid "Normal" -msgstr "Нормальный" +msgstr "Нормальный режим" #: src/slic3r/GUI/Selection.cpp:172 msgid "Selection-Add" -msgstr "Выбор-добавление" +msgstr "Выбор\\Добавление" #: src/slic3r/GUI/Selection.cpp:213 msgid "Selection-Remove" -msgstr "Выбор-удаление" +msgstr "Выбор\\Удаление" #: src/slic3r/GUI/Selection.cpp:245 msgid "Selection-Add Object" -msgstr "Выбор-добавление объекта" +msgstr "Выбор\\Добавление модели" #: src/slic3r/GUI/Selection.cpp:264 msgid "Selection-Remove Object" -msgstr "Выбор-удаление объекта" +msgstr "Выбор\\Удаление модели" #: src/slic3r/GUI/Selection.cpp:282 msgid "Selection-Add Instance" -msgstr "Выбор-добавление экземпляра" +msgstr "Выбор\\Добавление копии" #: src/slic3r/GUI/Selection.cpp:301 msgid "Selection-Remove Instance" -msgstr "Выбор-удаление экземпляра" +msgstr "Выбор\\Удаление копии" #: src/slic3r/GUI/Selection.cpp:402 msgid "Selection-Add All" -msgstr "Выбор-добавление всего" +msgstr "Выбор\\Добавление всего" #: src/slic3r/GUI/Selection.cpp:428 msgid "Selection-Remove All" -msgstr "Выбор-удаление всего" +msgstr "Выбор\\Удаление всего" -#: src/slic3r/GUI/Selection.cpp:987 +#: src/slic3r/GUI/Selection.cpp:960 msgid "Scale To Fit" -msgstr "Масштабировать по размеру" +msgstr "Отмасштабировать под область печати" -#: src/slic3r/GUI/Selection.cpp:1514 +#: src/slic3r/GUI/Selection.cpp:1487 msgid "Set Printable Instance" -msgstr "" +msgstr "Копия для печати" -#: src/slic3r/GUI/Selection.cpp:1514 +#: src/slic3r/GUI/Selection.cpp:1487 msgid "Set Unprintable Instance" -msgstr "" +msgstr "Копия не для печати" #: src/slic3r/GUI/SysInfoDialog.cpp:82 msgid "System Information" -msgstr "Информация о системе" +msgstr "Системная информация" #: src/slic3r/GUI/SysInfoDialog.cpp:158 msgid "Copy to Clipboard" -msgstr "Копировать в буфер обмена" +msgstr "Скопировать в буфер обмена" -#: src/slic3r/GUI/Tab.cpp:112 src/libslic3r/PrintConfig.cpp:306 +#: src/slic3r/GUI/Tab.cpp:109 src/libslic3r/PrintConfig.cpp:321 msgid "Compatible printers" msgstr "Совместимые принтеры" -#: src/slic3r/GUI/Tab.cpp:113 +#: src/slic3r/GUI/Tab.cpp:110 msgid "Select the printers this profile is compatible with." msgstr "Выберите принтеры, совместимые с данным профилем." -#: src/slic3r/GUI/Tab.cpp:118 src/libslic3r/PrintConfig.cpp:321 +#: src/slic3r/GUI/Tab.cpp:115 src/libslic3r/PrintConfig.cpp:336 msgid "Compatible print profiles" msgstr "Совместимые профили печати" -#: src/slic3r/GUI/Tab.cpp:119 +#: src/slic3r/GUI/Tab.cpp:116 msgid "Select the print profiles this profile is compatible with." -msgstr "Выберите профили печати, совместимые с данным профилем." +msgstr "Выберите профили печати, с которыми этот профиль совместим." #. TRN "Save current Settings" -#: src/slic3r/GUI/Tab.cpp:214 +#: src/slic3r/GUI/Tab.cpp:211 #, c-format msgid "Save current %s" -msgstr "Сохранить %s" +msgstr "Сохранить текущие %s" -#: src/slic3r/GUI/Tab.cpp:215 +#: src/slic3r/GUI/Tab.cpp:212 msgid "Delete this preset" msgstr "Удалить этот профиль" -#: src/slic3r/GUI/Tab.cpp:219 +#: src/slic3r/GUI/Tab.cpp:216 msgid "" "Hover the cursor over buttons to find more information \n" "or click this button." msgstr "" -"Наведите курсор на кнопки для получения дополнительной информации или " -"нажмите эту кнопку." +"Наведите курсор на кнопки для получения дополнительной информации или нажмите эту " +"кнопку." -#: src/slic3r/GUI/Tab.cpp:223 +#: src/slic3r/GUI/Tab.cpp:220 msgid "Search in settings [%1%]" -msgstr "" +msgstr "Поиск в настройках [%1%]" -#: src/slic3r/GUI/Tab.cpp:1239 +#: src/slic3r/GUI/Tab.cpp:1237 msgid "Detach from system preset" msgstr "Отсоединить от системного профиля" -#: src/slic3r/GUI/Tab.cpp:1252 +#: src/slic3r/GUI/Tab.cpp:1250 msgid "" -"A copy of the current system preset will be created, which will be detached " -"from the system preset." +"A copy of the current system preset will be created, which will be detached from " +"the system preset." msgstr "" +"Будет создана копия текущего системного профиля, который будет отсоединён от " +"системного профиля." -#: src/slic3r/GUI/Tab.cpp:1253 -msgid "" -"The current custom preset will be detached from the parent system preset." +#: src/slic3r/GUI/Tab.cpp:1251 +msgid "The current custom preset will be detached from the parent system preset." msgstr "" +"Текущий пользовательский профиль будет отсоединён от родительского системного " +"профиля." -#: src/slic3r/GUI/Tab.cpp:1256 +#: src/slic3r/GUI/Tab.cpp:1254 msgid "Modifications to the current profile will be saved." -msgstr "" +msgstr "Изменения будут сохранены в текущем профиле." -#: src/slic3r/GUI/Tab.cpp:1259 +#: src/slic3r/GUI/Tab.cpp:1257 msgid "" "This action is not revertable.\n" "Do you want to proceed?" msgstr "" +"Эта операция необратима.\n" +"Хотите продолжить?" -#: src/slic3r/GUI/Tab.cpp:1261 +#: src/slic3r/GUI/Tab.cpp:1259 msgid "Detach preset" msgstr "Отсоединить профиль" -#: src/slic3r/GUI/Tab.cpp:1287 +#: src/slic3r/GUI/Tab.cpp:1285 msgid "This is a default preset." msgstr "Это профиль по умолчанию." -#: src/slic3r/GUI/Tab.cpp:1289 +#: src/slic3r/GUI/Tab.cpp:1287 msgid "This is a system preset." msgstr "Это системный профиль." -#: src/slic3r/GUI/Tab.cpp:1291 +#: src/slic3r/GUI/Tab.cpp:1289 msgid "Current preset is inherited from the default preset." -msgstr "Текущий профиль унаследован от профиля по умолчанию." +msgstr "Текущий профиль наследуется от профиля по умолчанию." -#: src/slic3r/GUI/Tab.cpp:1295 +#: src/slic3r/GUI/Tab.cpp:1293 msgid "Current preset is inherited from" -msgstr "Текущий профиль унаследован от" +msgstr "Текущий профиль наследуется от" + +#: src/slic3r/GUI/Tab.cpp:1297 +msgid "It can't be deleted or modified." +msgstr "Его нельзя удалить или изменить." + +#: src/slic3r/GUI/Tab.cpp:1298 +msgid "Any modifications should be saved as a new preset inherited from this one." +msgstr "" +"Любые изменения должны быть сохранены как новый профиль, унаследованный от текущего." #: src/slic3r/GUI/Tab.cpp:1299 -msgid "It can't be deleted or modified." -msgstr "Его нельзя будет удалить или изменить." - -#: src/slic3r/GUI/Tab.cpp:1300 -msgid "" -"Any modifications should be saved as a new preset inherited from this one." -msgstr "" -"Любые изменения должны быть сохранены как новый профиль, унаследованный от " -"текущего." - -#: src/slic3r/GUI/Tab.cpp:1301 msgid "To do that please specify a new name for the preset." msgstr "Для этого укажите новое имя для профиля." -#: src/slic3r/GUI/Tab.cpp:1305 +#: src/slic3r/GUI/Tab.cpp:1303 msgid "Additional information:" msgstr "Дополнительная информация:" -#: src/slic3r/GUI/Tab.cpp:1311 +#: src/slic3r/GUI/Tab.cpp:1309 msgid "printer model" msgstr "модель принтера" -#: src/slic3r/GUI/Tab.cpp:1319 +#: src/slic3r/GUI/Tab.cpp:1317 msgid "default print profile" msgstr "профиль печати по умолчанию" -#: src/slic3r/GUI/Tab.cpp:1322 +#: src/slic3r/GUI/Tab.cpp:1320 msgid "default filament profile" msgstr "профиль прутка по умолчанию" -#: src/slic3r/GUI/Tab.cpp:1336 +#: src/slic3r/GUI/Tab.cpp:1334 msgid "default SLA material profile" -msgstr "профиль по умолчанию материала SLA" +msgstr "профиль SLA материала по умолчанию" -#: src/slic3r/GUI/Tab.cpp:1340 +#: src/slic3r/GUI/Tab.cpp:1338 msgid "default SLA print profile" -msgstr "профиль по умолчанию для печати SLA" +msgstr "профиль SLA печати по умолчанию" -#: src/slic3r/GUI/Tab.cpp:1348 +#: src/slic3r/GUI/Tab.cpp:1346 msgid "full profile name" -msgstr "полное название профиля" +msgstr "полное имя профиля" -#: src/slic3r/GUI/Tab.cpp:1349 +#: src/slic3r/GUI/Tab.cpp:1347 msgid "symbolic profile name" -msgstr "сокращённое название профиля" +msgstr "символическое имя профиля" -#: src/slic3r/GUI/Tab.cpp:1387 src/slic3r/GUI/Tab.cpp:4032 +#: src/slic3r/GUI/Tab.cpp:1385 src/slic3r/GUI/Tab.cpp:4042 msgid "Layers and perimeters" msgstr "Слои и периметры" -#: src/slic3r/GUI/Tab.cpp:1393 +#: src/slic3r/GUI/Tab.cpp:1391 msgid "Vertical shells" msgstr "Вертикальные оболочки" -#: src/slic3r/GUI/Tab.cpp:1405 +#: src/slic3r/GUI/Tab.cpp:1403 msgid "Horizontal shells" -msgstr "Горизонтальные оболочки (слои сверху и снизу)" +msgstr "Горизонтальные оболочки (слои сверху и снизу модели)" -#: src/slic3r/GUI/Tab.cpp:1406 src/libslic3r/PrintConfig.cpp:1948 +#: src/slic3r/GUI/Tab.cpp:1404 src/libslic3r/PrintConfig.cpp:1980 msgid "Solid layers" msgstr "Сплошных слоёв" -#: src/slic3r/GUI/Tab.cpp:1411 +#: src/slic3r/GUI/Tab.cpp:1409 msgid "Minimum shell thickness" msgstr "Минимальная толщина оболочки" -#: src/slic3r/GUI/Tab.cpp:1422 +#: src/slic3r/GUI/Tab.cpp:1420 msgid "Quality (slower slicing)" msgstr "Качество (замедляет нарезку)" -#: src/slic3r/GUI/Tab.cpp:1449 +#: src/slic3r/GUI/Tab.cpp:1448 msgid "Reducing printing time" msgstr "Сокращение времени печати" -#: src/slic3r/GUI/Tab.cpp:1461 +#: src/slic3r/GUI/Tab.cpp:1460 msgid "Skirt and brim" msgstr "Юбка и кайма" -#: src/slic3r/GUI/Tab.cpp:1481 +#: src/slic3r/GUI/Tab.cpp:1480 msgid "Raft" msgstr "Подложка" -#: src/slic3r/GUI/Tab.cpp:1485 +#: src/slic3r/GUI/Tab.cpp:1484 msgid "Options for support material and raft" -msgstr "Параметры поддержек и подложки" +msgstr "Опции для поддержки и подложки" -#: src/slic3r/GUI/Tab.cpp:1500 +#: src/slic3r/GUI/Tab.cpp:1499 msgid "Speed for print moves" -msgstr "Скорость передвижения при печати" +msgstr "Скорость перемещения при печати" -#: src/slic3r/GUI/Tab.cpp:1513 +#: src/slic3r/GUI/Tab.cpp:1512 msgid "Speed for non-print moves" -msgstr "Скорость передвижения без печати" +msgstr "Скорость перемещения без печати" -#: src/slic3r/GUI/Tab.cpp:1516 +#: src/slic3r/GUI/Tab.cpp:1515 msgid "Modifiers" msgstr "Модификаторы" -#: src/slic3r/GUI/Tab.cpp:1519 +#: src/slic3r/GUI/Tab.cpp:1518 msgid "Acceleration control (advanced)" msgstr "Управление ускорением (дополнительно)" -#: src/slic3r/GUI/Tab.cpp:1526 +#: src/slic3r/GUI/Tab.cpp:1525 msgid "Autospeed (advanced)" msgstr "Автоматическое управление скоростью (дополнительно)" -#: src/slic3r/GUI/Tab.cpp:1534 +#: src/slic3r/GUI/Tab.cpp:1533 msgid "Multiple Extruders" msgstr "Несколько экструдеров" -#: src/slic3r/GUI/Tab.cpp:1542 +#: src/slic3r/GUI/Tab.cpp:1541 msgid "Ooze prevention" -msgstr "Предотвращение утечек" +msgstr "Предотвращение течи материала" -#: src/slic3r/GUI/Tab.cpp:1560 +#: src/slic3r/GUI/Tab.cpp:1559 msgid "Extrusion width" msgstr "Ширина экструзии" -#: src/slic3r/GUI/Tab.cpp:1570 +#: src/slic3r/GUI/Tab.cpp:1569 msgid "Overlap" msgstr "Перекрытие" -#: src/slic3r/GUI/Tab.cpp:1573 +#: src/slic3r/GUI/Tab.cpp:1572 msgid "Flow" msgstr "Поток" -#: src/slic3r/GUI/Tab.cpp:1582 +#: src/slic3r/GUI/Tab.cpp:1581 msgid "Other" msgstr "Прочее" -#: src/slic3r/GUI/Tab.cpp:1585 src/slic3r/GUI/Tab.cpp:4108 +#: src/slic3r/GUI/Tab.cpp:1584 src/slic3r/GUI/Tab.cpp:4118 msgid "Output options" msgstr "Выходные параметры" -#: src/slic3r/GUI/Tab.cpp:1586 +#: src/slic3r/GUI/Tab.cpp:1585 msgid "Sequential printing" -msgstr "Последовательность печати" +msgstr "Последовательная печать" -#: src/slic3r/GUI/Tab.cpp:1588 -msgid "Extruder clearance (mm)" -msgstr "Радиус безопасной зоны экструдера (мм)" +#: src/slic3r/GUI/Tab.cpp:1587 +msgid "Extruder clearance" +msgstr "Радиус безопасной зоны экструдера" -#: src/slic3r/GUI/Tab.cpp:1593 src/slic3r/GUI/Tab.cpp:4109 +#: src/slic3r/GUI/Tab.cpp:1592 src/slic3r/GUI/Tab.cpp:4119 msgid "Output file" msgstr "Выходной файл" -#: src/slic3r/GUI/Tab.cpp:1600 src/libslic3r/PrintConfig.cpp:1634 +#: src/slic3r/GUI/Tab.cpp:1599 src/libslic3r/PrintConfig.cpp:1662 msgid "Post-processing scripts" msgstr "Скрипты постобработки" -#: src/slic3r/GUI/Tab.cpp:1606 src/slic3r/GUI/Tab.cpp:1607 -#: src/slic3r/GUI/Tab.cpp:1927 src/slic3r/GUI/Tab.cpp:1928 -#: src/slic3r/GUI/Tab.cpp:2261 src/slic3r/GUI/Tab.cpp:2262 -#: src/slic3r/GUI/Tab.cpp:2337 src/slic3r/GUI/Tab.cpp:2338 -#: src/slic3r/GUI/Tab.cpp:3975 src/slic3r/GUI/Tab.cpp:3976 +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1606 src/slic3r/GUI/Tab.cpp:1927 +#: src/slic3r/GUI/Tab.cpp:1928 src/slic3r/GUI/Tab.cpp:2266 src/slic3r/GUI/Tab.cpp:2267 +#: src/slic3r/GUI/Tab.cpp:2342 src/slic3r/GUI/Tab.cpp:2343 src/slic3r/GUI/Tab.cpp:3985 +#: src/slic3r/GUI/Tab.cpp:3986 msgid "Notes" msgstr "Заметки" -#: src/slic3r/GUI/Tab.cpp:1613 src/slic3r/GUI/Tab.cpp:1935 -#: src/slic3r/GUI/Tab.cpp:2268 src/slic3r/GUI/Tab.cpp:2344 -#: src/slic3r/GUI/Tab.cpp:3983 src/slic3r/GUI/Tab.cpp:4114 +#: src/slic3r/GUI/Tab.cpp:1612 src/slic3r/GUI/Tab.cpp:1935 src/slic3r/GUI/Tab.cpp:2273 +#: src/slic3r/GUI/Tab.cpp:2349 src/slic3r/GUI/Tab.cpp:3993 src/slic3r/GUI/Tab.cpp:4124 msgid "Dependencies" msgstr "Зависимости" -#: src/slic3r/GUI/Tab.cpp:1614 src/slic3r/GUI/Tab.cpp:1936 -#: src/slic3r/GUI/Tab.cpp:2269 src/slic3r/GUI/Tab.cpp:2345 -#: src/slic3r/GUI/Tab.cpp:3984 src/slic3r/GUI/Tab.cpp:4115 +#: src/slic3r/GUI/Tab.cpp:1613 src/slic3r/GUI/Tab.cpp:1936 src/slic3r/GUI/Tab.cpp:2274 +#: src/slic3r/GUI/Tab.cpp:2350 src/slic3r/GUI/Tab.cpp:3994 src/slic3r/GUI/Tab.cpp:4125 msgid "Profile dependencies" msgstr "Зависимости профиля" -#: src/slic3r/GUI/Tab.cpp:1694 +#: src/slic3r/GUI/Tab.cpp:1693 msgid "Filament Overrides" -msgstr "Переопределения прутка" +msgstr "Переопределение парам. прутка" -#: src/slic3r/GUI/Tab.cpp:1816 +#: src/slic3r/GUI/Tab.cpp:1815 msgid "Temperature" msgstr "Температура" -#: src/slic3r/GUI/Tab.cpp:1817 +#: src/slic3r/GUI/Tab.cpp:1816 msgid "Nozzle" msgstr "Сопло" -#: src/slic3r/GUI/Tab.cpp:1822 +#: src/slic3r/GUI/Tab.cpp:1821 msgid "Bed" -msgstr "Платформа" +msgstr "Стол" -#: src/slic3r/GUI/Tab.cpp:1827 +#: src/slic3r/GUI/Tab.cpp:1826 msgid "Cooling" msgstr "Охлаждение" -#: src/slic3r/GUI/Tab.cpp:1829 src/libslic3r/PrintConfig.cpp:1537 -#: src/libslic3r/PrintConfig.cpp:2396 +#: src/slic3r/GUI/Tab.cpp:1828 src/libslic3r/PrintConfig.cpp:1565 +#: src/libslic3r/PrintConfig.cpp:2428 msgid "Enable" -msgstr "Включить" +msgstr "Вкл." -#: src/slic3r/GUI/Tab.cpp:1840 +#: src/slic3r/GUI/Tab.cpp:1839 msgid "Fan settings" msgstr "Настройки вентилятора" @@ -6844,7 +7060,7 @@ msgstr "Пороги включения обдува" #: src/slic3r/GUI/Tab.cpp:1856 msgid "Filament properties" -msgstr "Свойства прутка" +msgstr "Настройки прутка" #: src/slic3r/GUI/Tab.cpp:1863 msgid "Print speed override" @@ -6852,53 +7068,60 @@ msgstr "Ограничение скорости печати" #: src/slic3r/GUI/Tab.cpp:1873 msgid "Wipe tower parameters" -msgstr "Параметры башни очистки" +msgstr "Параметры черновой башни" #: src/slic3r/GUI/Tab.cpp:1876 msgid "Toolchange parameters with single extruder MM printers" -msgstr "Параметры смены сопла в одноэкструдерных мультиматериальных принтерах" +msgstr "Параметры смены инструмента в одноэкструдерных мультиматериальных принтерах" #: src/slic3r/GUI/Tab.cpp:1889 msgid "Ramming settings" msgstr "Настройки рэмминга" -#: src/slic3r/GUI/Tab.cpp:1912 src/slic3r/GUI/Tab.cpp:2200 -#: src/libslic3r/PrintConfig.cpp:2031 +#: src/slic3r/GUI/Tab.cpp:1912 src/slic3r/GUI/Tab.cpp:2205 +#: src/libslic3r/PrintConfig.cpp:2063 msgid "Custom G-code" msgstr "Пользовательский G-код" -#: src/slic3r/GUI/Tab.cpp:1913 src/slic3r/GUI/Tab.cpp:2201 -#: src/libslic3r/PrintConfig.cpp:1981 src/libslic3r/PrintConfig.cpp:1996 +#: src/slic3r/GUI/Tab.cpp:1913 src/slic3r/GUI/Tab.cpp:2206 +#: src/libslic3r/PrintConfig.cpp:2013 src/libslic3r/PrintConfig.cpp:2028 msgid "Start G-code" msgstr "Стартовый G-код" -#: src/slic3r/GUI/Tab.cpp:1920 src/slic3r/GUI/Tab.cpp:2208 -#: src/libslic3r/PrintConfig.cpp:426 src/libslic3r/PrintConfig.cpp:436 +#: src/slic3r/GUI/Tab.cpp:1920 src/slic3r/GUI/Tab.cpp:2213 +#: src/libslic3r/PrintConfig.cpp:441 src/libslic3r/PrintConfig.cpp:451 msgid "End G-code" msgstr "Завершающий G-код" #: src/slic3r/GUI/Tab.cpp:1970 msgid "Volumetric flow hints not available" -msgstr "Подсказки по объемному расходу недоступны" +msgstr "Подсказки об объёмном расходе недоступны." #: src/slic3r/GUI/Tab.cpp:2066 msgid "" -"Note: All parameters from this group are moved to the Physical Printer " -"settings (see changelog).\n" +"Note: All parameters from this group are moved to the Physical Printer settings " +"(see changelog).\n" "\n" -"A new Physical Printer profile is created by clicking on the \"cog\" icon " -"right of the Printer profiles combo box, by selecting the \"Add physical " -"printer\" item in the Printer combo box. The Physical Printer profile editor " -"opens also when clicking on the \"cog\" icon in the Printer settings tab. " -"The Physical Printer profiles are being stored into PrusaSlicer/" -"physical_printer directory." +"A new Physical Printer profile is created by clicking on the \"cog\" icon right of " +"the Printer profiles combo box, by selecting the \"Add physical printer\" item in " +"the Printer combo box. The Physical Printer profile editor opens also when clicking " +"on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are " +"being stored into PrusaSlicer/physical_printer directory." msgstr "" +"Примечание: все параметры из этой группы перенесены в настройки физического " +"принтера (см. список изменений).\n" +"\n" +"Новый профиль физического принтера создаётся нажатием по значку \"шестеренка\" " +"справа от поля со списком профилей принтеров, выбрав \"Добавить физический принтер" +"\". Редактор профиля физического принтера открывается также при нажатии на значок " +"\"шестеренка\" на вкладке настройки принтера. Профили физического принтера " +"сохраняются в папке PrusaSlicer/physical_printer." -#: src/slic3r/GUI/Tab.cpp:2099 src/slic3r/GUI/Tab.cpp:2281 +#: src/slic3r/GUI/Tab.cpp:2099 src/slic3r/GUI/Tab.cpp:2286 msgid "Size and coordinates" msgstr "Размер и координаты" -#: src/slic3r/GUI/Tab.cpp:2108 src/slic3r/GUI/UnsavedChangesDialog.cpp:1072 +#: src/slic3r/GUI/Tab.cpp:2108 src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 msgid "Capabilities" msgstr "Характеристики принтера" @@ -6910,135 +7133,141 @@ msgstr "Количество экструдеров у принтера." msgid "" "Single Extruder Multi Material is selected, \n" "and all extruders must have the same diameter.\n" -"Do you want to change the diameter for all extruders to first extruder " -"nozzle diameter value?" +"Do you want to change the diameter for all extruders to first extruder nozzle " +"diameter value?" msgstr "" +"Выбран мультиматериальный одиночный экструдер, \n" +"поэтому все экструдеры должны иметь одинаковый диаметр.\n" +"Изменить диаметр всех экструдеров на значение диаметра сопла первого экструдера?" -#: src/slic3r/GUI/Tab.cpp:2144 src/slic3r/GUI/Tab.cpp:2547 -#: src/libslic3r/PrintConfig.cpp:1506 +#: src/slic3r/GUI/Tab.cpp:2144 src/slic3r/GUI/Tab.cpp:2552 +#: src/libslic3r/PrintConfig.cpp:1534 msgid "Nozzle diameter" msgstr "Диаметр сопла" -#: src/slic3r/GUI/Tab.cpp:2215 src/libslic3r/PrintConfig.cpp:194 +#: src/slic3r/GUI/Tab.cpp:2220 src/libslic3r/PrintConfig.cpp:209 msgid "Before layer change G-code" msgstr "G-код, выполняемый перед сменой слоя" -#: src/slic3r/GUI/Tab.cpp:2222 src/libslic3r/PrintConfig.cpp:1245 +#: src/slic3r/GUI/Tab.cpp:2227 src/libslic3r/PrintConfig.cpp:1273 msgid "After layer change G-code" -msgstr "G-код, выполняемый после смены слоя" +msgstr "G-код выполняемый после смены слоя" -#: src/slic3r/GUI/Tab.cpp:2229 src/libslic3r/PrintConfig.cpp:2289 +#: src/slic3r/GUI/Tab.cpp:2234 src/libslic3r/PrintConfig.cpp:2321 msgid "Tool change G-code" -msgstr "G-код, выполняемый для смены инструмента" +msgstr "G-код выполняемый при смене инструмента" -#: src/slic3r/GUI/Tab.cpp:2236 +#: src/slic3r/GUI/Tab.cpp:2241 msgid "Between objects G-code (for sequential printing)" -msgstr "G-код, выполняемый между объектами (для последовательной печати)" +msgstr "G-код выполняемый между моделями (для последовательной печати)" -#: src/slic3r/GUI/Tab.cpp:2243 +#: src/slic3r/GUI/Tab.cpp:2248 msgid "Color Change G-code" -msgstr "G-код, выполняемый для смены цвета" +msgstr "G-код смены цвета" -#: src/slic3r/GUI/Tab.cpp:2249 src/libslic3r/PrintConfig.cpp:2022 +#: src/slic3r/GUI/Tab.cpp:2254 src/libslic3r/PrintConfig.cpp:2054 msgid "Pause Print G-code" -msgstr "G-код, выполняемый для паузы печати" +msgstr "G-код паузы печати" -#: src/slic3r/GUI/Tab.cpp:2255 +#: src/slic3r/GUI/Tab.cpp:2260 msgid "Template Custom G-code" -msgstr "Шаблон пользовательского G-кода" +msgstr "Пользовательский шаблон G-кода" -#: src/slic3r/GUI/Tab.cpp:2288 +#: src/slic3r/GUI/Tab.cpp:2293 msgid "Display" -msgstr "" +msgstr "Дисплей" -#: src/slic3r/GUI/Tab.cpp:2303 +#: src/slic3r/GUI/Tab.cpp:2308 msgid "Tilt" -msgstr "" +msgstr "Наклон ванночки" -#: src/slic3r/GUI/Tab.cpp:2304 +#: src/slic3r/GUI/Tab.cpp:2309 msgid "Tilt time" -msgstr "" +msgstr "Время наклона ванночки" -#: src/slic3r/GUI/Tab.cpp:2310 src/slic3r/GUI/Tab.cpp:3959 +#: src/slic3r/GUI/Tab.cpp:2315 src/slic3r/GUI/Tab.cpp:3969 msgid "Corrections" -msgstr "Исправления" +msgstr "Корректировка" -#: src/slic3r/GUI/Tab.cpp:2327 src/slic3r/GUI/Tab.cpp:3955 +#: src/slic3r/GUI/Tab.cpp:2332 src/slic3r/GUI/Tab.cpp:3965 msgid "Exposure" -msgstr "" +msgstr "Экспозиция" -#: src/slic3r/GUI/Tab.cpp:2386 src/slic3r/GUI/Tab.cpp:2480 -#: src/libslic3r/PrintConfig.cpp:1274 src/libslic3r/PrintConfig.cpp:1309 -#: src/libslic3r/PrintConfig.cpp:1326 src/libslic3r/PrintConfig.cpp:1343 -#: src/libslic3r/PrintConfig.cpp:1359 src/libslic3r/PrintConfig.cpp:1369 -#: src/libslic3r/PrintConfig.cpp:1379 src/libslic3r/PrintConfig.cpp:1389 +#: src/slic3r/GUI/Tab.cpp:2391 src/slic3r/GUI/Tab.cpp:2485 +#: src/libslic3r/PrintConfig.cpp:1302 src/libslic3r/PrintConfig.cpp:1337 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1371 +#: src/libslic3r/PrintConfig.cpp:1387 src/libslic3r/PrintConfig.cpp:1397 +#: src/libslic3r/PrintConfig.cpp:1407 src/libslic3r/PrintConfig.cpp:1417 msgid "Machine limits" msgstr "Ограничения принтера" -#: src/slic3r/GUI/Tab.cpp:2409 +#: src/slic3r/GUI/Tab.cpp:2414 msgid "Values in this column are for Normal mode" -msgstr "Значения в этом столбце относятся к нормальному режиму" +msgstr "Значения в этой колонке для нормального режима" -#: src/slic3r/GUI/Tab.cpp:2415 +#: src/slic3r/GUI/Tab.cpp:2420 msgid "Values in this column are for Stealth mode" -msgstr "Значения в этом столбце относятся к тихому режиму" - -#: src/slic3r/GUI/Tab.cpp:2424 -msgid "Maximum feedrates" -msgstr "Максимальные скорости подачи" +msgstr "Значения в этой колонке для тихого режима" #: src/slic3r/GUI/Tab.cpp:2429 -msgid "Maximum accelerations" -msgstr "Максимальные ускорения" +msgid "Maximum feedrates" +msgstr "Максимальная скорость (#define DEFAULT_MAX_FEEDRATE {X, Y, Z, E})" -#: src/slic3r/GUI/Tab.cpp:2436 -msgid "Jerk limits" -msgstr "Ограничение рывка" +#: src/slic3r/GUI/Tab.cpp:2434 +msgid "Maximum accelerations" +msgstr "" +"Максимальное ускорение (#define DEFAULT_MAX_ACCELERATION {X,Y,Z,E}, #define " +"DEFAULT_RETRACT_ACCELERATION, )" #: src/slic3r/GUI/Tab.cpp:2441 -msgid "Minimum feedrates" -msgstr "Минимальные скорости подачи" +msgid "Jerk limits" +msgstr "Ограничение рывка (#define DEFAULT_{X,Y,Z,E}JERK)" -#: src/slic3r/GUI/Tab.cpp:2505 src/slic3r/GUI/Tab.cpp:2513 +#: src/slic3r/GUI/Tab.cpp:2446 +msgid "Minimum feedrates" +msgstr "" +"Минимальная скорость (#define DEFAULT_MINIMUMFEEDRATE и #define " +"DEFAULT_MINTRAVELFEEDRATE)" + +#: src/slic3r/GUI/Tab.cpp:2510 src/slic3r/GUI/Tab.cpp:2518 msgid "Single extruder MM setup" msgstr "Экструдер в ММ принтере" -#: src/slic3r/GUI/Tab.cpp:2514 +#: src/slic3r/GUI/Tab.cpp:2519 msgid "Single extruder multimaterial parameters" -msgstr "" -"Параметры экструдера в одноэкструдерном мультиматериальном (ММ) принтере" +msgstr "Параметры экструдера в одноэкструдерном мультиматериальном (ММ) принтере" -#: src/slic3r/GUI/Tab.cpp:2545 +#: src/slic3r/GUI/Tab.cpp:2550 msgid "" -"This is a single extruder multimaterial printer, diameters of all extruders " -"will be set to the new value. Do you want to proceed?" +"This is a single extruder multimaterial printer, diameters of all extruders will be " +"set to the new value. Do you want to proceed?" msgstr "" +"Это одноэкструдерный мультиматериальный принтер, диаметры всех экструдеров будут " +"установлены на новое значение. Вы хотите продолжить?" -#: src/slic3r/GUI/Tab.cpp:2569 +#: src/slic3r/GUI/Tab.cpp:2574 msgid "Layer height limits" msgstr "Ограничение высоты слоя" -#: src/slic3r/GUI/Tab.cpp:2574 +#: src/slic3r/GUI/Tab.cpp:2579 msgid "Position (for multi-extruder printers)" msgstr "Позиция экструдера (для многоэкструдерных принтеров)" -#: src/slic3r/GUI/Tab.cpp:2580 +#: src/slic3r/GUI/Tab.cpp:2585 msgid "Only lift Z" -msgstr "Только подъём Z" +msgstr "Приподнимать сопло только" -#: src/slic3r/GUI/Tab.cpp:2593 -msgid "" -"Retraction when tool is disabled (advanced settings for multi-extruder " -"setups)" +#: src/slic3r/GUI/Tab.cpp:2598 +msgid "Retraction when tool is disabled (advanced settings for multi-extruder setups)" msgstr "" -"Ретракт, при отключении сопла (дополнительные настройки для " -"многоэкструдерных принтеров)" +"Ретракт, при отключении сопла (дополнительные настройки для многоэкструдерных " +"принтеров)" -#: src/slic3r/GUI/Tab.cpp:2600 +#: src/slic3r/GUI/Tab.cpp:2605 msgid "Reset to Filament Color" -msgstr "Сбросить в цвет прутка" +msgstr "Сброс в цвет прутка" -#: src/slic3r/GUI/Tab.cpp:2778 +#: src/slic3r/GUI/Tab.cpp:2783 msgid "" "The Wipe option is not available when using the Firmware Retraction mode.\n" "\n" @@ -7048,392 +7277,407 @@ msgstr "" "\n" "Отключить его для включения ретракта из прошивки?" -#: src/slic3r/GUI/Tab.cpp:2780 +#: src/slic3r/GUI/Tab.cpp:2785 msgid "Firmware Retraction" msgstr "Ретракт из прошивки" -#: src/slic3r/GUI/Tab.cpp:3366 +#: src/slic3r/GUI/Tab.cpp:3376 msgid "Detached" msgstr "Отсоединён" -#: src/slic3r/GUI/Tab.cpp:3429 +#: src/slic3r/GUI/Tab.cpp:3439 msgid "remove" msgstr "убрать" -#: src/slic3r/GUI/Tab.cpp:3429 +#: src/slic3r/GUI/Tab.cpp:3439 msgid "delete" msgstr "удалить" -#: src/slic3r/GUI/Tab.cpp:3438 +#: src/slic3r/GUI/Tab.cpp:3448 msgid "It's a last preset for this physical printer." -msgstr "" +msgstr "Это последний профиль для этого физического принтера." -#: src/slic3r/GUI/Tab.cpp:3443 +#: src/slic3r/GUI/Tab.cpp:3453 msgid "" -"Are you sure you want to delete \"%1%\" preset from the physical printer " -"\"%2%\"?" +"Are you sure you want to delete \"%1%\" preset from the physical printer \"%2%\"?" msgstr "" +"Вы действительно хотите удалить профиль \"%1%\" из физического принтера \"%2%\"?" -#: src/slic3r/GUI/Tab.cpp:3455 +#: src/slic3r/GUI/Tab.cpp:3465 +msgid "The physical printer(s) below is based on the preset, you are going to delete." +msgstr "" +"Физические принтеры, указанные ниже, основаны на профиле, которые вы собираетесь " +"удалить." + +#: src/slic3r/GUI/Tab.cpp:3469 +msgid "Note, that selected preset will be deleted from this/those printer(s) too." +msgstr "Обратите внимание, выбранный профиль будет удалён из этого принтера тоже." + +#: src/slic3r/GUI/Tab.cpp:3473 msgid "" -"The physical printer(s) below is based on the preset, you are going to " -"delete." +"The physical printer(s) below is based only on the preset, you are going to delete." msgstr "" +"Физические принтеры, указанные ниже, основаны только на профиле, которые вы " +"собираетесь удалить." -#: src/slic3r/GUI/Tab.cpp:3459 +#: src/slic3r/GUI/Tab.cpp:3477 msgid "" -"Note, that selected preset will be deleted from this/those printer(s) too." +"Note, that this/those printer(s) will be deleted after deleting of the selected " +"preset." msgstr "" +"Обратите внимание, этот принтер(-ы) будет удалён после удаления выбранного профиля." -#: src/slic3r/GUI/Tab.cpp:3463 -msgid "" -"The physical printer(s) below is based only on the preset, you are going to " -"delete." -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:3467 -msgid "" -"Note, that this/those printer(s) will be deleted after deleting of the " -"selected preset." -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:3471 +#: src/slic3r/GUI/Tab.cpp:3481 msgid "Are you sure you want to %1% the selected preset?" -msgstr "Удалить выбранный профиль %1%?" +msgstr "Вы уверены, что хотите %1% выбранный профиль?" #. TRN Remove/Delete -#: src/slic3r/GUI/Tab.cpp:3476 +#: src/slic3r/GUI/Tab.cpp:3486 msgid "%1% Preset" msgstr "Профиль %1%" -#: src/slic3r/GUI/Tab.cpp:3557 src/slic3r/GUI/Tab.cpp:3629 +#: src/slic3r/GUI/Tab.cpp:3567 src/slic3r/GUI/Tab.cpp:3639 msgid "Set" msgstr "Выбор" -#: src/slic3r/GUI/Tab.cpp:3693 -msgid "" -"Machine limits will be emitted to G-code and used to estimate print time." +#: src/slic3r/GUI/Tab.cpp:3703 +msgid "Machine limits will be emitted to G-code and used to estimate print time." msgstr "" +"Ограничения принтера будут передаваться в G-код и использоваться для оценки времени " +"печати." -#: src/slic3r/GUI/Tab.cpp:3696 +#: src/slic3r/GUI/Tab.cpp:3706 msgid "" -"Machine limits will NOT be emitted to G-code, however they will be used to " -"estimate print time, which may therefore not be accurate as the printer may " -"apply a different set of machine limits." +"Machine limits will NOT be emitted to G-code, however they will be used to estimate " +"print time, which may therefore not be accurate as the printer may apply a " +"different set of machine limits." msgstr "" +"Ограничения принтера не будут передаваться в G-код, тем не менее они будут " +"используются для оценки времени печати, которое может быть неточным, поскольку " +"принтер может применять другой набор ограничений для принтера." -#: src/slic3r/GUI/Tab.cpp:3700 +#: src/slic3r/GUI/Tab.cpp:3710 msgid "" -"Machine limits are not set, therefore the print time estimate may not be " -"accurate." +"Machine limits are not set, therefore the print time estimate may not be accurate." msgstr "" +"Ограничения принтера не заданы, поэтому оценка времени печати может быть неточной." -#: src/slic3r/GUI/Tab.cpp:3722 +#: src/slic3r/GUI/Tab.cpp:3732 msgid "LOCKED LOCK" -msgstr "ЗАКРЫТЫЙ ЗАМОК" +msgstr "ЗАКРЫТЫЙ ЗАМОЧЕК" #. TRN Description for "LOCKED LOCK" -#: src/slic3r/GUI/Tab.cpp:3724 +#: src/slic3r/GUI/Tab.cpp:3734 msgid "" -"indicates that the settings are the same as the system (or default) values " -"for the current option group" +"indicates that the settings are the same as the system (or default) values for the " +"current option group" msgstr "" -"указывает, что настройки совпадают с системными (умолчательным) значениями " -"текущей группы параметров" +"указывает, что настройки совпадают с системными значениями (или значениями по " +"умолчанию) для текущей группы." -#: src/slic3r/GUI/Tab.cpp:3726 +#: src/slic3r/GUI/Tab.cpp:3736 msgid "UNLOCKED LOCK" -msgstr "ОТКРЫТЫЙ ЗАМОК" +msgstr "ОТКРЫТЫЙ ЗАМОЧЕК" #. TRN Description for "UNLOCKED LOCK" -#: src/slic3r/GUI/Tab.cpp:3728 +#: src/slic3r/GUI/Tab.cpp:3738 msgid "" -"indicates that some settings were changed and are not equal to the system " -"(or default) values for the current option group.\n" -"Click the UNLOCKED LOCK icon to reset all settings for current option group " -"to the system (or default) values." +"indicates that some settings were changed and are not equal to the system (or " +"default) values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to the " +"system (or default) values." msgstr "" -"указывает, что некоторые настройки были изменены и не равны системным " -"(умолчательным) значениям текущей группы параметров.\n" -"Нажмите на ОТКРЫТЫЙ ЗАМОК, чтобы сбросить все настройки текущей группы " -"параметров в системные значения." +"указывает, что некоторые настройки были изменены и не равны системным значениям " +"(или значениям по умолчанию) для текущей группы.\n" +"Нажмите, чтобы сбросить все настройки текущей группы до системных значений (или " +"значений по умолчанию)." -#: src/slic3r/GUI/Tab.cpp:3733 +#: src/slic3r/GUI/Tab.cpp:3743 msgid "WHITE BULLET" msgstr "БЕЛЫЙ МАРКЕР" #. TRN Description for "WHITE BULLET" -#: src/slic3r/GUI/Tab.cpp:3735 +#: src/slic3r/GUI/Tab.cpp:3745 msgid "" "for the left button: indicates a non-system (or non-default) preset,\n" "for the right button: indicates that the settings hasn't been modified." msgstr "" -"маркер слева указывает на несистемный профиль,\n" -"а правый, что параметры не были изменены." +"слева: указывает на не системный профиль (или профиль не по умолчанию),\n" +"справа: указывает, что параметры не были изменены." -#: src/slic3r/GUI/Tab.cpp:3738 +#: src/slic3r/GUI/Tab.cpp:3748 msgid "BACK ARROW" -msgstr "СТРЕЛКА РАЗВОРОТА" +msgstr "ЗНАЧОК СО СТРЕЛКОЙ" #. TRN Description for "BACK ARROW" -#: src/slic3r/GUI/Tab.cpp:3740 -msgid "" -"indicates that the settings were changed and are not equal to the last saved " -"preset for the current option group.\n" -"Click the BACK ARROW icon to reset all settings for the current option group " -"to the last saved preset." -msgstr "" -"указывает, что настройки были изменены и не совпадают с настройками в " -"последнем сохранённом профиле для текущей группы параметров.\n" -"Нажмите на значок СТРЕЛКИ РАЗВОРОТА, чтобы сбросить все настройки для " -"текущей группы в последние сохранённые значения профиля." - #: src/slic3r/GUI/Tab.cpp:3750 msgid "" +"indicates that the settings were changed and are not equal to the last saved preset " +"for the current option group.\n" +"Click the BACK ARROW icon to reset all settings for the current option group to the " +"last saved preset." +msgstr "" +"указывает, что настройки были изменены и не совпадают с настройками в последнем " +"сохранённом профиле\n" +"для текущей группы. Нажмите на значок со стрелкой, чтобы сбросить все настройки для " +"текущей группы до последнего\n" +"сохранённого значения профиля." + +#: src/slic3r/GUI/Tab.cpp:3760 +msgid "" "LOCKED LOCK icon indicates that the settings are the same as the system (or " "default) values for the current option group" msgstr "" -"Закрытый замочек указывает, что настройки совпадают с системными значениями " -"для текущей группы" +"ЗАКРЫТЫЙ ЗАМОЧЕК указывает, что настройки совпадают с системными значениями (или " +"значениями по умолчанию) для текущей группы." -#: src/slic3r/GUI/Tab.cpp:3752 +#: src/slic3r/GUI/Tab.cpp:3762 msgid "" -"UNLOCKED LOCK icon indicates that some settings were changed and are not " -"equal to the system (or default) values for the current option group.\n" -"Click to reset all settings for current option group to the system (or " -"default) values." +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal to " +"the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or default) " +"values." msgstr "" -"Открытый замочек указывает, что некоторые настройки были изменены и не равны " +"ОТКРЫТЫЙ ЗАМОЧЕК указывает, что некоторые настройки были изменены и не равны " "системным значениям (или значениям по умолчанию) для текущей группы.\n" -"Нажмите, чтобы сбросить все настройки текущей группы до системных значений." +"Нажмите, чтобы сбросить все настройки текущей группы до системных значений (или " +"значений по умолчанию)." -#: src/slic3r/GUI/Tab.cpp:3755 +#: src/slic3r/GUI/Tab.cpp:3765 msgid "WHITE BULLET icon indicates a non system (or non default) preset." -msgstr "" -"Белый маркер указывает на несистемный профиль (либо профиль не по умолчанию)." +msgstr "БЕЛЫЙ МАРКЕР указывает на не системный профиль (или профиль не по умолчанию)." -#: src/slic3r/GUI/Tab.cpp:3758 +#: src/slic3r/GUI/Tab.cpp:3768 msgid "" -"WHITE BULLET icon indicates that the settings are the same as in the last " -"saved preset for the current option group." +"WHITE BULLET icon indicates that the settings are the same as in the last saved " +"preset for the current option group." msgstr "" -"Белый маркер означает, что настройки совпадают с настройками в последнем " +"БЕЛЫЙ МАРКЕР означает, что настройки совпадают с настройками в последнем " "сохранённом профиле для текущей группы." -#: src/slic3r/GUI/Tab.cpp:3760 +#: src/slic3r/GUI/Tab.cpp:3770 msgid "" -"BACK ARROW icon indicates that the settings were changed and are not equal " -"to the last saved preset for the current option group.\n" -"Click to reset all settings for the current option group to the last saved " -"preset." +"BACK ARROW icon indicates that the settings were changed and are not equal to the " +"last saved preset for the current option group.\n" +"Click to reset all settings for the current option group to the last saved preset." msgstr "" -"Значок со стрелкой указывает, что настройки были изменены и не совпадают с " +"ЗНАЧОК СО СТРЕЛКОЙ указывает, что настройки были изменены и не совпадают с " "настройками в последнем сохранённом профиле для текущей группы.\n" -"Нажмите, чтобы сбросить все настройки для текущей группы до последнего " -"сохранённого значения профиля." +"Нажмите, чтобы сбросить все настройки для текущей группы до последнего сохранённого " +"значения профиля." -#: src/slic3r/GUI/Tab.cpp:3766 +#: src/slic3r/GUI/Tab.cpp:3776 msgid "" -"LOCKED LOCK icon indicates that the value is the same as the system (or " -"default) value." +"LOCKED LOCK icon indicates that the value is the same as the system (or default) " +"value." msgstr "" -"Закрытый замочек указывает, что значение совпадает с системным значением " -"(либо значием по умолчанию)." +"ЗАКРЫТЫЙ ЗАМОЧЕК указывает, что значение совпадает с системным значением (или " +"значение по умолчанию)." -#: src/slic3r/GUI/Tab.cpp:3767 +#: src/slic3r/GUI/Tab.cpp:3777 msgid "" -"UNLOCKED LOCK icon indicates that the value was changed and is not equal to " -"the system (or default) value.\n" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to the " +"system (or default) value.\n" "Click to reset current value to the system (or default) value." msgstr "" -"Открытый замочек указывает, что значение было изменено и не равно системному " -"значению(или значениям по умолчанию).\n" -"Нажмите, чтобы сбросить текущее значение к системному значению." +"ОТКРЫТЫЙ ЗАМОЧЕК указывает, что значение было изменено и не равно системному " +"значению (или значению по умолчанию).\n" +"Нажмите, чтобы сбросить текущее значение к системному значению (или значению по " +"умолчанию)." -#: src/slic3r/GUI/Tab.cpp:3773 +#: src/slic3r/GUI/Tab.cpp:3783 msgid "" -"WHITE BULLET icon indicates that the value is the same as in the last saved " -"preset." +"WHITE BULLET icon indicates that the value is the same as in the last saved preset." msgstr "" -"Белый маркер указывает, что значение совпадает со значением в последнем " -"сохранённом профиле." +"БЕЛЫЙ МАРКЕР указывает, что значение совпадает со значением в последнем сохранённом " +"профиле." -#: src/slic3r/GUI/Tab.cpp:3774 +#: src/slic3r/GUI/Tab.cpp:3784 msgid "" -"BACK ARROW icon indicates that the value was changed and is not equal to the " -"last saved preset.\n" +"BACK ARROW icon indicates that the value was changed and is not equal to the last " +"saved preset.\n" "Click to reset current value to the last saved preset." msgstr "" -"Значок со стрелкой указывает, что значение было изменено и не совпадает со " +"ЗНАЧОК СО СТРЕЛКОЙ указывает, что значение было изменено и не совпадает со " "значением в последнем сохранённом профиле для текущей группы.\n" "Нажмите, чтобы сбросить значение до последнего сохранённого значения профиля." -#: src/slic3r/GUI/Tab.cpp:3918 src/slic3r/GUI/Tab.cpp:3920 +#: src/slic3r/GUI/Tab.cpp:3928 src/slic3r/GUI/Tab.cpp:3930 msgid "Material" msgstr "Материал" -#: src/slic3r/GUI/Tab.cpp:4042 +#: src/slic3r/GUI/Tab.cpp:4052 msgid "Support head" -msgstr "" +msgstr "Носик поддержки" -#: src/slic3r/GUI/Tab.cpp:4047 +#: src/slic3r/GUI/Tab.cpp:4057 msgid "Support pillar" -msgstr "Опорная стойка" +msgstr "Тело поддержки" -#: src/slic3r/GUI/Tab.cpp:4070 +#: src/slic3r/GUI/Tab.cpp:4080 msgid "Connection of the support sticks and junctions" -msgstr "" +msgstr "Соединения опор поддержки со связующим узлом" -#: src/slic3r/GUI/Tab.cpp:4075 +#: src/slic3r/GUI/Tab.cpp:4085 msgid "Automatic generation" msgstr "Автоматическая генерация" -#: src/slic3r/GUI/Tab.cpp:4149 +#: src/slic3r/GUI/Tab.cpp:4159 msgid "" "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" "To enable \"%1%\", please switch off \"%2%\"" msgstr "" +"\"%1%\" отключена, так как \"%2%\" находится в категории \"%3%\".\n" +"Чтобы включить \"%1%\", отключите \"%2%\"" -#: src/slic3r/GUI/Tab.cpp:4151 src/libslic3r/PrintConfig.cpp:2970 +#: src/slic3r/GUI/Tab.cpp:4161 src/libslic3r/PrintConfig.cpp:3002 msgid "Object elevation" -msgstr "" +msgstr "Высота подъёма модели" -#: src/slic3r/GUI/Tab.cpp:4151 src/libslic3r/PrintConfig.cpp:3072 +#: src/slic3r/GUI/Tab.cpp:4161 src/libslic3r/PrintConfig.cpp:3104 msgid "Pad around object" -msgstr "" +msgstr "Подложка вокруг модели" -#: src/slic3r/GUI/Tab.hpp:374 src/slic3r/GUI/Tab.hpp:496 +#: src/slic3r/GUI/Tab.hpp:370 src/slic3r/GUI/Tab.hpp:492 msgid "Print Settings" msgstr "Настройки печати" -#: src/slic3r/GUI/Tab.hpp:405 +#: src/slic3r/GUI/Tab.hpp:401 msgid "Filament Settings" msgstr "Настройки прутка" -#: src/slic3r/GUI/Tab.hpp:446 +#: src/slic3r/GUI/Tab.hpp:442 msgid "Printer Settings" msgstr "Настройки принтера" -#: src/slic3r/GUI/Tab.hpp:480 +#: src/slic3r/GUI/Tab.hpp:476 msgid "Material Settings" -msgstr "Настройки материала" +msgstr "Настройка материала" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:143 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:152 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:851 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:149 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 msgid "Undef" -msgstr "" +msgstr "Не задано" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:531 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:537 msgid "PrusaSlicer is closing: Unsaved Changes" -msgstr "" +msgstr "Закрытие PrusaSlicer: несохраненные изменения" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:548 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:554 msgid "Switching Presets: Unsaved Changes" -msgstr "" +msgstr "Смена профилей: несохраненные изменения" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:614 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:620 msgid "Old Value" msgstr "Старое значение" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:615 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:621 msgid "New Value" msgstr "Новое значение" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:646 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:652 msgid "Transfer" msgstr "Перенести" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:647 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:653 msgid "Discard" -msgstr "Сбросить" +msgstr "Не сохранять" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:648 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:654 msgid "Save" msgstr "Сохранить" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:668 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:674 msgid "PrusaSlicer will remember your action." -msgstr "" +msgstr "PrusaSlicer запомнит ваш выбор." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:670 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:676 msgid "" -"You will not be asked about the unsaved changes the next time you close " -"PrusaSlicer." +"You will not be asked about the unsaved changes the next time you close PrusaSlicer." msgstr "" +"Запрос о несохраненных изменениях не будет появляться при закрытии PrusaSlicer." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:671 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:677 msgid "" -"You will not be asked about the unsaved changes the next time you switch a " -"preset." +"You will not be asked about the unsaved changes the next time you switch a preset." msgstr "" +"Запрос о несохраненных изменениях не будет появляться при следующем переключении " +"профиля." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:672 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:678 msgid "" "Visit \"Preferences\" and check \"%1%\"\n" "to be asked about unsaved changes again." msgstr "" +"Зайдите в \"Настройки приложения\" и установите флажок \"%1%\",\n" +"чтобы вернуть запрос о несохраненных изменениях." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:674 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:680 msgid "PrusaSlicer: Don't ask me again" -msgstr "" +msgstr "PrusaSlicer: Не спрашивать снова" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:741 -msgid "" -"Some fields are too long to fit. Right mouse click reveals the full text." +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:747 +msgid "Some fields are too long to fit. Right mouse click reveals the full text." msgstr "" +"Некоторые поля слишком длинные. Щёлкните правой кнопкой мыши, чтобы показать полный " +"текст." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:743 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:749 msgid "All settings changes will be discarded." -msgstr "" +msgstr "Все изменённые параметры будут потеряны." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:746 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:752 msgid "Save the selected options." -msgstr "" +msgstr "Сохранить выбранные параметры." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:746 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:752 msgid "Transfer the selected settings to the newly selected preset." -msgstr "" +msgstr "Перенести выбранные параметры во вновь выбранный профиль." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:750 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:756 msgid "Save the selected options to preset \"%1%\"." -msgstr "" +msgstr "Сохранить выбранные параметры в профиле \"%1%\"." -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:751 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:757 msgid "Transfer the selected options to the newly selected preset \"%1%\"." -msgstr "" - -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1010 -msgid "The following presets were modified:" -msgstr "" - -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1015 -msgid "Preset \"%1%\" has the following unsaved changes:" -msgstr "" +msgstr "Перенести выбранные параметры во вновь выбранный профиль \"%1%\"." #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1019 +msgid "The following presets were modified:" +msgstr "Следующие профили были изменены:" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1024 +msgid "Preset \"%1%\" has the following unsaved changes:" +msgstr "Профиль \"%1%\" имеет следующие несохранённые изменения:" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1028 msgid "" "Preset \"%1%\" is not compatible with the new printer profile and it has the " "following unsaved changes:" msgstr "" +"Профиль \"%1%\" несовместим с новым профилем принтера, и в нём есть следующие " +"несохраненные изменения:" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1020 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1029 msgid "" "Preset \"%1%\" is not compatible with the new print profile and it has the " "following unsaved changes:" msgstr "" +"Профиль \"%1%\" несовместим с новым профилем печати, и имеет следующие " +"несохраненные изменения:" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1067 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1075 msgid "Extruders count" -msgstr "" +msgstr "Количество экструдеров" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1183 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1197 msgid "Old value" -msgstr "" +msgstr "Старое значение" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1184 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1198 msgid "New value" -msgstr "" +msgstr "Новое значение" #: src/slic3r/GUI/UpdateDialogs.cpp:38 msgid "Update available" @@ -7454,20 +7698,20 @@ msgstr "Новая версия:" #: src/slic3r/GUI/UpdateDialogs.cpp:53 msgid "Changelog && Download" -msgstr "Журнал изменение && Скачивание" +msgstr "История изменений && Скачать" #: src/slic3r/GUI/UpdateDialogs.cpp:60 src/slic3r/GUI/UpdateDialogs.cpp:125 #: src/slic3r/GUI/UpdateDialogs.cpp:183 msgid "Open changelog page" -msgstr "Открыть страницу изменений" +msgstr "Открыть страницу истории изменений" #: src/slic3r/GUI/UpdateDialogs.cpp:65 msgid "Open download page" -msgstr "Открыть страницу закачки" +msgstr "Открыть страницу загрузки" #: src/slic3r/GUI/UpdateDialogs.cpp:71 msgid "Don't notify about new releases any more" -msgstr "Больше не уведомлять о новых выпусках" +msgstr "Больше не уведомлять о новых релизах" #: src/slic3r/GUI/UpdateDialogs.cpp:89 src/slic3r/GUI/UpdateDialogs.cpp:266 msgid "Configuration update" @@ -7481,15 +7725,15 @@ msgstr "Доступно обновление конфигурации" msgid "" "Would you like to install it?\n" "\n" -"Note that a full configuration snapshot will be created first. It can then " -"be restored at any time should there be a problem with the new version.\n" +"Note that a full configuration snapshot will be created first. It can then be " +"restored at any time should there be a problem with the new version.\n" "\n" "Updated configuration bundles:" msgstr "" "Вы хотите установить его?\n" "\n" -"Обратите внимание, что сначала будет создан снапшот. Он может быть " -"восстановлен в любое время, если возникнет проблема с новой версией.\n" +"Обратите внимание, что сначала будет создан снапшот. Он может быть восстановлен в " +"любое время, если возникнет проблема с новой версией.\n" "\n" "Обновлённые пакеты конфигурации:" @@ -7500,64 +7744,62 @@ msgstr "Комментарий:" #: src/slic3r/GUI/UpdateDialogs.cpp:148 src/slic3r/GUI/UpdateDialogs.cpp:210 #, c-format msgid "%s incompatibility" -msgstr "Несовместимость %s" +msgstr "Несовместимость с %s" #: src/slic3r/GUI/UpdateDialogs.cpp:148 msgid "You must install a configuration update." -msgstr "Вы должны установить обновление настроек." +msgstr "Необходимо установить обновление конфигурации." #: src/slic3r/GUI/UpdateDialogs.cpp:151 #, c-format msgid "" "%s will now start updates. Otherwise it won't be able to start.\n" "\n" -"Note that a full configuration snapshot will be created first. It can then " -"be restored at any time should there be a problem with the new version.\n" +"Note that a full configuration snapshot will be created first. It can then be " +"restored at any time should there be a problem with the new version.\n" "\n" "Updated configuration bundles:" msgstr "" -"%s начнет обновления. В противном случае он не запустится.\n" +"Теперь %s запустит обновление. Иначе он не сможет начать работу.\n" "\n" -"Обратите внимание, что сначала будет создан снапшот полной конфигурации. Он " -"может быть восстановлен в любое время, если возникнет проблема с новой " -"версией.\n" +"Обратите внимание, что сначала будет создан снапшот. Он может быть восстановлен в " +"любое время, если возникнет проблема с новой версией.\n" "\n" "Обновлённые пакеты конфигурации:" #: src/slic3r/GUI/UpdateDialogs.cpp:191 src/slic3r/GUI/UpdateDialogs.cpp:246 #, c-format msgid "Exit %s" -msgstr "Выход из %s" +msgstr "Выйти из %s" #: src/slic3r/GUI/UpdateDialogs.cpp:211 #, c-format msgid "%s configuration is incompatible" -msgstr "Настройки %s несовместимы" +msgstr "Несовместимая конфигурация %s" #: src/slic3r/GUI/UpdateDialogs.cpp:216 #, c-format msgid "" "This version of %s is not compatible with currently installed configuration " "bundles.\n" -"This probably happened as a result of running an older %s after using a " -"newer one.\n" +"This probably happened as a result of running an older %s after using a newer one.\n" "\n" -"You may either exit %s and try again with a newer version, or you may re-run " -"the initial configuration. Doing so will create a backup snapshot of the " -"existing configuration before installing files compatible with this %s." +"You may either exit %s and try again with a newer version, or you may re-run the " +"initial configuration. Doing so will create a backup snapshot of the existing " +"configuration before installing files compatible with this %s." msgstr "" -"Эта версия %s не совместима с установленными пакетами настроек.\n" +"Эта версия %s не совместима с установленными пакетами конфигурации.\n" "Вероятно, это произошло в результате запуска более старой версии %s после " "использования более новой.\n" "\n" -"Вы можете выйти из %s и повторить попытку с новой версией, либо повторно " -"запустить начальную настройку. Это создаст резервную копию существующих " -"настроек перед установкой файлов, совместимых с этой версией %s." +"Вы можете выйти из %s и повторить попытку с новой версией, либо повторно запустить " +"начальную конфигурацию. Это создаст резервную копию существующей конфигурации перед " +"установкой файлов, совместимых с этой версией %s." #: src/slic3r/GUI/UpdateDialogs.cpp:225 #, c-format msgid "This %s version: %s" -msgstr "%s, версия %s" +msgstr "Версия %s: %s" #: src/slic3r/GUI/UpdateDialogs.cpp:230 msgid "Incompatible bundles:" @@ -7572,22 +7814,22 @@ msgstr "Перенастроить" msgid "" "%s now uses an updated configuration structure.\n" "\n" -"So called 'System presets' have been introduced, which hold the built-in " -"default settings for various printers. These System presets cannot be " -"modified, instead, users now may create their own presets inheriting " -"settings from one of the System presets.\n" -"An inheriting preset may either inherit a particular value from its parent " -"or override it with a customized value.\n" +"So called 'System presets' have been introduced, which hold the built-in default " +"settings for various printers. These System presets cannot be modified, instead, " +"users now may create their own presets inheriting settings from one of the System " +"presets.\n" +"An inheriting preset may either inherit a particular value from its parent or " +"override it with a customized value.\n" "\n" -"Please proceed with the %s that follows to set up the new presets and to " -"choose whether to enable automatic preset updates." +"Please proceed with the %s that follows to set up the new presets and to choose " +"whether to enable automatic preset updates." msgstr "" -"В %s изменилась структура настроек.\n" +"Теперь %s использует обновлённую структуру конфигурации.\n" "\n" "Были введены так называемые 'системные профили', которые содержат встроенные " -"настройки по умолчанию для разных принтеров. Эти системные профили не могут " -"быть изменены. Вместо этого пользователи теперь могут создавать собственные " -"профили, наследующие настройки от одного из системных профилей.\n" +"настройки по умолчанию для разных принтеров. Эти системные профили не могут быть " +"изменены. Вместо этого пользователи теперь могут создавать собственные профили, " +"наследующие настройки от одного из системных профилей.\n" "Наследующий профиль может либо наследовать определённое значение от своего " "родителя, либо переопределить его с помощью настроенного значения.\n" "\n" @@ -7596,21 +7838,20 @@ msgstr "" #: src/slic3r/GUI/UpdateDialogs.cpp:287 msgid "For more information please visit our wiki page:" -msgstr "" -"Для получения дополнительной информации, посетите нашу страницу в Википедии:" +msgstr "Для получения дополнительной информации, посетите нашу вики-страницу:" #: src/slic3r/GUI/UpdateDialogs.cpp:304 msgid "Configuration updates" -msgstr "Обновления конфигурации" +msgstr "Обновление конфигурации" #: src/slic3r/GUI/UpdateDialogs.cpp:304 msgid "No updates available" -msgstr "Нет доступных обновлений" +msgstr "Обновления отсутствуют" #: src/slic3r/GUI/UpdateDialogs.cpp:309 #, c-format msgid "%s has no configuration updates available." -msgstr "%s не имеет доступных обновлений конфигурации." +msgstr "Обновления конфигурации для %s отсутствуют." #: src/slic3r/GUI/WipeTowerDialog.cpp:15 msgid "Ramming customization" @@ -7618,26 +7859,26 @@ msgstr "Настройки рэмминга" #: src/slic3r/GUI/WipeTowerDialog.cpp:41 msgid "" -"Ramming denotes the rapid extrusion just before a tool change in a single-" -"extruder MM printer. Its purpose is to properly shape the end of the " -"unloaded filament so it does not prevent insertion of the new filament and " -"can itself be reinserted later. This phase is important and different " -"materials can require different extrusion speeds to get the good shape. For " -"this reason, the extrusion rates during ramming are adjustable.\n" +"Ramming denotes the rapid extrusion just before a tool change in a single-extruder " +"MM printer. Its purpose is to properly shape the end of the unloaded filament so it " +"does not prevent insertion of the new filament and can itself be reinserted later. " +"This phase is important and different materials can require different extrusion " +"speeds to get the good shape. For this reason, the extrusion rates during ramming " +"are adjustable.\n" "\n" -"This is an expert-level setting, incorrect adjustment will likely lead to " -"jams, extruder wheel grinding into filament etc." +"This is an expert-level setting, incorrect adjustment will likely lead to jams, " +"extruder wheel grinding into filament etc." msgstr "" "Рэмминг (ramming) означает быстрое экструдирование непосредственно перед " -"сменой сопла в одноэкструдерном мультиматериальном принтере. Его цель " -"состоит в том, чтобы правильно сформировать конец не загруженного прутка, " -"чтобы он не препятствовал вставке нового прутка или позднее повторно " -"вставляемого этого же. Эта фаза важна, и разные материалы могут потребовать " -"разных скоростей экструзии, чтобы получить хорошую форму. По этой причине " -"скорость экструзии во время рэмминга регулируется.\n" +"сменой инструмента в одноэкструдерном мультиматериальном принтере. Его цель состоит в том, " +"чтобы правильно сформировать конец незагруженного прутка, чтобы он не препятствовал " +"вставке нового прутка или этого же прутка, вставленного позже. Эта фаза важна " +"и разные материалы могут потребовать разных скоростей экструзии, чтобы " +"получить хорошую форму. По этой причине скорость экструзии во время рэмминга " +"регулируется.\n" "\n" -"Этот параметр для опытных пользователей, неправильная настройка, может " -"привести к замятию, протирание прутка приводом экструдера и т.д." +"Эта опция для опытных пользователей, неправильная настройка может привести к " +"замятию, протиранию прутка приводом экструдера и т.д." #: src/slic3r/GUI/WipeTowerDialog.cpp:83 msgid "Total ramming time" @@ -7657,27 +7898,25 @@ msgstr "Расстояние между линиями при рэмминге" #: src/slic3r/GUI/WipeTowerDialog.cpp:142 msgid "Wipe tower - Purging volume adjustment" -msgstr "Башня очистки - регулировка объёма сброса пластика" +msgstr "Черновая башня - регулировка объёма сброса пластика" #: src/slic3r/GUI/WipeTowerDialog.cpp:254 -msgid "" -"Here you can adjust required purging volume (mm³) for any given pair of " -"tools." +msgid "Here you can adjust required purging volume (mm³) for any given pair of tools." msgstr "" "Здесь вы можете отрегулировать требуемый объём очистки (мм³) для любой пары " -"сопел." +"инструментов." #: src/slic3r/GUI/WipeTowerDialog.cpp:255 msgid "Extruder changed to" -msgstr "Экструдер изменен на" +msgstr "Экструдер перешёл на - " #: src/slic3r/GUI/WipeTowerDialog.cpp:263 msgid "unloaded" -msgstr "выгрузку" +msgstr "выгрузка" #: src/slic3r/GUI/WipeTowerDialog.cpp:264 msgid "loaded" -msgstr "загрузку" +msgstr "загрузка" #: src/slic3r/GUI/WipeTowerDialog.cpp:276 msgid "Tool #" @@ -7685,11 +7924,11 @@ msgstr "Инструмент #" #: src/slic3r/GUI/WipeTowerDialog.cpp:285 msgid "" -"Total purging volume is calculated by summing two values below, depending on " -"which tools are loaded/unloaded." +"Total purging volume is calculated by summing two values below, depending on which " +"tools are loaded/unloaded." msgstr "" -"Общий объём прочистки вычисляется путём суммирования двух нижеуказанных " -"значений, в зависимости от того, какие сопла предзагружены/выгружены." +"Общий объём прочистки вычисляется путём суммирования двух нижеуказанных значений, в " +"зависимости от того, какие инструменты предзагружены/выгружены." #: src/slic3r/GUI/WipeTowerDialog.cpp:286 msgid "Volume to purge (mm³) when the filament is being" @@ -7701,13 +7940,12 @@ msgstr "Из" #: src/slic3r/GUI/WipeTowerDialog.cpp:365 msgid "" -"Switching to simple settings will discard changes done in the advanced " -"mode!\n" +"Switching to simple settings will discard changes done in the advanced mode!\n" "\n" "Do you want to proceed?" msgstr "" -"Переключение на упрощённые настройки отменит изменения, сделанные в " -"расширенном режиме!\n" +"Переключение на упрощённые настройки отменит изменения, сделанные в расширенном " +"режиме!\n" "\n" "Хотите продолжить?" @@ -7719,24 +7957,24 @@ msgstr "Показать упрощённые настройки" msgid "Show advanced settings" msgstr "Показать расширенные настройки" -#: src/slic3r/GUI/wxExtensions.cpp:623 +#: src/slic3r/GUI/wxExtensions.cpp:627 #, c-format msgid "Switch to the %s mode" -msgstr "Переключиться в %s режим" +msgstr "Переключиться в режим %s" -#: src/slic3r/GUI/wxExtensions.cpp:624 +#: src/slic3r/GUI/wxExtensions.cpp:628 #, c-format msgid "Current mode is %s" -msgstr "Текущий режим: %s" +msgstr "Текущий режим %s" #: src/slic3r/Utils/AstroBox.cpp:69 src/slic3r/Utils/OctoPrint.cpp:68 #, c-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "Несоответствующий тип хоста печати: %s" #: src/slic3r/Utils/AstroBox.cpp:84 msgid "Connection to AstroBox works correctly." -msgstr "Подключение к AstroBox установлено." +msgstr "Соединение с AstroBox успешно установлено." #: src/slic3r/Utils/AstroBox.cpp:90 msgid "Could not connect to AstroBox" @@ -7748,7 +7986,7 @@ msgstr "Примечание: требуется версия AstroBox не ни #: src/slic3r/Utils/Duet.cpp:47 msgid "Connection to Duet works correctly." -msgstr "Подключение к Duet установлено." +msgstr "Соединение с Duet успешно установлено." #: src/slic3r/Utils/Duet.cpp:53 msgid "Could not connect to Duet" @@ -7758,7 +7996,7 @@ msgstr "Не удалось подключиться к Duet" #: src/slic3r/Utils/FlashAir.cpp:122 src/slic3r/Utils/FlashAir.cpp:143 #: src/slic3r/Utils/FlashAir.cpp:159 msgid "Unknown error occured" -msgstr "Возникла неизвестная ошибка" +msgstr "Произошла неизвестная ошибка" #: src/slic3r/Utils/Duet.cpp:145 msgid "Wrong password" @@ -7766,108 +8004,104 @@ msgstr "Неправильный пароль" #: src/slic3r/Utils/Duet.cpp:148 msgid "Could not get resources to create a new connection" -msgstr "" +msgstr "Не удалось получить ресурсы для создания нового подключения" -#: src/slic3r/Utils/FixModelByWin10.cpp:219 -#: src/slic3r/Utils/FixModelByWin10.cpp:359 +#: src/slic3r/Utils/FixModelByWin10.cpp:219 src/slic3r/Utils/FixModelByWin10.cpp:359 msgid "Exporting source model" -msgstr "Экспортируется исходная модель" +msgstr "Экспорт исходной модели" #: src/slic3r/Utils/FixModelByWin10.cpp:235 msgid "Failed loading the input model." -msgstr "" +msgstr "Ошибка загрузки входной модели." #: src/slic3r/Utils/FixModelByWin10.cpp:242 msgid "Repairing model by the Netfabb service" -msgstr "" +msgstr "Ремонт модели с помощью сервиса Netfabb" #: src/slic3r/Utils/FixModelByWin10.cpp:248 msgid "Mesh repair failed." -msgstr "" +msgstr "Ошибка восстановления сетки." -#: src/slic3r/Utils/FixModelByWin10.cpp:251 -#: src/slic3r/Utils/FixModelByWin10.cpp:378 +#: src/slic3r/Utils/FixModelByWin10.cpp:251 src/slic3r/Utils/FixModelByWin10.cpp:378 msgid "Loading repaired model" -msgstr "Загружается исправленная модель" +msgstr "Загрузка отремонтированной модели" -#: src/slic3r/Utils/FixModelByWin10.cpp:263 -#: src/slic3r/Utils/FixModelByWin10.cpp:270 +#: src/slic3r/Utils/FixModelByWin10.cpp:263 src/slic3r/Utils/FixModelByWin10.cpp:270 #: src/slic3r/Utils/FixModelByWin10.cpp:302 msgid "Saving mesh into the 3MF container failed." -msgstr "" +msgstr "Не удалось сохранить сетку в 3MF контейнер." #: src/slic3r/Utils/FixModelByWin10.cpp:340 msgid "Model fixing" -msgstr "" +msgstr "Починка модели" #: src/slic3r/Utils/FixModelByWin10.cpp:341 msgid "Exporting model" -msgstr "" +msgstr "Экспорт модели" #: src/slic3r/Utils/FixModelByWin10.cpp:368 msgid "Export of a temporary 3mf file failed" -msgstr "" +msgstr "Ошибка экспорта временного 3mf файла" #: src/slic3r/Utils/FixModelByWin10.cpp:383 msgid "Import of the repaired 3mf file failed" -msgstr "" +msgstr "Сбой импорта восстановленного 3mf файла" #: src/slic3r/Utils/FixModelByWin10.cpp:385 msgid "Repaired 3MF file does not contain any object" -msgstr "" +msgstr "Отремонтированный 3MF файл не содержит никаких моделей" #: src/slic3r/Utils/FixModelByWin10.cpp:387 msgid "Repaired 3MF file contains more than one object" -msgstr "" +msgstr "Отремонтированный 3MF файл содержит более одной модели" #: src/slic3r/Utils/FixModelByWin10.cpp:389 msgid "Repaired 3MF file does not contain any volume" -msgstr "" +msgstr "Отремонтированный 3MF файл не содержит объёма" #: src/slic3r/Utils/FixModelByWin10.cpp:391 msgid "Repaired 3MF file contains more than one volume" -msgstr "" +msgstr "Отремонтированный 3MF файл содержит более одного объёма" #: src/slic3r/Utils/FixModelByWin10.cpp:400 msgid "Model repair finished" -msgstr "Исправление модели закончено" +msgstr "Ремонт модели закончен" #: src/slic3r/Utils/FixModelByWin10.cpp:406 msgid "Model repair canceled" -msgstr "Исправление модели отменено" +msgstr "Ремонт модели отменён" #: src/slic3r/Utils/FixModelByWin10.cpp:423 msgid "Model repaired successfully" -msgstr "Исправление модели выполнено успешно" +msgstr "Модель успешно отремонтирована" -#: src/slic3r/Utils/FixModelByWin10.cpp:423 -#: src/slic3r/Utils/FixModelByWin10.cpp:426 +#: src/slic3r/Utils/FixModelByWin10.cpp:423 src/slic3r/Utils/FixModelByWin10.cpp:426 msgid "Model Repair by the Netfabb service" -msgstr "Исправление модели через службу Netfabb" +msgstr "Ремонт модели службой Netfabb" #: src/slic3r/Utils/FixModelByWin10.cpp:426 msgid "Model repair failed:" -msgstr "Ошибка при исправлении модели:" +msgstr "Ошибка починки модели:" #: src/slic3r/Utils/FlashAir.cpp:58 msgid "Upload not enabled on FlashAir card." -msgstr "" +msgstr "Загрузка на карту FlashAir не была включена." #: src/slic3r/Utils/FlashAir.cpp:68 msgid "Connection to FlashAir works correctly and upload is enabled." -msgstr "Подключение к FlashAir установлено и загрузка включена." +msgstr "Подключение к FlashAir работает корректно. Загрузка на карту включена." #: src/slic3r/Utils/FlashAir.cpp:74 msgid "Could not connect to FlashAir" -msgstr "Не удалось подключиться к FlashAir" +msgstr "Не удаётся подключиться к FlashAir" #: src/slic3r/Utils/FlashAir.cpp:76 msgid "" -"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " -"is required." +"Note: FlashAir with firmware 2.00.02 or newer and activated upload function is " +"required." msgstr "" -"Замечание: требуется FlashAir с прошивкой 2.00.02 или новее, а также " -"включение функции заливки." +"Примечание: для активации функцией загрузки, требуется FlashAir с прошивкой 2.00.02 " +"и выше." #: src/slic3r/Utils/OctoPrint.cpp:83 msgid "Connection to OctoPrint works correctly." @@ -7909,69 +8143,87 @@ msgid "" "Could not detect system SSL certificate store. PrusaSlicer will be unable to " "establish secure network connections." msgstr "" +"Не удалось обнаружить системное хранилище SSL-сертификатов. PrusaSlicer не сможет " +"устанавливать безопасные сетевые соединения." #: src/slic3r/Utils/Http.cpp:78 msgid "PrusaSlicer detected system SSL certificate store in: %1%" -msgstr "" +msgstr "PrusaSlicer обнаружил хранилище системных SSL-сертификатов в: %1%" #: src/slic3r/Utils/Http.cpp:82 msgid "" -"To specify the system certificate store manually, please set the %1% " -"environment variable to the correct CA bundle and restart the application." +"To specify the system certificate store manually, please set the %1% environment " +"variable to the correct CA bundle and restart the application." msgstr "" +"Чтобы вручную указать хранилище системных сертификатов, задайте для переменной " +"среды %1% правильный пакет CA и перезапустите приложение." #: src/slic3r/Utils/Http.cpp:91 msgid "" -"CURL init has failed. PrusaSlicer will be unable to establish network " -"connections. See logs for additional details." +"CURL init has failed. PrusaSlicer will be unable to establish network connections. " +"See logs for additional details." msgstr "" +"Ошибка инициализации URL-адреса клиента. PrusaSlicer не сможет установить сетевые " +"подключения. Смотрите журнал для дополнительные информации." #: src/slic3r/Utils/Process.cpp:151 msgid "Open G-code file:" -msgstr "" +msgstr "Выберите G-код файл:" -#: src/libslic3r/GCode.cpp:610 +#: src/libslic3r/GCode.cpp:518 msgid "There is an object with no extrusions on the first layer." -msgstr "" +msgstr "На первом слое у модели отсутствует слой для экструзии." -#: src/libslic3r/GCode.cpp:628 +#: src/libslic3r/GCode.cpp:536 msgid "Empty layers detected, the output would not be printable." -msgstr "" +msgstr "Обнаружены пустые слои, печать невозможна." -#: src/libslic3r/GCode.cpp:629 +#: src/libslic3r/GCode.cpp:537 msgid "Print z" -msgstr "" +msgstr "Печать на высоте" -#: src/libslic3r/GCode.cpp:630 +#: src/libslic3r/GCode.cpp:538 msgid "" -"This is usually caused by negligibly small extrusions or by a faulty model. " -"Try to repair the model or change its orientation on the bed." +"This is usually caused by negligibly small extrusions or by a faulty model. Try to " +"repair the model or change its orientation on the bed." msgstr "" +"Обычно это происходит из-за ничтожно малой экструзии или из-за повреждённой " +"модели. \n" +"Попробуйте отремонтировать модель или изменить её ориентацию на столе." + +#: src/libslic3r/GCode.cpp:1261 +msgid "" +"Your print is very close to the priming regions. Make sure there is no collision." +msgstr "" +"Модель(-и) находится очень близко к области предзарядки (область подготовки " +"экструдера). Убедитесь, что не произойдёт столкновения." #: src/libslic3r/ExtrusionEntity.cpp:324 src/libslic3r/ExtrusionEntity.cpp:360 msgid "Mixed" msgstr "Смешанный" #: src/libslic3r/Flow.cpp:61 -msgid "" -"Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible." +msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible." msgstr "" +"Не удаётся рассчитать ширину экструзии для %1%: Переменная \"%2%\" недоступна." -#: src/libslic3r/Format/3mf.cpp:1667 +#: src/libslic3r/Format/3mf.cpp:1668 msgid "" "The selected 3mf file has been saved with a newer version of %1% and is not " "compatible." msgstr "" +"Выбранный 3mf файл не совместим, так как был сохранён в более новой версии %1%." -#: src/libslic3r/Format/AMF.cpp:955 +#: src/libslic3r/Format/AMF.cpp:958 msgid "" "The selected amf file has been saved with a newer version of %1% and is not " "compatible." msgstr "" +"Выбранный amf файл не совместим, так как был сохранён в более новой версии %1%." #: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" -msgstr "неопределённая ошибка" +msgstr "неопределенная ошибка" #: src/libslic3r/miniz_extension.cpp:93 msgid "too many files" @@ -7979,7 +8231,7 @@ msgstr "слишком много файлов" #: src/libslic3r/miniz_extension.cpp:95 msgid "file too large" -msgstr "слишком большой файл" +msgstr "файл слишком большой" #: src/libslic3r/miniz_extension.cpp:97 msgid "unsupported method" @@ -7991,87 +8243,87 @@ msgstr "неподдерживаемое шифрование" #: src/libslic3r/miniz_extension.cpp:101 msgid "unsupported feature" -msgstr "неподдерживаемое свойство" +msgstr "неподдерживаемая функция" #: src/libslic3r/miniz_extension.cpp:103 msgid "failed finding central directory" -msgstr "" +msgstr "не удалось найти центральный каталог" #: src/libslic3r/miniz_extension.cpp:105 msgid "not a ZIP archive" -msgstr "" +msgstr "это не ZIP архив" #: src/libslic3r/miniz_extension.cpp:107 msgid "invalid header or archive is corrupted" -msgstr "" +msgstr "неверный заголовок или архив поврежден" #: src/libslic3r/miniz_extension.cpp:109 msgid "unsupported multidisk archive" -msgstr "" +msgstr "неподдерживаемый многофайловый архив" #: src/libslic3r/miniz_extension.cpp:111 msgid "decompression failed or archive is corrupted" -msgstr "" +msgstr "сбой распаковки или повреждённый архив" #: src/libslic3r/miniz_extension.cpp:113 msgid "compression failed" -msgstr "сбой сжатия" +msgstr "сжатие не удалось" #: src/libslic3r/miniz_extension.cpp:115 msgid "unexpected decompressed size" -msgstr "" +msgstr "непредвиденный распакованный размер" #: src/libslic3r/miniz_extension.cpp:117 msgid "CRC-32 check failed" -msgstr "" +msgstr "Ошибка проверки CRC-32" #: src/libslic3r/miniz_extension.cpp:119 msgid "unsupported central directory size" -msgstr "" +msgstr "неподдерживаемый размер заголовка файла центрального каталога" #: src/libslic3r/miniz_extension.cpp:121 msgid "allocation failed" -msgstr "распределение не удалось" +msgstr "ошибка выделения" #: src/libslic3r/miniz_extension.cpp:123 msgid "file open failed" -msgstr "" +msgstr "ошибка открытия файла" #: src/libslic3r/miniz_extension.cpp:125 msgid "file create failed" -msgstr "" +msgstr "ошибка создания файла" #: src/libslic3r/miniz_extension.cpp:127 msgid "file write failed" -msgstr "не удалось записать файл" +msgstr "ошибка записи файла" #: src/libslic3r/miniz_extension.cpp:129 msgid "file read failed" -msgstr "" +msgstr "ошибка чтения файла" #: src/libslic3r/miniz_extension.cpp:131 msgid "file close failed" -msgstr "" +msgstr "ошибка закрытия файла" #: src/libslic3r/miniz_extension.cpp:133 msgid "file seek failed" -msgstr "" +msgstr "файл не найден" #: src/libslic3r/miniz_extension.cpp:135 msgid "file stat failed" -msgstr "" +msgstr "ошибка файла статистики" #: src/libslic3r/miniz_extension.cpp:137 msgid "invalid parameter" -msgstr "некорректный параметр" +msgstr "неверный параметр" #: src/libslic3r/miniz_extension.cpp:139 msgid "invalid filename" -msgstr "" +msgstr "неверное имя" #: src/libslic3r/miniz_extension.cpp:141 msgid "buffer too small" -msgstr "" +msgstr "буфер слишком мал" #: src/libslic3r/miniz_extension.cpp:143 msgid "internal error" @@ -8083,249 +8335,256 @@ msgstr "файл не найден" #: src/libslic3r/miniz_extension.cpp:147 msgid "archive is too large" -msgstr "" +msgstr "архив слишком большой" #: src/libslic3r/miniz_extension.cpp:149 msgid "validation failed" -msgstr "проверка не удалась" +msgstr "ошибка проверки" #: src/libslic3r/miniz_extension.cpp:151 msgid "write calledback failed" -msgstr "" +msgstr "ошибка записи обратного вызова" -#: src/libslic3r/Preset.cpp:1258 +#: src/libslic3r/Preset.cpp:1299 msgid "filament" msgstr "пруток" -#: src/libslic3r/Print.cpp:1247 +#: src/libslic3r/Print.cpp:1251 msgid "All objects are outside of the print volume." -msgstr "Все объекты находятся за пределами объёма печати." +msgstr "Все модели находятся за пределами области печати." -#: src/libslic3r/Print.cpp:1250 +#: src/libslic3r/Print.cpp:1254 msgid "The supplied settings will cause an empty print." msgstr "Заданные настройки приведут к пустой печати." -#: src/libslic3r/Print.cpp:1254 +#: src/libslic3r/Print.cpp:1258 msgid "Some objects are too close; your extruder will collide with them." msgstr "" -"Некоторые объекты находятся слишком близко друг к другу. Экструдер при " -"печати столкнётся с ними." +"Некоторые модели находятся слишком близко друг к другу. Экструдер при печати " +"столкнётся с ними." -#: src/libslic3r/Print.cpp:1256 +#: src/libslic3r/Print.cpp:1260 +msgid "Some objects are too tall and cannot be printed without extruder collisions." +msgstr "Некоторые модели слишком высокие и при печати экструдер столкнётся с ними." + +#: src/libslic3r/Print.cpp:1269 msgid "" -"Some objects are too tall and cannot be printed without extruder collisions." +"Only a single object may be printed at a time in Spiral Vase mode. Either remove " +"all but the last object, or enable sequential mode by \"complete_objects\"." msgstr "" -"Некоторые объекты слишком высокие и при печати экструдер столкнётся с ними." +"Режим \"Спиральная ваза\" может использоваться для печати только одной модели. Либо " +"оставьте на столе одну модель или включите последовательную печать с помощью " +"\"complete_objects\"." -#: src/libslic3r/Print.cpp:1265 -msgid "The Spiral Vase option can only be used when printing a single object." -msgstr "" -"Режим «Cпиральная ваза» может использоваться только при печати одиночного " -"объекта." +#: src/libslic3r/Print.cpp:1277 +msgid "The Spiral Vase option can only be used when printing single material objects." +msgstr "В режиме \"Спиральная ваза\" можно печатать только одним материалом." -#: src/libslic3r/Print.cpp:1272 +#: src/libslic3r/Print.cpp:1290 msgid "" -"The Spiral Vase option can only be used when printing single material " -"objects." -msgstr "В режиме \"Cпиральная ваза\" можно печатать только одним материалом." - -#: src/libslic3r/Print.cpp:1285 -msgid "" -"The wipe tower is only supported if all extruders have the same nozzle " -"diameter and use filaments of the same diameter." +"The wipe tower is only supported if all extruders have the same nozzle diameter and " +"use filaments of the same diameter." msgstr "" -"Черновая башня поддерживается только, если у всех экструдеров одинаковый " -"диаметр сопла и используется пруток одинакового диаметра." +"Режим черновой башни применим только в том случае, если все экструдеры имеют " +"одинаковый диаметр сопла и используется пруток одного диаметра." -#: src/libslic3r/Print.cpp:1291 +#: src/libslic3r/Print.cpp:1296 msgid "" "The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter, " "RepRapFirmware and Repetier G-code flavors." msgstr "" +"В настоящее время режим черновой башни поддерживается только следующими типами G-" +"кода: Marlin, RepRap/Sprinter, RepRapFirmware, Repetier." -#: src/libslic3r/Print.cpp:1293 +#: src/libslic3r/Print.cpp:1298 msgid "" -"The Wipe Tower is currently only supported with the relative extruder " -"addressing (use_relative_e_distances=1)." +"The Wipe Tower is currently only supported with the relative extruder addressing " +"(use_relative_e_distances=1)." msgstr "" -"В настоящее время для режима башни очистки поддерживается только " -"относительная адресация экструдера (use_relative_e_distances=1)." +"В настоящее время для режима черновой башни поддерживается только относительная " +"адресация экструдера (use_relative_e_distances=1)." -#: src/libslic3r/Print.cpp:1295 +#: src/libslic3r/Print.cpp:1300 msgid "Ooze prevention is currently not supported with the wipe tower enabled." msgstr "" +"\"Предотвращение течи материала\" в настоящее время не поддерживается при " +"включённой черновой башне." -#: src/libslic3r/Print.cpp:1297 -msgid "" -"The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." +#: src/libslic3r/Print.cpp:1302 +msgid "The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." msgstr "" +"Черновая башня в настоящее время не поддерживает объёмные значения E " +"(use_volumetric_e=0)." -#: src/libslic3r/Print.cpp:1299 -msgid "" -"The Wipe Tower is currently not supported for multimaterial sequential " -"prints." +#: src/libslic3r/Print.cpp:1304 +msgid "The Wipe Tower is currently not supported for multimaterial sequential prints." msgstr "" -"Режим башни очистки применим для нескольких объектов только в том случае, " -"если они имеют одинаковую высоту слоя." +"В настоящее время режим черновой башни не поддерживает последовательную печать для " +"мультиматериальных принтеров." -#: src/libslic3r/Print.cpp:1320 +#: src/libslic3r/Print.cpp:1325 msgid "" -"The Wipe Tower is only supported for multiple objects if they have equal " -"layer heights" +"The Wipe Tower is only supported for multiple objects if they have equal layer " +"heights" msgstr "" -"Режим башни очистки применим для нескольких объектов только в том случае, " -"если они имеют одинаковую высоту слоя" +"Режим черновой башни применим для нескольких моделей только в том случае, если они " +"имеют одинаковую высоту слоя." -#: src/libslic3r/Print.cpp:1322 +#: src/libslic3r/Print.cpp:1327 msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"over an equal number of raft layers" +"The Wipe Tower is only supported for multiple objects if they are printed over an " +"equal number of raft layers" msgstr "" -"Режим башни очистки применим для нескольких объектов только в том случае, " -"если они имеют одинаковое число слоёв подложки" +"Режим черновой башни применим для нескольких моделей только в том случае, если они " +"имеют одинаковое число слоёв подложки." -#: src/libslic3r/Print.cpp:1324 +#: src/libslic3r/Print.cpp:1329 msgid "" -"The Wipe Tower is only supported for multiple objects if they are printed " -"with the same support_material_contact_distance" +"The Wipe Tower is only supported for multiple objects if they are printed with the " +"same support_material_contact_distance" msgstr "" -"Башня очистки поддерживается для нескольких объектов только в том случае, " -"если они печатаются с одинаковым значением support_material_contact_distance" +"Режим черновой башни применим для нескольких моделей только в том случае, если они " +"печатаются с одинаковым support_material_contact_distance (расстояние от поддержки " +"до модели по вертикали)." -#: src/libslic3r/Print.cpp:1326 +#: src/libslic3r/Print.cpp:1331 msgid "" -"The Wipe Tower is only supported for multiple objects if they are sliced " -"equally." +"The Wipe Tower is only supported for multiple objects if they are sliced equally." msgstr "" -"Режим башни очистки применим для нескольких объектов только в том случае, " -"если они нарезаны одинаково." +"Режим черновой башни применим для нескольких моделей только в том случае, если они " +"нарезаны одинаково." -#: src/libslic3r/Print.cpp:1368 +#: src/libslic3r/Print.cpp:1373 msgid "" -"The Wipe tower is only supported if all objects have the same variable layer " -"height" +"The Wipe tower is only supported if all objects have the same variable layer height" msgstr "" -"Черновая башня поддерживается только, если все объекты имеют одинаковую " -"значение настройки переменной высоты слоя" +"Режим черновой башни применим только в том случае, если все модели имеют одну и " +"туже переменную высоту слоя." -#: src/libslic3r/Print.cpp:1394 -msgid "" -"One or more object were assigned an extruder that the printer does not have." +#: src/libslic3r/Print.cpp:1399 +msgid "One or more object were assigned an extruder that the printer does not have." msgstr "" -"Для одного или нескольких объектов был назначен экструдер, который у " -"принтера отсутствует." +"Для одного или нескольких моделей был назначен экструдер, который у принтера " +"отсутствует." -#: src/libslic3r/Print.cpp:1403 +#: src/libslic3r/Print.cpp:1408 msgid "%1%=%2% mm is too low to be printable at a layer height %3% mm" -msgstr "" +msgstr "Значение параметра %1%=%2% мм слишком мало для печати при высоте слоя %3% мм" -#: src/libslic3r/Print.cpp:1406 +#: src/libslic3r/Print.cpp:1411 msgid "Excessive %1%=%2% mm to be printable with a nozzle diameter %3% mm" -msgstr "" +msgstr "Чрезмерное значение параметра %1%=%2% мм для печати при диаметре сопла %3% мм" -#: src/libslic3r/Print.cpp:1417 +#: src/libslic3r/Print.cpp:1422 msgid "" -"Printing with multiple extruders of differing nozzle diameters. If support " -"is to be printed with the current extruder (support_material_extruder == 0 " -"or support_material_interface_extruder == 0), all nozzles have to be of the " -"same diameter." +"Printing with multiple extruders of differing nozzle diameters. If support is to be " +"printed with the current extruder (support_material_extruder == 0 or " +"support_material_interface_extruder == 0), all nozzles have to be of the same " +"diameter." msgstr "" -"Печать несколькими экструдерами с соплами различного диаметра. Если " -"поддержка должна быть напечатана текущим экструдером " -"(support_material_extruder == 0 или support_material_interface_extruder == " -"0), все сопла должны иметь одинаковый диаметр." +"Печать несколькими экструдерами с соплами различного диаметра. Если поддержка " +"должна быть напечатана текущим экструдером (support_material_extruder == 0 или " +"support_material_interface_extruder == 0), все сопла должны иметь одинаковый " +"диаметр." -#: src/libslic3r/Print.cpp:1425 +#: src/libslic3r/Print.cpp:1430 msgid "" -"For the Wipe Tower to work with the soluble supports, the support layers " -"need to be synchronized with the object layers." +"For the Wipe Tower to work with the soluble supports, the support layers need to be " +"synchronized with the object layers." msgstr "" -"Для того, чтобы башня очистки работала с растворимыми поддержками, слои " -"поддержек должны быть синхронизированы со слоями объекта." +"Для того, чтобы режим черновой башни работал с растворимой поддержкой, слои " +"поддержки должны быть синхронизированы со слоями модели." -#: src/libslic3r/Print.cpp:1429 +#: src/libslic3r/Print.cpp:1434 msgid "" -"The Wipe Tower currently supports the non-soluble supports only if they are " -"printed with the current extruder without triggering a tool change. (both " -"support_material_extruder and support_material_interface_extruder need to be " -"set to 0)." +"The Wipe Tower currently supports the non-soluble supports only if they are printed " +"with the current extruder without triggering a tool change. (both " +"support_material_extruder and support_material_interface_extruder need to be set to " +"0)." msgstr "" -"В настоящее время башня очистки поддерживает нерастворимые поддержки только " +"В настоящее время режим черновой башни поддерживает нерастворимую поддержку только " "в том случае, если они печатаются текущим экструдером, без запуска смены " -"сопла. (Значения \"Экструдер, печатающий поддержки/подложки/юбки\" и " -"\"Экструдер, печатающий связующий слой поддержки/подложки\" должны быть " -"установлены в 0)." - -#: src/libslic3r/Print.cpp:1451 -msgid "First layer height can't be greater than nozzle diameter" -msgstr "Высота первого слоя не может быть больше диаметра сопла" +"инструмента. (Значения \"Экструдер, печатающий поддержки/подложки/юбки\" и " +"\"Экструдер, печатающий связующий слой поддержки/подложки\" должны быть установлены " +"в 0)." #: src/libslic3r/Print.cpp:1456 +msgid "First layer height can't be greater than nozzle diameter" +msgstr "Высота первого слоя не может быть больше диаметра сопла." + +#: src/libslic3r/Print.cpp:1461 msgid "Layer height can't be greater than nozzle diameter" msgstr "Высота слоя не может быть больше диаметра сопла" -#: src/libslic3r/Print.cpp:1615 +#: src/libslic3r/Print.cpp:1620 msgid "Infilling layers" -msgstr "Слоёв заполнения" +msgstr "Заполнение слоёв" -#: src/libslic3r/Print.cpp:1641 +#: src/libslic3r/Print.cpp:1646 msgid "Generating skirt" -msgstr "Генерируется юбка" +msgstr "Генерация юбки" -#: src/libslic3r/Print.cpp:1650 +#: src/libslic3r/Print.cpp:1655 msgid "Generating brim" -msgstr "Генерируется кайма" +msgstr "Генерация каймы" -#: src/libslic3r/Print.cpp:1673 +#: src/libslic3r/Print.cpp:1678 msgid "Exporting G-code" -msgstr "Экспортируется G-код" +msgstr "Экспорт в G-код" -#: src/libslic3r/Print.cpp:1677 +#: src/libslic3r/Print.cpp:1682 msgid "Generating G-code" -msgstr "Генерируется G-код" +msgstr "Генерация G-кода" #: src/libslic3r/SLA/Pad.cpp:532 msgid "Pad brim size is too small for the current configuration." -msgstr "" +msgstr "Размер каймы подложки слишком мал для текущих настроек." -#: src/libslic3r/SLAPrint.cpp:628 +#: src/libslic3r/SLAPrint.cpp:630 msgid "" "Cannot proceed without support points! Add support points or disable support " "generation." msgstr "" +"Невозможно продолжить без точек поддержки! Добавьте точки поддержки или отключите " +"генерацию поддержки." -#: src/libslic3r/SLAPrint.cpp:640 +#: src/libslic3r/SLAPrint.cpp:642 msgid "" -"Elevation is too low for object. Use the \"Pad around object\" feature to " -"print the object without elevation." +"Elevation is too low for object. Use the \"Pad around object\" feature to print the " +"object without elevation." msgstr "" +"Высота подъёма слишком низкая для модели. Используйте \"Подложка вокруг модели\", " +"чтобы напечатать модель без подъёма." -#: src/libslic3r/SLAPrint.cpp:646 +#: src/libslic3r/SLAPrint.cpp:648 msgid "" -"The endings of the support pillars will be deployed on the gap between the " -"object and the pad. 'Support base safety distance' has to be greater than " -"the 'Pad object gap' parameter to avoid this." +"The endings of the support pillars will be deployed on the gap between the object " +"and the pad. 'Support base safety distance' has to be greater than the 'Pad object " +"gap' parameter to avoid this." msgstr "" +"Концы тела поддержки будут размещены в зазоре между моделью и подложкой. Чтобы " +"избежать этого, \"Безопасное расстояние основания поддержки\" должно быть больше, " +"чем параметр \"Зазор между дном модели и подложкой\"." -#: src/libslic3r/SLAPrint.cpp:661 +#: src/libslic3r/SLAPrint.cpp:663 msgid "Exposition time is out of printer profile bounds." -msgstr "" +msgstr "Время засветки основных слоёв выходит за пределы профиля принтера." -#: src/libslic3r/SLAPrint.cpp:668 +#: src/libslic3r/SLAPrint.cpp:670 msgid "Initial exposition time is out of printer profile bounds." -msgstr "" +msgstr "Время засветки начальных слоёв выходит за пределы профиля принтера." -#: src/libslic3r/SLAPrint.cpp:784 +#: src/libslic3r/SLAPrint.cpp:786 msgid "Slicing done" msgstr "Нарезка завершена" #: src/libslic3r/SLAPrintSteps.cpp:44 msgid "Hollowing model" -msgstr "" +msgstr "Создание полости в модели" #: src/libslic3r/SLAPrintSteps.cpp:45 msgid "Drilling holes into model." -msgstr "" +msgstr "Создание отверстий в модели." #: src/libslic3r/SLAPrintSteps.cpp:46 msgid "Slicing model" @@ -8333,57 +8592,61 @@ msgstr "Нарезка модели" #: src/libslic3r/SLAPrintSteps.cpp:47 src/libslic3r/SLAPrintSteps.cpp:359 msgid "Generating support points" -msgstr "Генерируются вспомогательные структуры" +msgstr "Генерация точек поддержки" #: src/libslic3r/SLAPrintSteps.cpp:48 msgid "Generating support tree" -msgstr "Генерируется вспомогательное дерево" +msgstr "Генерация древовидной поддержки" #: src/libslic3r/SLAPrintSteps.cpp:49 msgid "Generating pad" -msgstr "" +msgstr "Генерация подложки" #: src/libslic3r/SLAPrintSteps.cpp:50 msgid "Slicing supports" -msgstr "Нарезаются поддержки" +msgstr "Нарезка поддержки" #: src/libslic3r/SLAPrintSteps.cpp:65 msgid "Merging slices and calculating statistics" -msgstr "" +msgstr "Объединение срезов и подсчёт статистики" #: src/libslic3r/SLAPrintSteps.cpp:66 msgid "Rasterizing layers" -msgstr "" +msgstr "Растрирование слоёв" #: src/libslic3r/SLAPrintSteps.cpp:192 msgid "Too many overlapping holes." -msgstr "" +msgstr "Слишком много пересекающихся отверстий." #: src/libslic3r/SLAPrintSteps.cpp:201 msgid "" -"Drilling holes into the mesh failed. This is usually caused by broken model. " -"Try to fix it first." +"Drilling holes into the mesh failed. This is usually caused by broken model. Try to " +"fix it first." msgstr "" +"Не удалось проделать отверстия в сетке модели. Обычно это связано с проблемой в " +"самой модели. Попробуйте сначала починить её." #: src/libslic3r/SLAPrintSteps.cpp:247 -msgid "" -"Slicing had to be stopped due to an internal error: Inconsistent slice index." +msgid "Slicing had to be stopped due to an internal error: Inconsistent slice index." msgstr "" +"Нарезку пришлось остановить из-за внутренней ошибки: несоответствие индекса среза." #: src/libslic3r/SLAPrintSteps.cpp:411 src/libslic3r/SLAPrintSteps.cpp:420 #: src/libslic3r/SLAPrintSteps.cpp:459 msgid "Visualizing supports" -msgstr "" +msgstr "Визуализация поддержек" #: src/libslic3r/SLAPrintSteps.cpp:451 msgid "No pad can be generated for this model with the current configuration" -msgstr "" +msgstr "Для этой модели с текущими настройками нельзя создать подложку." #: src/libslic3r/SLAPrintSteps.cpp:619 msgid "" -"There are unprintable objects. Try to adjust support settings to make the " -"objects printable." +"There are unprintable objects. Try to adjust support settings to make the objects " +"printable." msgstr "" +"Имеются непечатаемые модели. Попробуйте настроить параметры поддержки так, чтобы " +"сделать их доступными для печати." #: src/libslic3r/PrintBase.cpp:72 msgid "Failed processing of the output_filename_format template." @@ -8395,4453 +8658,4002 @@ msgstr "Технология принтера" #: src/libslic3r/PrintConfig.cpp:51 msgid "Bed shape" -msgstr "Форма платформы" +msgstr "Форма и размеры стола" #: src/libslic3r/PrintConfig.cpp:56 msgid "Bed custom texture" -msgstr "Пользовательская текстура платформы" +msgstr "Пользовательская текстура стола" #: src/libslic3r/PrintConfig.cpp:61 msgid "Bed custom model" -msgstr "Пользовательская модель подложки" +msgstr "Пользовательская модель стола" #: src/libslic3r/PrintConfig.cpp:66 -msgid "Picture sizes to be stored into a .gcode and .sl1 files" -msgstr "" +msgid "G-code thumbnails" +msgstr "Эскизы G-код" -#: src/libslic3r/PrintConfig.cpp:73 +#: src/libslic3r/PrintConfig.cpp:67 msgid "" -"This setting controls the height (and thus the total number) of the slices/" -"layers. Thinner layers give better accuracy but take more time to print." +"Picture sizes to be stored into a .gcode and .sl1 files, in the following format: " +"\"XxY, XxY, ...\"" msgstr "" -"Этот параметр определяет высоту слоя. Чем выше значение, тем быстрее печать, " -"но более низкое разрешение, и наоборот. Этот параметр не может превышать " -"диаметр используемого сопла (желательно ставить не больше ¾ от этого " -"диаметра)." +"Размеры изображений, сохраняемых в .gcode и .sl1 файлах (формат: \"XxY, XxY, ...\")" -#: src/libslic3r/PrintConfig.cpp:80 +#: src/libslic3r/PrintConfig.cpp:75 +msgid "" +"This setting controls the height (and thus the total number) of the slices/layers. " +"Thinner layers give better accuracy but take more time to print." +msgstr "" +"Этот параметр определяет высоту слоя. Чем выше значение, тем быстрее печать, но " +"более низкое разрешение, и наоборот. Этот параметр не может превышать диаметр " +"используемого сопла (желательно ставить не больше ¾ от этого диаметра)." + +#: src/libslic3r/PrintConfig.cpp:82 msgid "Max print height" msgstr "Максимальная высота печати" -#: src/libslic3r/PrintConfig.cpp:81 +#: src/libslic3r/PrintConfig.cpp:83 msgid "" -"Set this to the maximum height that can be reached by your extruder while " -"printing." -msgstr "" -"Задаётся максимальная высота, которую может достичь ваш экструдером во время " -"печати." - -#: src/libslic3r/PrintConfig.cpp:89 -msgid "Slice gap closing radius" +"Set this to the maximum height that can be reached by your extruder while printing." msgstr "" +"Задаётся максимальная высота, которую может достичь ваш экструдер во время печати." #: src/libslic3r/PrintConfig.cpp:91 -msgid "" -"Cracks smaller than 2x gap closing radius are being filled during the " -"triangle mesh slicing. The gap closing operation may reduce the final print " -"resolution, therefore it is advisable to keep the value reasonably low." -msgstr "" +msgid "Slice gap closing radius" +msgstr "Радиус закрытия пробелов при нарезке" -#: src/libslic3r/PrintConfig.cpp:99 +#: src/libslic3r/PrintConfig.cpp:93 +msgid "" +"Cracks smaller than 2x gap closing radius are being filled during the triangle mesh " +"slicing. The gap closing operation may reduce the final print resolution, therefore " +"it is advisable to keep the value reasonably low." +msgstr "" +"Трещины, меньше чем 2-кратный радиус закрытия пробелов, будут заполняться во время " +"нарезки треугольной сетки. Операция закрытия пробелов может уменьшить окончательное " +"разрешение печати, поэтому рекомендуется выставлять это значение достаточно низким." + +#: src/libslic3r/PrintConfig.cpp:101 msgid "Hostname, IP or URL" -msgstr "Имя узла, IP или URL" +msgstr "Имя хоста, IP или URL" -#: src/libslic3r/PrintConfig.cpp:100 +#: src/libslic3r/PrintConfig.cpp:102 msgid "" -"Slic3r can upload G-code files to a printer host. This field should contain " -"the hostname, IP address or URL of the printer host instance." +"Slic3r can upload G-code files to a printer host. This field should contain the " +"hostname, IP address or URL of the printer host instance. Print host behind HAProxy " +"with basic auth enabled can be accessed by putting the user name and password into " +"the URL in the following format: https://username:password@your-octopi-address/" msgstr "" -"Slic3r может загрузить файлы G-кода на узел печати. В этом поле нужно " -"указать имя узла, IP-адрес или URL экземпляра узла печати." +"PrusaSlicer может загружать G-код файлы на хост принтера. В этом поле нужно указать " +"имя хоста, IP-адрес или URL-адрес хост-экземпляра печати. Доступ к узлу печати на " +"основе HAProxy с включенной базовой аутентификацией можно получить, указав имя " +"пользователя и пароль в поле URL-адрес в следующем формате: https://username:" +"password@your-octopi-address" -#: src/libslic3r/PrintConfig.cpp:106 +#: src/libslic3r/PrintConfig.cpp:110 msgid "API Key / Password" -msgstr "Ключ API / Пароль" +msgstr "API-ключ / Пароль" -#: src/libslic3r/PrintConfig.cpp:107 +#: src/libslic3r/PrintConfig.cpp:111 msgid "" -"Slic3r can upload G-code files to a printer host. This field should contain " -"the API Key or the password required for authentication." +"Slic3r can upload G-code files to a printer host. This field should contain the API " +"Key or the password required for authentication." msgstr "" -"Slic3r может загрузить файлы G-кода на узел печати. В этом поле нужно " -"указать ключ API или пароль, требуемые для аутентификации." +"PrusaSlicer может загружать G-код файлы на хост принтера. Это поле должно содержать " +"API ключ или пароль, необходимые для проверки подлинности." -#: src/libslic3r/PrintConfig.cpp:114 +#: src/libslic3r/PrintConfig.cpp:118 msgid "Name of the printer" -msgstr "" +msgstr "Название принтера" -#: src/libslic3r/PrintConfig.cpp:121 +#: src/libslic3r/PrintConfig.cpp:125 msgid "" -"Custom CA certificate file can be specified for HTTPS OctoPrint connections, " -"in crt/pem format. If left blank, the default OS CA certificate repository " -"is used." +"Custom CA certificate file can be specified for HTTPS OctoPrint connections, in crt/" +"pem format. If left blank, the default OS CA certificate repository is used." msgstr "" +"Пользовательский файл сертификата CA может быть указан для соединения по HTTPS к " +"OctoPrint в формате crt/pem. Если оставить поле пустым, будет использоваться " +"хранилище сертификатов ОС по умолчанию." -#: src/libslic3r/PrintConfig.cpp:127 +#: src/libslic3r/PrintConfig.cpp:131 msgid "Elephant foot compensation" msgstr "Компенсация расширения первого слоя" -#: src/libslic3r/PrintConfig.cpp:129 +#: src/libslic3r/PrintConfig.cpp:133 msgid "" "The first layer will be shrunk in the XY plane by the configured value to " "compensate for the 1st layer squish aka an Elephant Foot effect." msgstr "" "Первый слой будет уменьшен в плоскости XY на заданное значение, чтобы " -"компенсировать эффект \"хлюпанье\" первого слоя, известное как \"слоновья " -"нога\"." +"компенсировать эффект \"хлюпанье\" первого слоя, известное как \"слоновья нога\"." -#: src/libslic3r/PrintConfig.cpp:145 +#: src/libslic3r/PrintConfig.cpp:149 msgid "Password" -msgstr "" +msgstr "Пароль" -#: src/libslic3r/PrintConfig.cpp:151 +#: src/libslic3r/PrintConfig.cpp:155 msgid "Printer preset name" -msgstr "" +msgstr "Имя профиля принтера" -#: src/libslic3r/PrintConfig.cpp:152 +#: src/libslic3r/PrintConfig.cpp:156 msgid "Related printer preset name" -msgstr "" +msgstr "Имя связанного профиля принтера" -#: src/libslic3r/PrintConfig.cpp:157 +#: src/libslic3r/PrintConfig.cpp:161 msgid "Authorization Type" -msgstr "" +msgstr "Тип авторизации" -#: src/libslic3r/PrintConfig.cpp:162 +#: src/libslic3r/PrintConfig.cpp:166 msgid "API key" -msgstr "" +msgstr "API-ключ" -#: src/libslic3r/PrintConfig.cpp:163 +#: src/libslic3r/PrintConfig.cpp:167 msgid "HTTP digest" -msgstr "" +msgstr "HTTP digest-авторизация" -#: src/libslic3r/PrintConfig.cpp:176 +#: src/libslic3r/PrintConfig.cpp:180 msgid "Avoid crossing perimeters" msgstr "Избегать пересечения периметров" -#: src/libslic3r/PrintConfig.cpp:177 +#: src/libslic3r/PrintConfig.cpp:181 msgid "" -"Optimize travel moves in order to minimize the crossing of perimeters. This " -"is mostly useful with Bowden extruders which suffer from oozing. This " -"feature slows down both the print and the G-code generation." +"Optimize travel moves in order to minimize the crossing of perimeters. This is " +"mostly useful with Bowden extruders which suffer from oozing. This feature slows " +"down both the print and the G-code generation." msgstr "" -"Этот параметр призван оптимизировать маршрут движения печатающей головки, " -"чтобы свести к минимуму пересечение стенок при движении. Полезно " -"использовать с экструдерами Боудена, которые страдают от просачивание " -"расплавленного материала. Эта функция замедляет как печать, так и генерацию " -"G-кода." +"Этот параметр призван оптимизировать маршрут движения печатающей головки, чтобы " +"свести к минимуму пересечение стенок при движении. Полезно использовать с " +"экструдерами Боудена, которые страдают от просачивание расплавленного материала. " +"Эта функция замедляет как печать, так и генерацию G-кода." -#: src/libslic3r/PrintConfig.cpp:184 src/libslic3r/PrintConfig.cpp:2259 +#: src/libslic3r/PrintConfig.cpp:188 +msgid "Avoid crossing perimeters - Max detour length" +msgstr "Избегать пересечения периметров - Макс. длина обхода" + +#: src/libslic3r/PrintConfig.cpp:190 +msgid "" +"The maximum detour length for avoid crossing perimeters. If the detour is longer " +"than this value, avoid crossing perimeters is not applied for this travel path. " +"Detour length could be specified either as an absolute value or as percentage (for " +"example 50%) of a direct travel path." +msgstr "" +"Максимальное расстояние обхода сопла от модели во избежание пересечения периметров " +"при движении. Если расстояние обхода превышает это значение, то для данного " +"маршрута эта опция не применяется. Длина обхода может быть указана как абсолютном " +"значении, так и в процентах (например, 50%) от траектории перемещения. ???" + +#: src/libslic3r/PrintConfig.cpp:193 +msgid "mm or % (zero to disable)" +msgstr "мм или % (0 - отключено)" + +#: src/libslic3r/PrintConfig.cpp:199 src/libslic3r/PrintConfig.cpp:2291 msgid "Other layers" msgstr "Последующие слои" -#: src/libslic3r/PrintConfig.cpp:185 +#: src/libslic3r/PrintConfig.cpp:200 msgid "" -"Bed temperature for layers after the first one. Set this to zero to disable " -"bed temperature control commands in the output." +"Bed temperature for layers after the first one. Set this to zero to disable bed " +"temperature control commands in the output." msgstr "" -"Температура платформы для слоёв после первого. Установите 0, " -"чтобы отключить команды управления температурой платформы в результате." +"Температура подогреваемого стола для слоёв после первого. Установите 0, чтобы " +"отключить команды управления температурой стола на выходе." -#: src/libslic3r/PrintConfig.cpp:188 +#: src/libslic3r/PrintConfig.cpp:203 msgid "Bed temperature" -msgstr "Температура платформы" +msgstr "Температура стола" -#: src/libslic3r/PrintConfig.cpp:195 +#: src/libslic3r/PrintConfig.cpp:210 msgid "" -"This custom code is inserted at every layer change, right before the Z move. " -"Note that you can use placeholder variables for all Slic3r settings as well " -"as [layer_num] and [layer_z]." +"This custom code is inserted at every layer change, right before the Z move. Note " +"that you can use placeholder variables for all Slic3r settings as well as " +"[layer_num] and [layer_z]." msgstr "" -"Этот пользовательский код вставляется при каждой смене слоя, непосредственно " -"перед перемещения оси Z. Обратите внимание, что вы можете использовать " -"шаблонные переменные для всех параметров Slic3r, в том числе [layer_num] и " -"[layer_z]." +"Этот пользовательский код вставляется при каждой смене слоя, непосредственно перед " +"перемещения оси Z. Обратите внимание, что вы можете использовать шаблонные " +"переменные для всех параметров PrusaSlicer, в том числе [layer_num] и [layer_z]." -#: src/libslic3r/PrintConfig.cpp:205 +#: src/libslic3r/PrintConfig.cpp:220 msgid "Between objects G-code" -msgstr "G-код между объектами" +msgstr "G-код между моделями" -#: src/libslic3r/PrintConfig.cpp:206 +#: src/libslic3r/PrintConfig.cpp:221 msgid "" -"This code is inserted between objects when using sequential printing. By " -"default extruder and bed temperature are reset using non-wait command; " -"however if M104, M109, M140 or M190 are detected in this custom code, Slic3r " -"will not add temperature commands. Note that you can use placeholder " -"variables for all Slic3r settings, so you can put a \"M109 " -"S[first_layer_temperature]\" command wherever you want." +"This code is inserted between objects when using sequential printing. By default " +"extruder and bed temperature are reset using non-wait command; however if M104, " +"M109, M140 or M190 are detected in this custom code, Slic3r will not add " +"temperature commands. Note that you can use placeholder variables for all Slic3r " +"settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you " +"want." msgstr "" -"Этот код вставляется между объектами при включении последовательной печати. " -"По умолчанию температура экструдера и платформы сбрасываются с помощью " -"команды без ожидания; однако, если в этом пользовательском коде " -"обнаруживаются команды M104, M109, M140 или M190, то Slic3r не добавит " -"команды температуры. Обратите внимание, что вы можете использовать шаблонные " -"переменные для всех параметров Slic3r, поэтому вы можете вставить команду " -"\"M109 S[first_layer_temperature]\" где угодно." +"Этот код вставляется между моделями при включении последовательной печати. По " +"умолчанию экструдер и температура стола сбрасываются с помощью команды без " +"ожидания; однако, если в этом пользовательском коде обнаруживаются команды M104, " +"M109, M140 или M190, то PrusaSlicer не добавит команды температуры. Обратите " +"внимание, что вы можете использовать шаблонные переменные для всех параметров " +"PrusaSlicer, поэтому вы можете вставить команду \"M109 S[first_layer_temperature]\" " +"где угодно." -#: src/libslic3r/PrintConfig.cpp:217 +#: src/libslic3r/PrintConfig.cpp:232 msgid "Number of solid layers to generate on bottom surfaces." -msgstr "Количество сплошных слоёв для генерации нижних поверхностей." +msgstr "Количество сплошных слоёв при печати нижней поверхности модели." -#: src/libslic3r/PrintConfig.cpp:218 +#: src/libslic3r/PrintConfig.cpp:233 msgid "Bottom solid layers" msgstr "Нижних сплошных слоёв" -#: src/libslic3r/PrintConfig.cpp:226 +#: src/libslic3r/PrintConfig.cpp:241 msgid "" "The number of bottom solid layers is increased above bottom_solid_layers if " "necessary to satisfy minimum thickness of bottom shell." msgstr "" +"При необходимости количество нижних сплошных слоёв увеличивается выше значения " +"bottom_solid_layers (\"Сплошных слоёв снизу\") для удовлетворения минимальной " +"толщины оболочки снизу." -#: src/libslic3r/PrintConfig.cpp:228 +#: src/libslic3r/PrintConfig.cpp:243 msgid "Minimum bottom shell thickness" -msgstr "" +msgstr "Минимальная толщина оболочки снизу" -#: src/libslic3r/PrintConfig.cpp:234 +#: src/libslic3r/PrintConfig.cpp:249 msgid "Bridge" -msgstr "Мост" +msgstr "Мосты" -#: src/libslic3r/PrintConfig.cpp:235 +#: src/libslic3r/PrintConfig.cpp:250 msgid "" -"This is the acceleration your printer will use for bridges. Set zero to " -"disable acceleration control for bridges." +"This is the acceleration your printer will use for bridges. Set zero to disable " +"acceleration control for bridges." msgstr "" -"Ускорение, которое принтер будет использовать для печати мостов. Установить " -"0, чтобы отключить управление ускорением для мостов." +"Ускорение, которое принтер будет использовать для печати мостов. Установить 0, " +"чтобы отключить управление ускорением для мостов." -#: src/libslic3r/PrintConfig.cpp:237 src/libslic3r/PrintConfig.cpp:380 -#: src/libslic3r/PrintConfig.cpp:923 src/libslic3r/PrintConfig.cpp:1051 -#: src/libslic3r/PrintConfig.cpp:1332 src/libslic3r/PrintConfig.cpp:1381 -#: src/libslic3r/PrintConfig.cpp:1391 src/libslic3r/PrintConfig.cpp:1584 +#: src/libslic3r/PrintConfig.cpp:252 src/libslic3r/PrintConfig.cpp:395 +#: src/libslic3r/PrintConfig.cpp:940 src/libslic3r/PrintConfig.cpp:1079 +#: src/libslic3r/PrintConfig.cpp:1360 src/libslic3r/PrintConfig.cpp:1409 +#: src/libslic3r/PrintConfig.cpp:1419 src/libslic3r/PrintConfig.cpp:1612 msgid "mm/s²" msgstr "мм/с²" -#: src/libslic3r/PrintConfig.cpp:243 +#: src/libslic3r/PrintConfig.cpp:258 msgid "Bridging angle" msgstr "Угол (направление) печати мостов" -#: src/libslic3r/PrintConfig.cpp:245 +#: src/libslic3r/PrintConfig.cpp:260 msgid "" -"Bridging angle override. If left to zero, the bridging angle will be " -"calculated automatically. Otherwise the provided angle will be used for all " -"bridges. Use 180° for zero angle." +"Bridging angle override. If left to zero, the bridging angle will be calculated " +"automatically. Otherwise the provided angle will be used for all bridges. Use 180° " +"for zero angle." msgstr "" -"Принудительная печать мостов в одном, заданном направлении. Если задано 0, " -"угол печати мостов рассчитывается автоматически. В противном случае заданный " -"угол будет использоваться для всех мостов. Для нулевого угла установите 180°." +"Принудительная печать мостов в одном, заданном направлении. Если задано 0, угол " +"печати мостов рассчитывается автоматически. В противном случае заданный угол будет " +"использоваться для всех мостов. Для нулевого угла установите 180°." -#: src/libslic3r/PrintConfig.cpp:248 src/libslic3r/PrintConfig.cpp:835 -#: src/libslic3r/PrintConfig.cpp:1821 src/libslic3r/PrintConfig.cpp:1831 -#: src/libslic3r/PrintConfig.cpp:2089 src/libslic3r/PrintConfig.cpp:2244 -#: src/libslic3r/PrintConfig.cpp:2443 src/libslic3r/PrintConfig.cpp:2944 -#: src/libslic3r/PrintConfig.cpp:3065 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:852 +#: src/libslic3r/PrintConfig.cpp:1853 src/libslic3r/PrintConfig.cpp:1863 +#: src/libslic3r/PrintConfig.cpp:2121 src/libslic3r/PrintConfig.cpp:2276 +#: src/libslic3r/PrintConfig.cpp:2475 src/libslic3r/PrintConfig.cpp:2976 +#: src/libslic3r/PrintConfig.cpp:3097 msgid "°" msgstr "°" -#: src/libslic3r/PrintConfig.cpp:254 +#: src/libslic3r/PrintConfig.cpp:269 msgid "Bridges fan speed" msgstr "Скорость вентилятора при печати мостов" -#: src/libslic3r/PrintConfig.cpp:255 +#: src/libslic3r/PrintConfig.cpp:270 msgid "This fan speed is enforced during all bridges and overhangs." -msgstr "" -"Скорость вращения вентилятора при печати мостов и нависающих частей модели." +msgstr "Скорость вращения вентилятора при печати мостов и нависающих частей модели." -#: src/libslic3r/PrintConfig.cpp:256 src/libslic3r/PrintConfig.cpp:847 -#: src/libslic3r/PrintConfig.cpp:1220 src/libslic3r/PrintConfig.cpp:1399 -#: src/libslic3r/PrintConfig.cpp:1462 src/libslic3r/PrintConfig.cpp:1713 -#: src/libslic3r/PrintConfig.cpp:2621 src/libslic3r/PrintConfig.cpp:2858 -#: src/libslic3r/PrintConfig.cpp:2984 +#: src/libslic3r/PrintConfig.cpp:271 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1248 src/libslic3r/PrintConfig.cpp:1427 +#: src/libslic3r/PrintConfig.cpp:1490 src/libslic3r/PrintConfig.cpp:1745 +#: src/libslic3r/PrintConfig.cpp:2653 src/libslic3r/PrintConfig.cpp:2890 +#: src/libslic3r/PrintConfig.cpp:3016 msgid "%" msgstr "%" -#: src/libslic3r/PrintConfig.cpp:263 +#: src/libslic3r/PrintConfig.cpp:278 msgid "Bridge flow ratio" -msgstr "Соотношение потока при печати мостов" +msgstr "Коэффициент подачи пластика при печати мостов" -#: src/libslic3r/PrintConfig.cpp:265 +#: src/libslic3r/PrintConfig.cpp:280 msgid "" "This factor affects the amount of plastic for bridging. You can decrease it " -"slightly to pull the extrudates and prevent sagging, although default " -"settings are usually good and you should experiment with cooling (use a fan) " -"before tweaking this." +"slightly to pull the extrudates and prevent sagging, although default settings are " +"usually good and you should experiment with cooling (use a fan) before tweaking " +"this." msgstr "" -"Этот параметр задаёт количество пластика, затрачивающегося на построение " -"мостов. В большинстве случаев настроек по умолчанию (1) достаточно, тем не " -"менее, при печати некоторых объектов уменьшение параметра может сократить " -"провисание пластика при печати мостов. Если при печати мостов протягиваемый " -"пруток рвётся, параметр нужно увеличить (например, до 1.1). Перед " -"редактированием этого параметра не забывайте, что регулировать качество " -"натяжки мостов можно и при помощи обдува модели." +"Этот параметр задаёт количество пластика, затрачивающегося на построение мостов. В " +"большинстве случаев настроек по умолчанию (1) достаточно, тем не менее, при печати " +"некоторых моделей уменьшение параметра может сократить провисание пластика при " +"печати мостов. Если при печати мостов протягиваемый пруток рвётся, параметр нужно " +"увеличить (например, до 1.1). Перед редактированием этого параметра не забывайте, " +"что регулировать качество натяжки мостов можно и при помощи обдува модели." -#: src/libslic3r/PrintConfig.cpp:275 +#: src/libslic3r/PrintConfig.cpp:290 msgid "Bridges" msgstr "Мосты" -#: src/libslic3r/PrintConfig.cpp:277 +#: src/libslic3r/PrintConfig.cpp:292 msgid "Speed for printing bridges." msgstr "Скорость печати мостов." -#: src/libslic3r/PrintConfig.cpp:278 src/libslic3r/PrintConfig.cpp:654 -#: src/libslic3r/PrintConfig.cpp:662 src/libslic3r/PrintConfig.cpp:671 -#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:706 -#: src/libslic3r/PrintConfig.cpp:725 src/libslic3r/PrintConfig.cpp:987 -#: src/libslic3r/PrintConfig.cpp:1166 src/libslic3r/PrintConfig.cpp:1239 -#: src/libslic3r/PrintConfig.cpp:1315 src/libslic3r/PrintConfig.cpp:1349 -#: src/libslic3r/PrintConfig.cpp:1361 src/libslic3r/PrintConfig.cpp:1371 -#: src/libslic3r/PrintConfig.cpp:1421 src/libslic3r/PrintConfig.cpp:1480 -#: src/libslic3r/PrintConfig.cpp:1614 src/libslic3r/PrintConfig.cpp:1788 -#: src/libslic3r/PrintConfig.cpp:1797 src/libslic3r/PrintConfig.cpp:2223 -#: src/libslic3r/PrintConfig.cpp:2350 +#: src/libslic3r/PrintConfig.cpp:293 src/libslic3r/PrintConfig.cpp:671 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:688 +#: src/libslic3r/PrintConfig.cpp:696 src/libslic3r/PrintConfig.cpp:723 +#: src/libslic3r/PrintConfig.cpp:742 src/libslic3r/PrintConfig.cpp:1015 +#: src/libslic3r/PrintConfig.cpp:1194 src/libslic3r/PrintConfig.cpp:1267 +#: src/libslic3r/PrintConfig.cpp:1343 src/libslic3r/PrintConfig.cpp:1377 +#: src/libslic3r/PrintConfig.cpp:1389 src/libslic3r/PrintConfig.cpp:1399 +#: src/libslic3r/PrintConfig.cpp:1449 src/libslic3r/PrintConfig.cpp:1508 +#: src/libslic3r/PrintConfig.cpp:1642 src/libslic3r/PrintConfig.cpp:1820 +#: src/libslic3r/PrintConfig.cpp:1829 src/libslic3r/PrintConfig.cpp:2255 +#: src/libslic3r/PrintConfig.cpp:2382 msgid "mm/s" msgstr "мм/с" -#: src/libslic3r/PrintConfig.cpp:285 +#: src/libslic3r/PrintConfig.cpp:300 msgid "Brim width" msgstr "Ширина каймы" -#: src/libslic3r/PrintConfig.cpp:286 -msgid "" -"Horizontal width of the brim that will be printed around each object on the " -"first layer." -msgstr "" -"Горизонтальная ширина каймы, которая будет печататься на первом слое вокруг " -"каждого объекта." - -#: src/libslic3r/PrintConfig.cpp:293 -msgid "Clip multi-part objects" -msgstr "Обрезать составные объекты (состоящие из нескольких частей)" - -#: src/libslic3r/PrintConfig.cpp:294 -msgid "" -"When printing multi-material objects, this settings will make Slic3r to clip " -"the overlapping object parts one by the other (2nd part will be clipped by " -"the 1st, 3rd part will be clipped by the 1st and 2nd etc)." -msgstr "" -"При печати объектов несколькими материалами эта настройка заставляет slic3r " -"обрезать части, которые перекрываются друг другом (вторая часть будет " -"обрезана первой, третья - первой и второй и т.д.)." - #: src/libslic3r/PrintConfig.cpp:301 -msgid "Colorprint height" -msgstr "Высота цветной печати" - -#: src/libslic3r/PrintConfig.cpp:302 -msgid "Heights at which a filament change is to occur." +msgid "" +"Horizontal width of the brim that will be printed around each object on the first " +"layer." msgstr "" +"Расстояние от модели до самой дальней линии каймы. Широкая кайма повышает адгезию к " +"столу, но уменьшает полезную площадь печати. Увеличение этого параметра очень важно " +"для моделей с маленькой площадью контакта со столом и особенно важно при печати ABS " +"пластиком." -#: src/libslic3r/PrintConfig.cpp:312 +#: src/libslic3r/PrintConfig.cpp:308 +msgid "Clip multi-part objects" +msgstr "Обрезать составные модели (состоящие из нескольких частей)" + +#: src/libslic3r/PrintConfig.cpp:309 +msgid "" +"When printing multi-material objects, this settings will make Slic3r to clip the " +"overlapping object parts one by the other (2nd part will be clipped by the 1st, 3rd " +"part will be clipped by the 1st and 2nd etc)." +msgstr "" +"При печати моделей несколькими материалами эта настройка заставляет PrusaSlicer " +"обрезать части, которые перекрываются друг другом (вторая часть будет обрезана " +"первой, третья - первой и второй и т.д.)." + +#: src/libslic3r/PrintConfig.cpp:316 +msgid "Colorprint height" +msgstr "Высота смены цвета" + +#: src/libslic3r/PrintConfig.cpp:317 +msgid "Heights at which a filament change is to occur." +msgstr "Высота, на которой должна происходить смена прутка." + +#: src/libslic3r/PrintConfig.cpp:327 msgid "Compatible printers condition" msgstr "Условия совместимости с принтером" -#: src/libslic3r/PrintConfig.cpp:313 -msgid "" -"A boolean expression using the configuration values of an active printer " -"profile. If this expression evaluates to true, this profile is considered " -"compatible with the active printer profile." -msgstr "" -"Логическое выражение, использующее значения конфигурации активного профиля " -"принтера. Если это выражение имеет значение true, этот профиль считается " -"совместимым с активным профилем принтера." - -#: src/libslic3r/PrintConfig.cpp:327 -msgid "Compatible print profiles condition" -msgstr "Условия совместимости с профилем печати" - #: src/libslic3r/PrintConfig.cpp:328 msgid "" -"A boolean expression using the configuration values of an active print " -"profile. If this expression evaluates to true, this profile is considered " -"compatible with the active print profile." +"A boolean expression using the configuration values of an active printer profile. " +"If this expression evaluates to true, this profile is considered compatible with " +"the active printer profile." msgstr "" "Логическое выражение, использующее значения конфигурации активного профиля " "принтера. Если это выражение имеет значение true, этот профиль считается " "совместимым с активным профилем принтера." -#: src/libslic3r/PrintConfig.cpp:345 -msgid "Complete individual objects" -msgstr "Печатать объекты последовательно" +#: src/libslic3r/PrintConfig.cpp:342 +msgid "Compatible print profiles condition" +msgstr "Условия совместимости профилей печати" -#: src/libslic3r/PrintConfig.cpp:346 +#: src/libslic3r/PrintConfig.cpp:343 msgid "" -"When printing multiple objects or copies, this feature will complete each " -"object before moving onto next one (and starting it from its bottom layer). " -"This feature is useful to avoid the risk of ruined prints. Slic3r should " -"warn and prevent you from extruder collisions, but beware." +"A boolean expression using the configuration values of an active print profile. If " +"this expression evaluates to true, this profile is considered compatible with the " +"active print profile." msgstr "" -"Когда печатается несколько объектов или копий, эта функция позволяет " -"печатать их по очереди — сначала будет напечатана один, потом второй (и " -"печать начинается с его нижнего слоя). Позволяет избежать риска испортить " -"всю печать целиком. Slic3r должен предупреждать и предотвращать столкновения " -"экструдера, но используйте аккуратно." +"Логическое выражение, использующее значения конфигурации активного профиля печати. " +"Если это выражение имеет значение true, этот профиль считается совместимым с " +"активным профилем принтера." -#: src/libslic3r/PrintConfig.cpp:354 +#: src/libslic3r/PrintConfig.cpp:360 +msgid "Complete individual objects" +msgstr "Печатать модели по очереди" + +#: src/libslic3r/PrintConfig.cpp:361 +msgid "" +"When printing multiple objects or copies, this feature will complete each object " +"before moving onto next one (and starting it from its bottom layer). This feature " +"is useful to avoid the risk of ruined prints. Slic3r should warn and prevent you " +"from extruder collisions, but beware." +msgstr "" +"Когда на печатающем столе размещено несколько моделей, эта функция позволяет " +"печатать их по очереди - сначала будет напечатана одна модель, потом вторая. Этот " +"режим может быть использован только в том случае, когда все модели разнесены таким " +"образом, что вся печатающая головка может перемещаться между ними." + +#: src/libslic3r/PrintConfig.cpp:369 msgid "Enable auto cooling" msgstr "Автоматическое управление охлаждением" -#: src/libslic3r/PrintConfig.cpp:355 +#: src/libslic3r/PrintConfig.cpp:370 msgid "" -"This flag enables the automatic cooling logic that adjusts print speed and " -"fan speed according to layer printing time." +"This flag enables the automatic cooling logic that adjusts print speed and fan " +"speed according to layer printing time." msgstr "" "Программа задействует алгоритм автоматического охлаждения и сама регулирует " "скорость печати и скорость вентилятора в зависимости от времени печати слоя." -#: src/libslic3r/PrintConfig.cpp:360 +#: src/libslic3r/PrintConfig.cpp:375 msgid "Cooling tube position" msgstr "Позиция охлаждающей трубки" -#: src/libslic3r/PrintConfig.cpp:361 +#: src/libslic3r/PrintConfig.cpp:376 msgid "Distance of the center-point of the cooling tube from the extruder tip." -msgstr "" -"Расстояние между центральной точкой охлаждающей трубки и кончиком экструдера." +msgstr "Расстояние между центральной точкой охлаждающей трубки и кончиком экструдера." -#: src/libslic3r/PrintConfig.cpp:368 +#: src/libslic3r/PrintConfig.cpp:383 msgid "Cooling tube length" msgstr "Длина охлаждающей трубки" -#: src/libslic3r/PrintConfig.cpp:369 +#: src/libslic3r/PrintConfig.cpp:384 msgid "Length of the cooling tube to limit space for cooling moves inside it." msgstr "" -"Длина трубки охлаждения для ограничения перемещения при охлаждающих " -"движениях." +"Длина трубки охлаждения для ограничения перемещения при охлаждающих движениях." -#: src/libslic3r/PrintConfig.cpp:377 +#: src/libslic3r/PrintConfig.cpp:392 msgid "" -"This is the acceleration your printer will be reset to after the role-" -"specific acceleration values are used (perimeter/infill). Set zero to " -"prevent resetting acceleration at all." +"This is the acceleration your printer will be reset to after the role-specific " +"acceleration values are used (perimeter/infill). Set zero to prevent resetting " +"acceleration at all." msgstr "" -"Это ускорение, на которое переключится принтер после использования " -"определённых настроек ускорения, например установленных для печати периметра/" -"заполнения. Установите 0, чтобы предотвратить сброс ускорения вообще." +"Это ускорение, на которое переключится принтер после использования определённых " +"настроек ускорения, например установленных для печати периметра/заполнения. " +"Установите 0, чтобы предотвратить сброс ускорения вообще." -#: src/libslic3r/PrintConfig.cpp:386 +#: src/libslic3r/PrintConfig.cpp:401 msgid "Default filament profile" msgstr "Профиль прутка по умолчанию" -#: src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:402 msgid "" -"Default filament profile associated with the current printer profile. On " -"selection of the current printer profile, this filament profile will be " -"activated." +"Default filament profile associated with the current printer profile. On selection " +"of the current printer profile, this filament profile will be activated." msgstr "" -"Профиль прутка по умолчанию, связанный с текущим профилем принтера. При " -"выборе текущего профиля принтера, будет активирован этот профиль прутка." +"Профиль прутка по умолчанию, связанный с текущим профилем принтера. При выборе " +"текущего профиля принтера, будет активирован этот профиль прутка." -#: src/libslic3r/PrintConfig.cpp:393 +#: src/libslic3r/PrintConfig.cpp:408 msgid "Default print profile" msgstr "Профиль печати по умолчанию" -#: src/libslic3r/PrintConfig.cpp:394 src/libslic3r/PrintConfig.cpp:2788 -#: src/libslic3r/PrintConfig.cpp:2799 +#: src/libslic3r/PrintConfig.cpp:409 src/libslic3r/PrintConfig.cpp:2820 +#: src/libslic3r/PrintConfig.cpp:2831 msgid "" -"Default print profile associated with the current printer profile. On " -"selection of the current printer profile, this print profile will be " -"activated." +"Default print profile associated with the current printer profile. On selection of " +"the current printer profile, this print profile will be activated." msgstr "" -"Профиль печати по умолчанию, связанный с текущим профилем принтера. При " -"выборе текущего профиля принтера, будет активирован этот профиль печати." +"Профиль печати по умолчанию, связанный с текущим профилем принтера. При выборе " +"текущего профиля принтера, будет активирован этот профиль печати." -#: src/libslic3r/PrintConfig.cpp:400 +#: src/libslic3r/PrintConfig.cpp:415 msgid "Disable fan for the first" -msgstr "Не включать вентилятор на первых слоях" +msgstr "Не включать вентилятор на первых" -#: src/libslic3r/PrintConfig.cpp:401 +#: src/libslic3r/PrintConfig.cpp:416 msgid "" -"You can set this to a positive value to disable fan at all during the first " -"layers, so that it does not make adhesion worse." +"You can set this to a positive value to disable fan at all during the first layers, " +"so that it does not make adhesion worse." msgstr "" -"Вы можете задать положительное значение, чтобы отключить вентилятор при " -"печати первых слоёв, чтобы не ухудшить прилипание." +"Вы можете задать положительное значение, чтобы отключить вентилятор при печати " +"первых слоёв, чтобы не ухудшить адгезию к столу." -#: src/libslic3r/PrintConfig.cpp:410 +#: src/libslic3r/PrintConfig.cpp:425 msgid "Don't support bridges" -msgstr "Не печатать поддержки под мостами" - -#: src/libslic3r/PrintConfig.cpp:412 -msgid "" -"Experimental option for preventing support material from being generated " -"under bridged areas." -msgstr "Экспериментальная опция препятствующая печати поддержки под мостами." - -#: src/libslic3r/PrintConfig.cpp:418 -msgid "Distance between copies" -msgstr "Расстояние между копиями" - -#: src/libslic3r/PrintConfig.cpp:419 -msgid "Distance used for the auto-arrange feature of the plater." -msgstr "" -"Расстояние между объектами, используемое авторасстановкой при компоновке." +msgstr "Не печатать поддержку под мостами" #: src/libslic3r/PrintConfig.cpp:427 msgid "" -"This end procedure is inserted at the end of the output file. Note that you " -"can use placeholder variables for all PrusaSlicer settings." -msgstr "" -"Это последняя процедура, вставляется в конец файла. Обратите внимание, что " -"вы можете использовать шаблонные переменные для всех параметров PrusaSlicer." +"Experimental option for preventing support material from being generated under " +"bridged areas." +msgstr "Экспериментальная опция препятствующая печати поддержки под мостами." -#: src/libslic3r/PrintConfig.cpp:437 +#: src/libslic3r/PrintConfig.cpp:433 +msgid "Distance between copies" +msgstr "Расстояние между копиями" + +#: src/libslic3r/PrintConfig.cpp:434 +msgid "Distance used for the auto-arrange feature of the plater." +msgstr "Расстояние, между моделям при авторасстановке их на столе." + +#: src/libslic3r/PrintConfig.cpp:442 msgid "" -"This end procedure is inserted at the end of the output file, before the " -"printer end gcode (and before any toolchange from this filament in case of " -"multimaterial printers). Note that you can use placeholder variables for all " -"PrusaSlicer settings. If you have multiple extruders, the gcode is processed " -"in extruder order." +"This end procedure is inserted at the end of the output file. Note that you can use " +"placeholder variables for all PrusaSlicer settings." msgstr "" -"Это последняя процедура, вставляется в конец файла перед конечным G-кодом " -"принтера (и перед сменой инструмента для этого прутка в случае " -"многоматериальных принтеров). Обратите внимание, что вы можете использовать " -"шаблонные переменные для всех параметров PrusaSlicer. Если имеется несколько " -"экструдеров, G-код обрабатывается в соответствии с порядковым номером " +"Команды в G-коде, которые будут вставляться в конец выходного файла. Обратите " +"внимание, что вы можете использовать шаблонные переменные для всех параметров " +"PrusaSlicer." + +#: src/libslic3r/PrintConfig.cpp:452 +msgid "" +"This end procedure is inserted at the end of the output file, before the printer " +"end gcode (and before any toolchange from this filament in case of multimaterial " +"printers). Note that you can use placeholder variables for all PrusaSlicer " +"settings. If you have multiple extruders, the gcode is processed in extruder order." +msgstr "" +"Команды в G-коде, которые будут вставляться в конец выходного файла перед конечным " +"G-кодом принтера (и перед каждым переключением инструмента с текущим прутком " +"в случае мультиматериальных принтеров). Обратите внимание, что вы можете " +"использовать шаблонные переменные для всех параметров PrusaSlicer. Если у вас " +"несколько экструдеров, G-код обрабатывается в соответствии с порядковым номером " "экструдера." -#: src/libslic3r/PrintConfig.cpp:448 +#: src/libslic3r/PrintConfig.cpp:463 msgid "Ensure vertical shell thickness" msgstr "Обеспечивать вертикальную толщину оболочки" -#: src/libslic3r/PrintConfig.cpp:450 +#: src/libslic3r/PrintConfig.cpp:465 msgid "" -"Add solid infill near sloping surfaces to guarantee the vertical shell " -"thickness (top+bottom solid layers)." +"Add solid infill near sloping surfaces to guarantee the vertical shell thickness " +"(top+bottom solid layers)." msgstr "" -"Добавляет сплошные опоры у наклонных поверхностей для того, чтобы " -"гарантировать вертикальную толщину оболочки (верхние+нижние сплошные слои). " -"Это помогает избежать дыр на наклонной поверхности." +"Добавляет сплошные опоры у наклонных поверхностей для того, чтобы гарантировать " +"вертикальную толщину оболочки (верхние+нижние сплошные слои). Это помогает избежать " +"дыр на наклонной поверхности." -#: src/libslic3r/PrintConfig.cpp:456 +#: src/libslic3r/PrintConfig.cpp:471 msgid "Top fill pattern" -msgstr "Шаблон заполнения верха" +msgstr "Шаблон заполнения верхней поверхности" -#: src/libslic3r/PrintConfig.cpp:458 +#: src/libslic3r/PrintConfig.cpp:473 msgid "" -"Fill pattern for top infill. This only affects the top visible layer, and " -"not its adjacent solid shells." +"Fill pattern for top infill. This only affects the top visible layer, and not its " +"adjacent solid shells." msgstr "" -"Шаблон заполнения, которым закрывается верхняя поверхность. Это влияет " -"только на внешний видимый слой, а не на прилегающие к нему сплошные оболочки." +"Тип сетки, которой закрывается верхняя поверхность. Это влияет только на внешний " +"видимый слой, а не на прилегающие к нему твёрдые оболочки." -#: src/libslic3r/PrintConfig.cpp:468 src/libslic3r/PrintConfig.cpp:901 -#: src/libslic3r/PrintConfig.cpp:2204 +#: src/libslic3r/PrintConfig.cpp:483 src/libslic3r/PrintConfig.cpp:918 +#: src/libslic3r/PrintConfig.cpp:2236 msgid "Rectilinear" msgstr "Прямолинейный" -#: src/libslic3r/PrintConfig.cpp:469 +#: src/libslic3r/PrintConfig.cpp:484 msgid "Monotonic" -msgstr "" +msgstr "Монотонный" -#: src/libslic3r/PrintConfig.cpp:470 src/libslic3r/PrintConfig.cpp:902 +#: src/libslic3r/PrintConfig.cpp:485 src/libslic3r/PrintConfig.cpp:919 msgid "Aligned Rectilinear" -msgstr "" +msgstr "Выровн. прямолинейн." -#: src/libslic3r/PrintConfig.cpp:471 src/libslic3r/PrintConfig.cpp:908 +#: src/libslic3r/PrintConfig.cpp:486 src/libslic3r/PrintConfig.cpp:925 msgid "Concentric" msgstr "Концентрический" -#: src/libslic3r/PrintConfig.cpp:472 src/libslic3r/PrintConfig.cpp:912 +#: src/libslic3r/PrintConfig.cpp:487 src/libslic3r/PrintConfig.cpp:929 msgid "Hilbert Curve" msgstr "Кривая Гильберта" -#: src/libslic3r/PrintConfig.cpp:473 src/libslic3r/PrintConfig.cpp:913 +#: src/libslic3r/PrintConfig.cpp:488 src/libslic3r/PrintConfig.cpp:930 msgid "Archimedean Chords" msgstr "Хорды Архимеда" -#: src/libslic3r/PrintConfig.cpp:474 src/libslic3r/PrintConfig.cpp:914 +#: src/libslic3r/PrintConfig.cpp:489 src/libslic3r/PrintConfig.cpp:931 msgid "Octagram Spiral" msgstr "Спиральная октаграмма" -#: src/libslic3r/PrintConfig.cpp:480 +#: src/libslic3r/PrintConfig.cpp:495 msgid "Bottom fill pattern" -msgstr "Шаблон заполнения низа" +msgstr "Шаблон заполнения нижней поверхности" -#: src/libslic3r/PrintConfig.cpp:482 +#: src/libslic3r/PrintConfig.cpp:497 msgid "" -"Fill pattern for bottom infill. This only affects the bottom external " -"visible layer, and not its adjacent solid shells." +"Fill pattern for bottom infill. This only affects the bottom external visible " +"layer, and not its adjacent solid shells." msgstr "" -"Шаблон заполнения, которым закрывается нижняя поверхность. Это влияет только " -"на внешний видимый слой, а не на прилегающие к нему сплошные оболочки." +"Тип сетки, которой закрывается нижняя поверхность. Это влияет только на нижний " +"внешний видимый слой, а не на прилегающие к нему твёрдые оболочки." -#: src/libslic3r/PrintConfig.cpp:491 src/libslic3r/PrintConfig.cpp:502 +#: src/libslic3r/PrintConfig.cpp:506 src/libslic3r/PrintConfig.cpp:517 msgid "External perimeters" msgstr "Внешние периметры" -#: src/libslic3r/PrintConfig.cpp:493 +#: src/libslic3r/PrintConfig.cpp:508 msgid "" "Set this to a non-zero value to set a manual extrusion width for external " -"perimeters. If left zero, default extrusion width will be used if set, " -"otherwise 1.125 x nozzle diameter will be used. If expressed as percentage " -"(for example 200%), it will be computed over layer height." +"perimeters. If left zero, default extrusion width will be used if set, otherwise " +"1.125 x nozzle diameter will be used. If expressed as percentage (for example " +"200%), it will be computed over layer height." msgstr "" "Установите значение отличное от 0, чтобы вручную задать ширину экструзии для " -"внешних периметров. Если оставить 0, будет использоваться \"Ширина экструзии " -"по умолчанию\" - если она задана, в противном случае будет использоваться " -"1,125 x диаметра сопла. Если задано в процентах, параметр вычисляется " -"относительно высоты слоя." +"внешних периметров. Если оставить 0, будет использоваться \"Ширина экструзии по " +"умолчанию\" - если она задана, в противном случае будет использоваться 1,125 x " +"диаметра сопла. Если задано в процентах, параметр вычисляется относительно высоты " +"слоя." -#: src/libslic3r/PrintConfig.cpp:496 src/libslic3r/PrintConfig.cpp:605 -#: src/libslic3r/PrintConfig.cpp:945 src/libslic3r/PrintConfig.cpp:958 -#: src/libslic3r/PrintConfig.cpp:1076 src/libslic3r/PrintConfig.cpp:1131 -#: src/libslic3r/PrintConfig.cpp:1157 src/libslic3r/PrintConfig.cpp:1604 -#: src/libslic3r/PrintConfig.cpp:1929 src/libslic3r/PrintConfig.cpp:2078 -#: src/libslic3r/PrintConfig.cpp:2146 src/libslic3r/PrintConfig.cpp:2307 +#: src/libslic3r/PrintConfig.cpp:511 src/libslic3r/PrintConfig.cpp:621 +#: src/libslic3r/PrintConfig.cpp:962 src/libslic3r/PrintConfig.cpp:975 +#: src/libslic3r/PrintConfig.cpp:1104 src/libslic3r/PrintConfig.cpp:1159 +#: src/libslic3r/PrintConfig.cpp:1185 src/libslic3r/PrintConfig.cpp:1632 +#: src/libslic3r/PrintConfig.cpp:1961 src/libslic3r/PrintConfig.cpp:2110 +#: src/libslic3r/PrintConfig.cpp:2178 src/libslic3r/PrintConfig.cpp:2339 msgid "mm or %" msgstr "мм или %" -#: src/libslic3r/PrintConfig.cpp:504 +#: src/libslic3r/PrintConfig.cpp:519 msgid "" -"This separate setting will affect the speed of external perimeters (the " -"visible ones). If expressed as percentage (for example: 80%) it will be " -"calculated on the perimeters speed setting above. Set to zero for auto." +"This separate setting will affect the speed of external perimeters (the visible " +"ones). If expressed as percentage (for example: 80%) it will be calculated on the " +"perimeters speed setting above. Set to zero for auto." msgstr "" -"Этот параметр влияет на скорость печати внешних периметров (видимых). Если " -"задано в процентах, параметр вычисляется относительно скорости печати " -"внутренних периметров. Установите 0 для автонастройки." +"Этот параметр влияет на скорость печати внешних периметров (видимых). Если задано в " +"процентах, параметр вычисляется относительно скорости печати внутренних периметров. " +"Установите 0 для автонастройки." -#: src/libslic3r/PrintConfig.cpp:507 src/libslic3r/PrintConfig.cpp:967 -#: src/libslic3r/PrintConfig.cpp:1888 src/libslic3r/PrintConfig.cpp:1940 -#: src/libslic3r/PrintConfig.cpp:2190 src/libslic3r/PrintConfig.cpp:2320 +#: src/libslic3r/PrintConfig.cpp:522 src/libslic3r/PrintConfig.cpp:984 +#: src/libslic3r/PrintConfig.cpp:1920 src/libslic3r/PrintConfig.cpp:1972 +#: src/libslic3r/PrintConfig.cpp:2222 src/libslic3r/PrintConfig.cpp:2352 msgid "mm/s or %" msgstr "мм/с или %" -#: src/libslic3r/PrintConfig.cpp:514 +#: src/libslic3r/PrintConfig.cpp:529 msgid "External perimeters first" msgstr "Внешние периметры печатать первыми" -#: src/libslic3r/PrintConfig.cpp:516 +#: src/libslic3r/PrintConfig.cpp:531 msgid "" -"Print contour perimeters from the outermost one to the innermost one instead " -"of the default inverse order." +"Print contour perimeters from the outermost one to the innermost one instead of the " +"default inverse order." msgstr "" -"При включении, сначала будет печататься внешний слой периметра, потом " -"внутренний. Например, если периметр состоит из трёх слоёв, то, включив этот " -"параметр, печать будет идти в следующем порядке: сначала внешний, потом " -"средний, потом внутренний слой." +"При включении, сначала будет печататься внешний слой периметра, потом внутренний. " +"Например, если периметр состоит из трёх слоёв, то, включив этот параметр, печать " +"будет идти в следующем порядке: сначала внешний, потом средний, потом внутренний " +"слой." -#: src/libslic3r/PrintConfig.cpp:522 +#: src/libslic3r/PrintConfig.cpp:537 msgid "Extra perimeters if needed" -msgstr "Дополнительные стенки при необходимости" +msgstr "Дополнительные периметры при необходимости" -#: src/libslic3r/PrintConfig.cpp:524 +#: src/libslic3r/PrintConfig.cpp:539 #, c-format msgid "" -"Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r " -"keeps adding perimeters, until more than 70% of the loop immediately above " -"is supported." +"Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r keeps " +"adding perimeters, until more than 70% of the loop immediately above is supported." msgstr "" -"Добавляет дополнительные стенки, когда это необходимо, чтобы избежать " -"пробелов в наклонных стенках. Slic3r добавляет стенки до тех пор, пока не " -"будет поддержано более 70% верхнего контура." +"Добавляет дополнительные периметры, когда это необходимо, чтобы избежать пробелов в " +"наклонных стенках. PrusaSlicer продолжит добавлять периметры пока в следующем слое " +"не будет поддерживаться более 70% периметра." -#: src/libslic3r/PrintConfig.cpp:534 +#: src/libslic3r/PrintConfig.cpp:549 msgid "" -"The extruder to use (unless more specific extruder settings are specified). " -"This value overrides perimeter and infill extruders, but not the support " -"extruders." +"The extruder to use (unless more specific extruder settings are specified). This " +"value overrides perimeter and infill extruders, but not the support extruders." msgstr "" -"Используемый экструдер (если не заданы более конкретные параметры " -"экструдера). Это значение переопределяет экструдеры периметра и заполнения, " -"но не экструдеры поддержки." +"Используемый экструдер (если не заданы более конкретные параметры экструдера). Это " +"значение переопределяет экструдеры периметра и заполнения, но не экструдеры " +"поддержки." -#: src/libslic3r/PrintConfig.cpp:546 +#: src/libslic3r/PrintConfig.cpp:561 msgid "" -"Set this to the vertical distance between your nozzle tip and (usually) the " -"X carriage rods. In other words, this is the height of the clearance " -"cylinder around your extruder, and it represents the maximum depth the " -"extruder can peek before colliding with other printed objects." +"Set this to the vertical distance between your nozzle tip and (usually) the X " +"carriage rods. In other words, this is the height of the clearance cylinder around " +"your extruder, and it represents the maximum depth the extruder can peek before " +"colliding with other printed objects." msgstr "" -"Задаёт вертикальное расстояние между кончиком сопла и (обычно) осью валов X " -"на которых ездит каретка. Другими словами, это высота воображаемого цилиндра " -"вокруг экструдера, которая определяет максимальную глубину, до которой " -"экструдер может опуститься, чтобы не столкнуться объектами печати." +"Задаёт вертикальное расстояние между кончиком сопла и (обычно) осью валов на " +"которых ездит каретка. Другими словами, это высота воображаемого цилиндра вокруг " +"экструдера, которая определяет максимальную глубину, до которой экструдер может " +"опуститься, чтобы не столкнуться с моделью." -#: src/libslic3r/PrintConfig.cpp:557 +#: src/libslic3r/PrintConfig.cpp:572 msgid "" -"Set this to the clearance radius around your extruder. If the extruder is " -"not centered, choose the largest value for safety. This setting is used to " -"check for collisions and to display the graphical preview in the plater." +"Set this to the clearance radius around your extruder. If the extruder is not " +"centered, choose the largest value for safety. This setting is used to check for " +"collisions and to display the graphical preview in the plater." msgstr "" -"Безопасное расстояние (зазор) вокруг экструдера. Если экструдер установлен " -"не по центру, то берётся наибольшее безопасное значение. Этот параметр " -"используется для предотвращения столкновения экструдера с моделью и в " -"предварительном просмотре компоновки." +"Безопасное расстояние (зазор) вокруг экструдера. Если экструдер установлен не по " +"центру - взять наибольшее безопасное значение. Этот параметр используется для " +"предотвращения столкновения экструдера с моделью и графического отображения на " +"столе." -#: src/libslic3r/PrintConfig.cpp:567 +#: src/libslic3r/PrintConfig.cpp:582 msgid "Extruder Color" msgstr "Цвет экструдера" -#: src/libslic3r/PrintConfig.cpp:568 src/libslic3r/PrintConfig.cpp:628 +#: src/libslic3r/PrintConfig.cpp:583 src/libslic3r/PrintConfig.cpp:645 msgid "This is only used in the Slic3r interface as a visual help." msgstr "" -"Этот параметр используется только в интерфейсе Slic3r в качестве визуальной " +"Этот параметр используется только в интерфейсе PrusaSlicer в качестве визуальной " "помощи." -#: src/libslic3r/PrintConfig.cpp:574 +#: src/libslic3r/PrintConfig.cpp:589 msgid "Extruder offset" msgstr "Смещение экструдера по осям X/Y" -#: src/libslic3r/PrintConfig.cpp:575 +#: src/libslic3r/PrintConfig.cpp:590 msgid "" -"If your firmware doesn't handle the extruder displacement you need the G-" -"code to take it into account. This option lets you specify the displacement " -"of each extruder with respect to the first one. It expects positive " -"coordinates (they will be subtracted from the XY coordinate)." +"If your firmware doesn't handle the extruder displacement you need the G-code to " +"take it into account. This option lets you specify the displacement of each " +"extruder with respect to the first one. It expects positive coordinates (they will " +"be subtracted from the XY coordinate)." msgstr "" -"Если прошивка принтера правильно не обрабатывает расположение/смещение " -"экструдера, следует учесть это в G-коде. Этот параметр позволяет задать " -"смещение каждого экструдера относительно первого. Вводятся положительные " -"координаты (они будут вычтены из XY координат)." +"Актуально только для принтеров с несколькими экструдерами. Если прошивка вашего " +"принтера правильно не обрабатывает расположение/смещение экструдера, следует учесть " +"это в G-коде. Этот параметр позволяет задать смещение каждого экструдера " +"относительно первого. Вводятся положительные координаты (они будут вычтены из XY " +"координат)." -#: src/libslic3r/PrintConfig.cpp:584 +#: src/libslic3r/PrintConfig.cpp:599 msgid "Extrusion axis" msgstr "Экструзионные оси" -#: src/libslic3r/PrintConfig.cpp:585 +#: src/libslic3r/PrintConfig.cpp:600 msgid "" "Use this option to set the axis letter associated to your printer's extruder " "(usually E but some printers use A)." msgstr "" -"Используйте эту опцию, чтобы задать букву оси, связанную с экструдером " -"вашего принтера (обычно это E, но на некоторых принтерах A)." +"Используйте эту опцию, чтобы задать букву оси, связанную с экструдером вашего " +"принтера (обычно это E, но на некоторых принтерах A)." -#: src/libslic3r/PrintConfig.cpp:590 +#: src/libslic3r/PrintConfig.cpp:605 msgid "Extrusion multiplier" msgstr "Экструзионный множитель" -#: src/libslic3r/PrintConfig.cpp:591 +#: src/libslic3r/PrintConfig.cpp:606 msgid "" -"This factor changes the amount of flow proportionally. You may need to tweak " -"this setting to get nice surface finish and correct single wall widths. " -"Usual values are between 0.9 and 1.1. If you think you need to change this " -"more, check filament diameter and your firmware E steps." +"This factor changes the amount of flow proportionally. You may need to tweak this " +"setting to get nice surface finish and correct single wall widths. Usual values are " +"between 0.9 and 1.1. If you think you need to change this more, check filament " +"diameter and your firmware E steps." msgstr "" -"Коэффициент количества подаваемого пластика по сравнению с основным " -"значением. В других слайсерах называется Текучесть (Flow). Вам может " -"понадобиться настроить этот параметр, чтобы получить красивую поверхность и " -"правильную ширину одиночной стенки. Обычные значения составляют от 0.9 до " -"1.1. Если вы считаете, что вам требуется большее значение, проверьте диаметр " -"прутка и шаги экструдера в вашей прошивке." +"Коэффициент количества подаваемого пластика по сравнению с основным значением. В " +"других слайсерах называется Текучесть (Flow). Вам может понадобиться настроить этот " +"параметр, чтобы получить красивую поверхность и правильную ширину одиночной стенки. " +"Обычные значения составляют от 0.9 до 1.1. Если вы считаете, что вам требуется " +"большее значение, проверьте диаметр прутка и шаги экструдера в вашей прошивке." -#: src/libslic3r/PrintConfig.cpp:599 +#: src/libslic3r/PrintConfig.cpp:615 msgid "Default extrusion width" msgstr "Ширина экструзии по умолчанию" -#: src/libslic3r/PrintConfig.cpp:601 +#: src/libslic3r/PrintConfig.cpp:617 msgid "" -"Set this to a non-zero value to allow a manual extrusion width. If left to " -"zero, Slic3r derives extrusion widths from the nozzle diameter (see the " -"tooltips for perimeter extrusion width, infill extrusion width etc). If " -"expressed as percentage (for example: 230%), it will be computed over layer " -"height." +"Set this to a non-zero value to allow a manual extrusion width. If left to zero, " +"Slic3r derives extrusion widths from the nozzle diameter (see the tooltips for " +"perimeter extrusion width, infill extrusion width etc). If expressed as percentage " +"(for example: 230%), it will be computed over layer height." msgstr "" -"Установите значение отличное от 0, чтобы вручную задать ширину экструзии. " -"Если оставить 0, будет использоваться заданный диаметр сопла. Если задано в " -"процентах, параметр вычисляется относительно высоты слоя." +"Установите значение отличное от 0, чтобы вручную задать ширину экструзии " +"заполнения. Если оставить 0, будет использоваться заданный диаметр сопла. Если " +"задано в процентах, параметр вычисляется относительно высоты слоя." -#: src/libslic3r/PrintConfig.cpp:611 +#: src/libslic3r/PrintConfig.cpp:628 msgid "Keep fan always on" msgstr "Вентилятор включён всегда" -#: src/libslic3r/PrintConfig.cpp:612 +#: src/libslic3r/PrintConfig.cpp:629 msgid "" -"If this is enabled, fan will never be disabled and will be kept running at " -"least at its minimum speed. Useful for PLA, harmful for ABS." +"If this is enabled, fan will never be disabled and will be kept running at least at " +"its minimum speed. Useful for PLA, harmful for ABS." msgstr "" -"Если эта опция включена, вентилятор никогда не будет отключаться и будет " -"работает хотя бы на минимальной скорости. Полезно для PLA, вредно для ABS." +"Если эта опция включена, вентилятор никогда не будет отключаться и будет работать " +"хотя бы на минимальной скорости. Полезно для PLA, вредно для ABS." -#: src/libslic3r/PrintConfig.cpp:617 +#: src/libslic3r/PrintConfig.cpp:634 msgid "Enable fan if layer print time is below" msgstr "Включить обдув, если время печати слоя менее" -#: src/libslic3r/PrintConfig.cpp:618 +#: src/libslic3r/PrintConfig.cpp:635 msgid "" -"If layer print time is estimated below this number of seconds, fan will be " -"enabled and its speed will be calculated by interpolating the minimum and " -"maximum speeds." +"If layer print time is estimated below this number of seconds, fan will be enabled " +"and its speed will be calculated by interpolating the minimum and maximum speeds." msgstr "" -"Если время печати слоя оценивается ниже этого количества секунд, будет " -"включён вентилятор, и его скорость будет рассчитываться путём интерполяции " -"минимальных и максимальных скоростей." +"Если время печати слоя оценивается ниже этого количества секунд, будет включён " +"вентилятор, и его скорость будет рассчитываться путём интерполяции минимальных и " +"максимальных скоростей." -#: src/libslic3r/PrintConfig.cpp:620 src/libslic3r/PrintConfig.cpp:1876 +#: src/libslic3r/PrintConfig.cpp:637 src/libslic3r/PrintConfig.cpp:1908 msgid "approximate seconds" msgstr "приблизительно секунд" -#: src/libslic3r/PrintConfig.cpp:627 +#: src/libslic3r/PrintConfig.cpp:644 msgid "Color" msgstr "Цвет" -#: src/libslic3r/PrintConfig.cpp:633 +#: src/libslic3r/PrintConfig.cpp:650 msgid "Filament notes" msgstr "Примечание о прутке" -#: src/libslic3r/PrintConfig.cpp:634 +#: src/libslic3r/PrintConfig.cpp:651 msgid "You can put your notes regarding the filament here." -msgstr "Здесь вы можете написать свои примечания для прутка." +msgstr "Здесь вы можете написать свои примечания относительно прутка." -#: src/libslic3r/PrintConfig.cpp:642 src/libslic3r/PrintConfig.cpp:1427 +#: src/libslic3r/PrintConfig.cpp:659 src/libslic3r/PrintConfig.cpp:1455 msgid "Max volumetric speed" -msgstr "Макс. объёмная скорость" +msgstr "Максимальная объёмная скорость" -#: src/libslic3r/PrintConfig.cpp:643 +#: src/libslic3r/PrintConfig.cpp:660 msgid "" -"Maximum volumetric speed allowed for this filament. Limits the maximum " -"volumetric speed of a print to the minimum of print and filament volumetric " -"speed. Set to zero for no limit." +"Maximum volumetric speed allowed for this filament. Limits the maximum volumetric " +"speed of a print to the minimum of print and filament volumetric speed. Set to zero " +"for no limit." msgstr "" -"Максимальная объёмная скорость подачи, разрешённая для этого прутка. " -"Ограничивает максимальную объёмную скорость печати до минимальной для этого " -"принтера и прутка. Установите 0, чтобы убрать ограничения." +"Максимальная объёмная скорость подачи (объёмный расход), разрешённая для этого " +"прутка. Ограничивает максимальную объёмную скорость печати до минимальной " +"для этого принтера и прутка. Установите 0, чтобы убрать ограничения." -#: src/libslic3r/PrintConfig.cpp:652 +#: src/libslic3r/PrintConfig.cpp:669 msgid "Loading speed" msgstr "Скорость загрузки" -#: src/libslic3r/PrintConfig.cpp:653 +#: src/libslic3r/PrintConfig.cpp:670 msgid "Speed used for loading the filament on the wipe tower." -msgstr "Скорость загрузки прутка на башню очистки." +msgstr "Скорость загрузки прутка при печати черновой башни." -#: src/libslic3r/PrintConfig.cpp:660 +#: src/libslic3r/PrintConfig.cpp:677 msgid "Loading speed at the start" msgstr "Начальная скорость загрузки" -#: src/libslic3r/PrintConfig.cpp:661 +#: src/libslic3r/PrintConfig.cpp:678 msgid "Speed used at the very beginning of loading phase." -msgstr "Скорость, используемая на очень ранней стадии загрузки." +msgstr "Скорость в начальной фазе загрузки прутка." -#: src/libslic3r/PrintConfig.cpp:668 +#: src/libslic3r/PrintConfig.cpp:685 msgid "Unloading speed" msgstr "Скорость выгрузки" -#: src/libslic3r/PrintConfig.cpp:669 +#: src/libslic3r/PrintConfig.cpp:686 msgid "" -"Speed used for unloading the filament on the wipe tower (does not affect " -"initial part of unloading just after ramming)." +"Speed used for unloading the filament on the wipe tower (does not affect initial " +"part of unloading just after ramming)." msgstr "" -"Скорость выгрузки прутка на башню очистки (не влияет на начальную фазу " -"выгрузки сразу после рэмминга)." +"Скорость выгрузки прутка на черновую башню. (не влияет на начальную фазу выгрузки " +"сразу после рэмминга)." -#: src/libslic3r/PrintConfig.cpp:677 +#: src/libslic3r/PrintConfig.cpp:694 msgid "Unloading speed at the start" msgstr "Начальная скорость выгрузки" -#: src/libslic3r/PrintConfig.cpp:678 -msgid "" -"Speed used for unloading the tip of the filament immediately after ramming." +#: src/libslic3r/PrintConfig.cpp:695 +msgid "Speed used for unloading the tip of the filament immediately after ramming." msgstr "Скорость выгрузки кончика прутка сразу после рэмминга." -#: src/libslic3r/PrintConfig.cpp:685 +#: src/libslic3r/PrintConfig.cpp:702 msgid "Delay after unloading" msgstr "Задержка после выгрузки" -#: src/libslic3r/PrintConfig.cpp:686 +#: src/libslic3r/PrintConfig.cpp:703 msgid "" -"Time to wait after the filament is unloaded. May help to get reliable " -"toolchanges with flexible materials that may need more time to shrink to " -"original dimensions." +"Time to wait after the filament is unloaded. May help to get reliable toolchanges " +"with flexible materials that may need more time to shrink to original dimensions." msgstr "" -"Время ожидания после выгрузки прутка. Это может помочь вам легко сменить " -"сопло при печати гибкими материалами, которым требуется больше времени, " -"чтобы вернуться к своим первоначальным размерам." +"Время ожидания после выгрузки прутка. Это может помочь вам легко сменить сопло при " +"печати гибкими материалами, которым требуется больше времени, чтобы вернуться к " +"своим первоначальным размерам." -#: src/libslic3r/PrintConfig.cpp:695 +#: src/libslic3r/PrintConfig.cpp:712 msgid "Number of cooling moves" msgstr "Количество охлаждающих движений" -#: src/libslic3r/PrintConfig.cpp:696 +#: src/libslic3r/PrintConfig.cpp:713 msgid "" -"Filament is cooled by being moved back and forth in the cooling tubes. " -"Specify desired number of these moves." +"Filament is cooled by being moved back and forth in the cooling tubes. Specify " +"desired number of these moves." msgstr "" "Пруток охлаждается в охлаждающих трубках путём перемещения назад и вперёд. " "Укажите желаемое количество таких движений." -#: src/libslic3r/PrintConfig.cpp:704 +#: src/libslic3r/PrintConfig.cpp:721 msgid "Speed of the first cooling move" msgstr "Скорость первого охлаждающего движения" -#: src/libslic3r/PrintConfig.cpp:705 +#: src/libslic3r/PrintConfig.cpp:722 msgid "Cooling moves are gradually accelerating beginning at this speed." msgstr "Охлаждающие движения постепенно ускоряются, начиная с этой скорости." -#: src/libslic3r/PrintConfig.cpp:712 +#: src/libslic3r/PrintConfig.cpp:729 msgid "Minimal purge on wipe tower" -msgstr "Минимальная длина очистки на башне" +msgstr "Мин. объём сброса на черновой башне" -#: src/libslic3r/PrintConfig.cpp:713 +#: src/libslic3r/PrintConfig.cpp:730 msgid "" -"After a tool change, the exact position of the newly loaded filament inside " -"the nozzle may not be known, and the filament pressure is likely not yet " -"stable. Before purging the print head into an infill or a sacrificial " -"object, Slic3r will always prime this amount of material into the wipe tower " -"to produce successive infill or sacrificial object extrusions reliably." +"After a tool change, the exact position of the newly loaded filament inside the " +"nozzle may not be known, and the filament pressure is likely not yet stable. Before " +"purging the print head into an infill or a sacrificial object, Slic3r will always " +"prime this amount of material into the wipe tower to produce successive infill or " +"sacrificial object extrusions reliably." msgstr "" +"После смены инструмента, точное положение вновь загруженного прутка внутри него может " +"быть неизвестно, и давление прутка, вероятно, ещё не стабильно. Перед тем, как " +"очистить печатающую головку в заполнение или в \"жертвенную\" модель, PrusaSlicer " +"всегда будет выдавливать это количество материала на черновую башню, чтобы " +"обеспечить надёжную печать заполнения или \"жертвенной\" модели." -#: src/libslic3r/PrintConfig.cpp:717 +#: src/libslic3r/PrintConfig.cpp:734 msgid "mm³" msgstr "мм³" -#: src/libslic3r/PrintConfig.cpp:723 +#: src/libslic3r/PrintConfig.cpp:740 msgid "Speed of the last cooling move" msgstr "Скорость последнего охлаждающего движения" -#: src/libslic3r/PrintConfig.cpp:724 +#: src/libslic3r/PrintConfig.cpp:741 msgid "Cooling moves are gradually accelerating towards this speed." msgstr "Охлаждающие движения постепенно ускоряют до этой скорости." -#: src/libslic3r/PrintConfig.cpp:731 +#: src/libslic3r/PrintConfig.cpp:748 msgid "Filament load time" -msgstr "Время загрузки прутка" +msgstr "Время загрузки пластика" -#: src/libslic3r/PrintConfig.cpp:732 +#: src/libslic3r/PrintConfig.cpp:749 msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." +"filament during a tool change (when executing the T code). This time is added to " +"the total print time by the G-code time estimator." msgstr "" +"Время за которое прошивка принтера (или Multi Material Unit 2.0) выгружает " +"пруток во время смены инструмента (при выполнении кода Т). Это время добавляется " +"к общему времени печати с помощью алгоритма оценки времени выполнения G-" +"кода." -#: src/libslic3r/PrintConfig.cpp:739 +#: src/libslic3r/PrintConfig.cpp:756 msgid "Ramming parameters" msgstr "Параметры рэмминга" -#: src/libslic3r/PrintConfig.cpp:740 +#: src/libslic3r/PrintConfig.cpp:757 msgid "" -"This string is edited by RammingDialog and contains ramming specific " -"parameters." +"This string is edited by RammingDialog and contains ramming specific parameters." msgstr "" "Эта строка редактируется диалоговым окном рэмминга и содержит его конкретные " "параметры." -#: src/libslic3r/PrintConfig.cpp:746 +#: src/libslic3r/PrintConfig.cpp:763 msgid "Filament unload time" -msgstr "Время выгрузки прутка" +msgstr "Время выгрузки пластика" -#: src/libslic3r/PrintConfig.cpp:747 +#: src/libslic3r/PrintConfig.cpp:764 msgid "" -"Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " -"filament during a tool change (when executing the T code). This time is " -"added to the total print time by the G-code time estimator." +"Time for the printer firmware (or the Multi Material Unit 2.0) to unload a filament " +"during a tool change (when executing the T code). This time is added to the total " +"print time by the G-code time estimator." msgstr "" +"Время за которое прошивка принтера (или Multi Material Unit 2.0) выгружает " +"пруток во время смены инструмента (при выполнении кода Т). Это время " +"добавляется к общему времени печати с помощью алгоритма оценки времени выполнения G-" +"кода." -#: src/libslic3r/PrintConfig.cpp:755 +#: src/libslic3r/PrintConfig.cpp:772 msgid "" -"Enter your filament diameter here. Good precision is required, so use a " -"caliper and do multiple measurements along the filament, then compute the " -"average." +"Enter your filament diameter here. Good precision is required, so use a caliper and " +"do multiple measurements along the filament, then compute the average." msgstr "" -"Здесь задаётся диаметр используемого прутка. Требуется хорошая точность, " -"поэтому используйте штангенциркуль, чтобы сделать несколько измерений вдоль " -"прутка и вычислить среднее значение." +"Здесь задаётся диаметр прутка. Требуется хорошая точность, поэтому " +"используйте штангенциркуль, чтобы сделать несколько измерений вдоль прутка и " +"вычислить среднее значение." -#: src/libslic3r/PrintConfig.cpp:762 src/libslic3r/PrintConfig.cpp:2699 -#: src/libslic3r/PrintConfig.cpp:2700 +#: src/libslic3r/PrintConfig.cpp:779 src/libslic3r/PrintConfig.cpp:2731 +#: src/libslic3r/PrintConfig.cpp:2732 msgid "Density" msgstr "Плотность" -#: src/libslic3r/PrintConfig.cpp:763 +#: src/libslic3r/PrintConfig.cpp:780 msgid "" -"Enter your filament density here. This is only for statistical information. " -"A decent way is to weigh a known length of filament and compute the ratio of " -"the length to volume. Better is to calculate the volume directly through " -"displacement." +"Enter your filament density here. This is only for statistical information. A " +"decent way is to weigh a known length of filament and compute the ratio of the " +"length to volume. Better is to calculate the volume directly through displacement." msgstr "" -"Введите здесь плотность используемого прутка. Это необходимо только для " -"статистической информации. Хорошим методом является взвешивание куска прутка " -"известной длины и вычисление отношения длины к его объёму. Объём же лучше " +"Введите здесь плотность (г/см3) используемого марериала прутка. Это необходимо " +"только для статистической информации. Хорошим методом является взвешивание кусочка " +"прутка известной длины и вычисление отношения длины к его объёму. Объём же лучше " "вычислять непосредственно путём вытеснения жидкости." -#: src/libslic3r/PrintConfig.cpp:766 +#: src/libslic3r/PrintConfig.cpp:783 msgid "g/cm³" msgstr "г/см³" -#: src/libslic3r/PrintConfig.cpp:771 +#: src/libslic3r/PrintConfig.cpp:788 msgid "Filament type" msgstr "Тип прутка" -#: src/libslic3r/PrintConfig.cpp:772 +#: src/libslic3r/PrintConfig.cpp:789 msgid "The filament material type for use in custom G-codes." -msgstr "" +msgstr "Тип прутка для использования в пользовательских G-кодах." -#: src/libslic3r/PrintConfig.cpp:799 +#: src/libslic3r/PrintConfig.cpp:816 msgid "Soluble material" msgstr "Растворимый материал" -#: src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:817 msgid "Soluble material is most likely used for a soluble support." msgstr "Растворимый материал, чаше всего используют для растворимой поддержки." -#: src/libslic3r/PrintConfig.cpp:806 +#: src/libslic3r/PrintConfig.cpp:823 msgid "" -"Enter your filament cost per kg here. This is only for statistical " -"information." +"Enter your filament cost per kg here. This is only for statistical information." msgstr "" "Введите стоимость прутка за 1 кг. Это необходимо только для статистической " "информации." -#: src/libslic3r/PrintConfig.cpp:807 +#: src/libslic3r/PrintConfig.cpp:824 msgid "money/kg" -msgstr "денег/кг" +msgstr "цена/кг" -#: src/libslic3r/PrintConfig.cpp:812 +#: src/libslic3r/PrintConfig.cpp:829 msgid "Spool weight" -msgstr "Вес катушки" +msgstr "Вес пустой катушки" -#: src/libslic3r/PrintConfig.cpp:813 +#: src/libslic3r/PrintConfig.cpp:830 msgid "" "Enter weight of the empty filament spool. One may weigh a partially consumed " -"filament spool before printing and one may compare the measured weight with " -"the calculated weight of the filament with the spool to find out whether the " -"amount of filament on the spool is sufficient to finish the print." +"filament spool before printing and one may compare the measured weight with the " +"calculated weight of the filament with the spool to find out whether the amount of " +"filament on the spool is sufficient to finish the print." msgstr "" +"Введите вес пустой катушки. Чтобы выяснить, хватит ли прутка на катушке для завершения печати, " +"можно перед началом печати взвесить частично израсходованную катушку с прутком и сравнить этот " +"вес с весом прутка (с катушкой), рассчитанным в процессе нарезки модели." -#: src/libslic3r/PrintConfig.cpp:817 +#: src/libslic3r/PrintConfig.cpp:834 msgid "g" msgstr "г" -#: src/libslic3r/PrintConfig.cpp:826 src/libslic3r/PrintConfig.cpp:2783 +#: src/libslic3r/PrintConfig.cpp:843 src/libslic3r/PrintConfig.cpp:2815 msgid "(Unknown)" msgstr "(Неизвестно)" -#: src/libslic3r/PrintConfig.cpp:830 +#: src/libslic3r/PrintConfig.cpp:847 msgid "Fill angle" msgstr "Угол печати заполнения" -#: src/libslic3r/PrintConfig.cpp:832 +#: src/libslic3r/PrintConfig.cpp:849 msgid "" -"Default base angle for infill orientation. Cross-hatching will be applied to " -"this. Bridges will be infilled using the best direction Slic3r can detect, " -"so this setting does not affect them." +"Default base angle for infill orientation. Cross-hatching will be applied to this. " +"Bridges will be infilled using the best direction Slic3r can detect, so this " +"setting does not affect them." msgstr "" "Базовый угол для ориентации шаблона заполнения. Для этого будет применяться " -"штриховка крест-накрест. Для мостов будет использоваться лучший тип " -"заполнения, так что этот параметр не влияет на них." +"штриховка крест-накрест. Для мостов будет использоваться лучший тип заполнения, так " +"что этот параметр не влияет на них." -#: src/libslic3r/PrintConfig.cpp:844 +#: src/libslic3r/PrintConfig.cpp:861 msgid "Fill density" msgstr "Плотность заполнения" -#: src/libslic3r/PrintConfig.cpp:846 +#: src/libslic3r/PrintConfig.cpp:863 msgid "Density of internal infill, expressed in the range 0% - 100%." msgstr "" "Плотность внутреннего заполнения, выраженная в диапазоне 0% - 100%. Чем выше " -"процент заполнения, тем крепче получается объект, но печатается она при этом " +"процент заполнения, тем крепче получается модель, но печатается она при этом " "гораздо дольше." -#: src/libslic3r/PrintConfig.cpp:881 +#: src/libslic3r/PrintConfig.cpp:898 msgid "Fill pattern" msgstr "Шаблон заполнения" -#: src/libslic3r/PrintConfig.cpp:883 +#: src/libslic3r/PrintConfig.cpp:900 msgid "Fill pattern for general low-density infill." -msgstr "Задаёт рисунок, используемый для уменьшения плотности заполнения." +msgstr "Задаёт то каким рисунком будет напечатано заполнение." -#: src/libslic3r/PrintConfig.cpp:903 +#: src/libslic3r/PrintConfig.cpp:920 msgid "Grid" msgstr "Сетка" -#: src/libslic3r/PrintConfig.cpp:904 +#: src/libslic3r/PrintConfig.cpp:921 msgid "Triangles" msgstr "Треугольники" -#: src/libslic3r/PrintConfig.cpp:905 +#: src/libslic3r/PrintConfig.cpp:922 msgid "Stars" msgstr "Звезды" -#: src/libslic3r/PrintConfig.cpp:906 +#: src/libslic3r/PrintConfig.cpp:923 msgid "Cubic" -msgstr "Куб" +msgstr "Кубический" -#: src/libslic3r/PrintConfig.cpp:907 +#: src/libslic3r/PrintConfig.cpp:924 msgid "Line" msgstr "Линии" -#: src/libslic3r/PrintConfig.cpp:909 src/libslic3r/PrintConfig.cpp:2206 +#: src/libslic3r/PrintConfig.cpp:926 src/libslic3r/PrintConfig.cpp:2238 msgid "Honeycomb" msgstr "Медовые соты" -#: src/libslic3r/PrintConfig.cpp:910 +#: src/libslic3r/PrintConfig.cpp:927 msgid "3D Honeycomb" msgstr "3D соты" -#: src/libslic3r/PrintConfig.cpp:911 +#: src/libslic3r/PrintConfig.cpp:928 msgid "Gyroid" -msgstr "Гироидное" +msgstr "Гироидный" -#: src/libslic3r/PrintConfig.cpp:915 +#: src/libslic3r/PrintConfig.cpp:932 msgid "Adaptive Cubic" -msgstr "" +msgstr "Динамический куб" -#: src/libslic3r/PrintConfig.cpp:916 +#: src/libslic3r/PrintConfig.cpp:933 msgid "Support Cubic" -msgstr "" +msgstr "Динам. куб. поддержка" -#: src/libslic3r/PrintConfig.cpp:920 src/libslic3r/PrintConfig.cpp:929 -#: src/libslic3r/PrintConfig.cpp:939 src/libslic3r/PrintConfig.cpp:973 +#: src/libslic3r/PrintConfig.cpp:937 src/libslic3r/PrintConfig.cpp:946 +#: src/libslic3r/PrintConfig.cpp:956 src/libslic3r/PrintConfig.cpp:990 msgid "First layer" msgstr "Первый слой" -#: src/libslic3r/PrintConfig.cpp:921 +#: src/libslic3r/PrintConfig.cpp:938 msgid "" -"This is the acceleration your printer will use for first layer. Set zero to " -"disable acceleration control for first layer." +"This is the acceleration your printer will use for first layer. Set zero to disable " +"acceleration control for first layer." msgstr "" -"Ускорение, которое принтер будет использовать для печати первого слоя. " -"Установить 0, чтобы отключить управление ускорением для первого слоя." +"Ускорение, которое принтер будет использовать для печати первого слоя. Установить " +"0, чтобы отключить управление ускорением для первого слоя." -#: src/libslic3r/PrintConfig.cpp:930 +#: src/libslic3r/PrintConfig.cpp:947 msgid "First layer bed temperature" -msgstr "Температура платформы на первом слое" +msgstr "Температура стола на первом слое" -#: src/libslic3r/PrintConfig.cpp:931 +#: src/libslic3r/PrintConfig.cpp:948 msgid "" -"Heated build plate temperature for the first layer. Set this to zero to " -"disable bed temperature control commands in the output." +"Heated build plate temperature for the first layer. Set this to zero to disable bed " +"temperature control commands in the output." msgstr "" -"Температура платформы для первого слоя. Установите 0, чтобы " -"отключить команды управления температурой платформы в результате." +"Температура подогреваемого стола для первого слоя. Установите 0, чтобы отключить " +"команды управления температурой стола на выходе." -#: src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:958 msgid "" -"Set this to a non-zero value to set a manual extrusion width for first " -"layer. You can use this to force fatter extrudates for better adhesion. If " -"expressed as percentage (for example 120%) it will be computed over first " -"layer height. If set to zero, it will use the default extrusion width." +"Set this to a non-zero value to set a manual extrusion width for first layer. You " +"can use this to force fatter extrudates for better adhesion. If expressed as " +"percentage (for example 120%) it will be computed over first layer height. If set " +"to zero, it will use the default extrusion width." msgstr "" "Установите значение отличное от 0, чтобы вручную задать ширину экструзии для " -"первого слоя. Вы можете поставить большее значение, чем по умолчанию, для " -"лучшей адгезии. Если задано в процентах, параметр вычисляется относительно " -"высоты слоя. При 0, будет использоваться \"Ширина экструзии по умолчанию\"." +"первого слоя. Вы можете поставить большее значение, чем по умолчанию, для лучшей " +"адгезии. Если задано в процентах, параметр вычисляется относительно высоты слоя. " +"При 0, будет использоваться \"Ширина экструзии по умолчанию\"." -#: src/libslic3r/PrintConfig.cpp:954 +#: src/libslic3r/PrintConfig.cpp:971 msgid "" -"When printing with very low layer heights, you might still want to print a " -"thicker bottom layer to improve adhesion and tolerance for non perfect build " -"plates. This can be expressed as an absolute value or as a percentage (for " -"example: 150%) over the default layer height." +"When printing with very low layer heights, you might still want to print a thicker " +"bottom layer to improve adhesion and tolerance for non perfect build plates. This " +"can be expressed as an absolute value or as a percentage (for example: 150%) over " +"the default layer height." msgstr "" -"При печати очень тонкими слоями на неидеально ровных платформах " -"для лучшего прилипания и удерживаемости может потребоваться печать нижнего" -" слоя шире обычного. " -"Эта величина задаётся абсолютным значением или в процентах (например, 150%) " -"от высоты слоя по умолчанию." +"Высота первого (самого нижнего) слоя. Как правило, задаётся немного больше \"Высота " +"слоя\" для лучшего закрепления (адгезии) модели на столе. Эта величина так же не " +"может быть больше диаметра сопла." -#: src/libslic3r/PrintConfig.cpp:963 +#: src/libslic3r/PrintConfig.cpp:980 msgid "First layer speed" msgstr "Скорость печати первого слоя" -#: src/libslic3r/PrintConfig.cpp:964 +#: src/libslic3r/PrintConfig.cpp:981 msgid "" -"If expressed as absolute value in mm/s, this speed will be applied to all " -"the print moves of the first layer, regardless of their type. If expressed " -"as a percentage (for example: 40%) it will scale the default speeds." +"If expressed as absolute value in mm/s, this speed will be applied to all the print " +"moves of the first layer, regardless of their type. If expressed as a percentage " +"(for example: 40%) it will scale the default speeds." msgstr "" -"Если задано абсолютным значением в мм/с, эта скорость будет применена ко " -"всем перемещениям при печати первого слоя, независимо от их типа. Если " -"задано в процентах (например, 40%), то параметр вычисляется относительно " -"скоростей по умолчанию." +"Если задано в абсолютном значении (мм/с), эта скорость будет применена ко всем " +"перемещениям при печати первого слоя, независимо от их типа. Если задано в " +"процентах, параметр вычисляется относительно выставленных скоростей по умолчанию. " +"Как правило, для лучшего прилипания модели к столу задаётся меньше остальных на " +"30-50%." -#: src/libslic3r/PrintConfig.cpp:974 +#: src/libslic3r/PrintConfig.cpp:991 msgid "First layer nozzle temperature" -msgstr "" +msgstr "Температура сопла на первом слое" -#: src/libslic3r/PrintConfig.cpp:975 +#: src/libslic3r/PrintConfig.cpp:992 msgid "" -"Nozzle temperature for the first layer. If you want to control temperature " -"manually during print, set this to zero to disable temperature control " -"commands in the output G-code." +"Nozzle temperature for the first layer. If you want to control temperature manually " +"during print, set this to zero to disable temperature control commands in the " +"output G-code." msgstr "" +"Температура сопла при печати первого слоя. Если хотите контролировать температуру " +"во время печати вручную, установите 0 для отключения команд управления температурой " +"в выходном G-коде." -#: src/libslic3r/PrintConfig.cpp:985 +#: src/libslic3r/PrintConfig.cpp:1000 +msgid "Full fan speed at layer" +msgstr "Полная скорость вентилятора на слое" + +#: src/libslic3r/PrintConfig.cpp:1001 msgid "" -"Speed for filling small gaps using short zigzag moves. Keep this reasonably " -"low to avoid too much shaking and resonance issues. Set zero to disable gaps " -"filling." +"Fan speed will be ramped up linearly from zero at layer \"disable_fan_first_layers" +"\" to maximum at layer \"full_fan_speed_layer\". \"full_fan_speed_layer\" will be " +"ignored if lower than \"disable_fan_first_layers\", in which case the fan will be " +"running at maximum allowed speed at layer \"disable_fan_first_layers\" + 1." msgstr "" -"Скорость заполнения небольших поверхностей (пробелов). Печать происходит " -"быстрыми зигзагообразными движениями, в результате, весь принтер может " -"прилично трясти. Задавайте низкие значения, чтобы избежать этого. Установите " -"0, чтобы отключить заполнение пробелов." +"Скорость вентилятора будет линейно увеличиваться от нуля на слое " +"«disable_fan_first_layers» до максимальной на слое «full_fan_speed_layer». " +"\"full_fan_speed_layer\" будет игнорироваться, если она ниже, чем " +"\"disable_fan_first_layers\", и в этом случае вентилятор будет работать с " +"максимально допустимой скоростью на слое \"disable_fan_first_layers\" +1." -#: src/libslic3r/PrintConfig.cpp:993 +#: src/libslic3r/PrintConfig.cpp:1013 +msgid "" +"Speed for filling small gaps using short zigzag moves. Keep this reasonably low to " +"avoid too much shaking and resonance issues. Set zero to disable gaps filling." +msgstr "" +"Скорость заполнения небольших поверхностей (пробелов). Печать происходит быстрыми " +"зигзагообразными движениями, в результате, весь принтер может прилично трясти. " +"Задавайте низкие значения, чтобы избежать этого. Установите 0, чтобы отключить " +"заполнение пробелов." + +#: src/libslic3r/PrintConfig.cpp:1021 msgid "Verbose G-code" msgstr "Подробный G-код" -#: src/libslic3r/PrintConfig.cpp:994 +#: src/libslic3r/PrintConfig.cpp:1022 msgid "" "Enable this to get a commented G-code file, with each line explained by a " -"descriptive text. If you print from SD card, the additional weight of the " -"file could make your firmware slow down." +"descriptive text. If you print from SD card, the additional weight of the file " +"could make your firmware slow down." msgstr "" -"Включите эту опцию, чтобы в каждой строке файла G-кода, присутствовал " -"комментарий с поясняющим текстом. При печати с SD-карты, скорость чтение " -"данных вашей прошивкой может снизится за счёт увеличения размера файла." +"Включите эту опцию, чтобы в каждой строке G-код файла, присутствовал комментарий с " +"поясняющим текстом. При печати с SD-карты, скорость чтение данных вашей прошивкой " +"может снизится за счёт увеличения размера файла." -#: src/libslic3r/PrintConfig.cpp:1001 +#: src/libslic3r/PrintConfig.cpp:1029 msgid "G-code flavor" -msgstr "Вариант G-кода" +msgstr "Тип G-кода" -#: src/libslic3r/PrintConfig.cpp:1002 +#: src/libslic3r/PrintConfig.cpp:1030 msgid "" "Some G/M-code commands, including temperature control and others, are not " -"universal. Set this option to your printer's firmware to get a compatible " -"output. The \"No extrusion\" flavor prevents PrusaSlicer from exporting any " -"extrusion value at all." +"universal. Set this option to your printer's firmware to get a compatible output. " +"The \"No extrusion\" flavor prevents PrusaSlicer from exporting any extrusion value " +"at all." msgstr "" -"Некоторые команды G/M-кода, такие как контроль температуры и другие, не " -"являются универсальными. Выберите тип прошивки вашего принтера, чтобы " -"получить совместимый результат. Вариант «Без экструзии» не позволяет " -"PrusaSlicer экспортировать какие-либо значения экструзии." +"Некоторые команды G/M-кода, такие как контроль температуры и другие, не являются " +"универсальными. Выберите тип прошивки вашего принтера, чтобы получить " +"совместимость. Параметр \"Без экструзии\" не позволяет PrusaSlicer экспортировать " +"какие-либо значения экструзии." -#: src/libslic3r/PrintConfig.cpp:1027 +#: src/libslic3r/PrintConfig.cpp:1055 msgid "No extrusion" msgstr "Без экструзии" -#: src/libslic3r/PrintConfig.cpp:1032 +#: src/libslic3r/PrintConfig.cpp:1060 msgid "Label objects" -msgstr "Помечать объекты" +msgstr "Название моделей" -#: src/libslic3r/PrintConfig.cpp:1033 +#: src/libslic3r/PrintConfig.cpp:1061 msgid "" -"Enable this to add comments into the G-Code labeling print moves with what " -"object they belong to, which is useful for the Octoprint CancelObject " -"plugin. This settings is NOT compatible with Single Extruder Multi Material " -"setup and Wipe into Object / Wipe into Infill." +"Enable this to add comments into the G-Code labeling print moves with what object " +"they belong to, which is useful for the Octoprint CancelObject plugin. This " +"settings is NOT compatible with Single Extruder Multi Material setup and Wipe into " +"Object / Wipe into Infill." msgstr "" -"Если включено, то в строки G-кода перемещения добавляются комментарии об " -"объекте, которому они принадлежат, что полезно для модуля Octoprint " -"CancelObject. Эта настройка НЕ совместима с Single Extruder Multi Material " -"setup и Wipe into Object / Wipe into Infill." +"Включите эту опцию, чтобы добавить комментарии в G-код с указанием того, к какой " +"модели он принадлежит, что полезно для плагина Octoprint CancelObject. Эта " +"настройка не совместима с настройкой \"Мультиматериальный одиночный экструдер\" и " +"\"Очистка в модель\" / \"Очистка в заполнение модели\"." -#: src/libslic3r/PrintConfig.cpp:1040 +#: src/libslic3r/PrintConfig.cpp:1068 msgid "High extruder current on filament swap" -msgstr "" +msgstr "Повышение тока экструдера при замене прутка" -#: src/libslic3r/PrintConfig.cpp:1041 +#: src/libslic3r/PrintConfig.cpp:1069 msgid "" -"It may be beneficial to increase the extruder motor current during the " -"filament exchange sequence to allow for rapid ramming feed rates and to " -"overcome resistance when loading a filament with an ugly shaped tip." +"It may be beneficial to increase the extruder motor current during the filament " +"exchange sequence to allow for rapid ramming feed rates and to overcome resistance " +"when loading a filament with an ugly shaped tip." msgstr "" +"Это может быть полезно для увеличения тока двигателя экструдера во время замены " +"прутка, чтобы быстро увеличить скорость подачи и преодолеть сопротивление " +"при загрузке прутка с плохой формой кончика." -#: src/libslic3r/PrintConfig.cpp:1049 +#: src/libslic3r/PrintConfig.cpp:1077 msgid "" -"This is the acceleration your printer will use for infill. Set zero to " -"disable acceleration control for infill." +"This is the acceleration your printer will use for infill. Set zero to disable " +"acceleration control for infill." msgstr "" -"Ускорение, которое принтер будет использовать для заполнения. Установить 0, " -"чтобы отключить управление ускорением для заполнения." +"Ускорение, которое принтер будет использовать для заполнения. Установить 0, чтобы " +"отключить управление ускорением для заполнения." -#: src/libslic3r/PrintConfig.cpp:1057 +#: src/libslic3r/PrintConfig.cpp:1085 msgid "Combine infill every" msgstr "Объединять заполнение каждые" -#: src/libslic3r/PrintConfig.cpp:1059 +#: src/libslic3r/PrintConfig.cpp:1087 msgid "" -"This feature allows to combine infill and speed up your print by extruding " -"thicker infill layers while preserving thin perimeters, thus accuracy." +"This feature allows to combine infill and speed up your print by extruding thicker " +"infill layers while preserving thin perimeters, thus accuracy." msgstr "" -"Для экономии времени печати есть возможность печатать заполнение не на " -"каждом слое, а скажем, на двух или трёх слоях сразу. По умолчанию стоит 1, " -"то есть печатать заполнение в каждом слое. Если, например, поставить 2, " -"тогда на два слоя периметра будет печататься один слой заполнения удвоенной " -"толщины. При этом сохраняются тонкие периметры, и тем самым точность." +"Для экономии времени печати есть возможность печатать заполнение не на каждом слое, " +"а скажем, на двух или трёх слоях сразу. По умолчанию стоит 1, то есть печатать " +"заполнение в каждом слое. Если, например, поставить 2, тогда на два слоя периметра " +"будет печататься один слой заполнения удвоенной толщины. При этом сохраняются " +"тонкие периметры, и тем самым точность." -#: src/libslic3r/PrintConfig.cpp:1062 +#: src/libslic3r/PrintConfig.cpp:1090 msgid "Combine infill every n layers" -msgstr "Объединять заполнение каждые" +msgstr "" +"Объединять заполнение каждые" -#: src/libslic3r/PrintConfig.cpp:1068 +#: src/libslic3r/PrintConfig.cpp:1096 msgid "Length of the infill anchor" -msgstr "" +msgstr "Длина привязок разреженного заполнения" -#: src/libslic3r/PrintConfig.cpp:1070 +#: src/libslic3r/PrintConfig.cpp:1098 msgid "" "Connect an infill line to an internal perimeter with a short segment of an " -"additional perimeter. If expressed as percentage (example: 15%) it is " -"calculated over infill extrusion width. PrusaSlicer tries to connect two " -"close infill lines to a short perimeter segment. If no such perimeter " -"segment shorter than infill_anchor_max is found, the infill line is " -"connected to a perimeter segment at just one side and the length of the " -"perimeter segment taken is limited to this parameter, but no longer than " -"anchor_length_max. Set this parameter to zero to disable anchoring " -"perimeters connected to a single infill line." +"additional perimeter. If expressed as percentage (example: 15%) it is calculated " +"over infill extrusion width. PrusaSlicer tries to connect two close infill lines to " +"a short perimeter segment. If no such perimeter segment shorter than " +"infill_anchor_max is found, the infill line is connected to a perimeter segment at " +"just one side and the length of the perimeter segment taken is limited to this " +"parameter, but no longer than anchor_length_max. Set this parameter to zero to " +"disable anchoring perimeters connected to a single infill line." msgstr "" +"Соединять линию заполнения с внутренним периметром с помощью короткого отрезка " +"дополнительного периметра (привязок). Если выражено в процентах (например 15%), то " +"она вычисляется по ширине экструзии заполнения. PrusaSlicer пытается соединить две " +"ближайшие линии заполнения с коротким отрезком периметра. Если не найдено такого " +"отрезка периметра короче \"Максимальной длины привязок разреженного заполнения" +"\" (anchor_length_max), то линия заполнения соединяется с отрезком периметра только " +"с одной стороны, а длина отрезка периметра ограничена этим параметром, но не больше " +"\"Максимальной длины привязок разреженного заполнения\" (anchor_length_max). " +"Установите этот параметр равным нулю для отключения привязок периметров, " +"соединённых к одной линии заполнения." -#: src/libslic3r/PrintConfig.cpp:1085 +#: src/libslic3r/PrintConfig.cpp:1113 msgid "0 (no open anchors)" -msgstr "" +msgstr "0 (нет открытых привязок)" -#: src/libslic3r/PrintConfig.cpp:1090 src/libslic3r/PrintConfig.cpp:1112 +#: src/libslic3r/PrintConfig.cpp:1118 src/libslic3r/PrintConfig.cpp:1140 msgid "1000 (unlimited)" -msgstr "" +msgstr "1000 (неограниченно)" -#: src/libslic3r/PrintConfig.cpp:1095 +#: src/libslic3r/PrintConfig.cpp:1123 msgid "Maximum length of the infill anchor" -msgstr "" +msgstr "Максимальная длина привязок разреженного заполнения" -#: src/libslic3r/PrintConfig.cpp:1097 +#: src/libslic3r/PrintConfig.cpp:1125 msgid "" "Connect an infill line to an internal perimeter with a short segment of an " -"additional perimeter. If expressed as percentage (example: 15%) it is " -"calculated over infill extrusion width. PrusaSlicer tries to connect two " -"close infill lines to a short perimeter segment. If no such perimeter " -"segment shorter than this parameter is found, the infill line is connected " -"to a perimeter segment at just one side and the length of the perimeter " -"segment taken is limited to infill_anchor, but no longer than this " -"parameter. Set this parameter to zero to disable anchoring." +"additional perimeter. If expressed as percentage (example: 15%) it is calculated " +"over infill extrusion width. PrusaSlicer tries to connect two close infill lines to " +"a short perimeter segment. If no such perimeter segment shorter than this parameter " +"is found, the infill line is connected to a perimeter segment at just one side and " +"the length of the perimeter segment taken is limited to infill_anchor, but no " +"longer than this parameter. Set this parameter to zero to disable anchoring." msgstr "" +"Соединять линию заполнения с внутренним периметром с помощью короткого отрезка " +"дополнительного периметра (привязок). Если выражено в процентах (например 15%), то " +"она вычисляется по ширине экструзии заполнения. PrusaSlicer пытается соединить две " +"ближайшие линии заполнения с коротким отрезком периметра. Если не найдено такого " +"отрезка периметра короче этого параметра, линия заполнения соединяется с отрезком " +"периметра только с одной стороны, а длина отрезка периметра ограничена \"Длиной " +"привязок разреженного заполнения\" (infill_anchor), но не больше этого параметра. " +"Установите этот параметр равным нулю для отключения привязок." -#: src/libslic3r/PrintConfig.cpp:1107 +#: src/libslic3r/PrintConfig.cpp:1135 msgid "0 (not anchored)" -msgstr "" +msgstr "0 (без привязок)" -#: src/libslic3r/PrintConfig.cpp:1117 +#: src/libslic3r/PrintConfig.cpp:1145 msgid "Infill extruder" msgstr "Экструдер заполнения" -#: src/libslic3r/PrintConfig.cpp:1119 +#: src/libslic3r/PrintConfig.cpp:1147 msgid "The extruder to use when printing infill." msgstr "Номер экструдера, которым печатается заполнение." -#: src/libslic3r/PrintConfig.cpp:1127 +#: src/libslic3r/PrintConfig.cpp:1155 msgid "" -"Set this to a non-zero value to set a manual extrusion width for infill. If " -"left zero, default extrusion width will be used if set, otherwise 1.125 x " -"nozzle diameter will be used. You may want to use fatter extrudates to speed " -"up the infill and make your parts stronger. If expressed as percentage (for " -"example 90%) it will be computed over layer height." +"Set this to a non-zero value to set a manual extrusion width for infill. If left " +"zero, default extrusion width will be used if set, otherwise 1.125 x nozzle " +"diameter will be used. You may want to use fatter extrudates to speed up the infill " +"and make your parts stronger. If expressed as percentage (for example 90%) it will " +"be computed over layer height." msgstr "" "Установите значение отличное от 0, чтобы вручную задать ширину экструзии для " -"заполнения. Если оставить 0, будет использоваться \"Ширина экструзии по " -"умолчанию\" - если она задана, в противном случае будет использоваться 1,125 " -"x диаметра сопла. Вы можете использовать сопла большего диаметра, чтобы " -"ускорить заполнение и сделать ваши детали прочнее. Если задано в процентах, " -"параметр вычисляется относительно высоты слоя." +"заполнения. Если оставить 0, будет использоваться \"Ширина экструзии по умолчанию\" " +"- если она задана, в противном случае будет использоваться 1,125 x диаметра сопла. " +"Вы можете использовать сопла большего диаметра, чтобы ускорить заполнение и сделать " +"ваши детали прочнее. Если задано в процентах, параметр вычисляется относительно " +"высоты слоя." -#: src/libslic3r/PrintConfig.cpp:1137 +#: src/libslic3r/PrintConfig.cpp:1165 msgid "Infill before perimeters" msgstr "Сначала печатать заполнение" -#: src/libslic3r/PrintConfig.cpp:1138 +#: src/libslic3r/PrintConfig.cpp:1166 msgid "" -"This option will switch the print order of perimeters and infill, making the " -"latter first." +"This option will switch the print order of perimeters and infill, making the latter " +"first." msgstr "" "Изменяет порядок печати слоёв. Обычно сначала печатается периметр, а потом " -"заполнение. Включив этот параметр, будет сначала печатаете заполнение, а " -"потом периметр. Имеет смысл, если периметр печатается в один слой." +"заполнение. Включив этот параметр, сначала будет печататься заполнение, а потом " +"периметр. Имеет смысл, если периметр печатается в один слой." -#: src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1171 msgid "Only infill where needed" msgstr "Заполнение только там, где нужно" -#: src/libslic3r/PrintConfig.cpp:1145 +#: src/libslic3r/PrintConfig.cpp:1173 msgid "" -"This option will limit infill to the areas actually needed for supporting " -"ceilings (it will act as internal support material). If enabled, slows down " -"the G-code generation due to the multiple checks involved." +"This option will limit infill to the areas actually needed for supporting ceilings " +"(it will act as internal support material). If enabled, slows down the G-code " +"generation due to the multiple checks involved." msgstr "" -"Slic3r проанализирует модель и выберет где именно необходимо заполнение для " -"того, чтобы поддержать внутренние потолки и свесы. Полезно для уменьшения " -"времени и материалов, но параметр очень влияет на прочность модели, поэтому " -"пользоваться надо с осторожностью. Если включено, замедляет генерацию G-кода " -"из-за многочисленных расчётов." +"PrusaSlicer проанализирует модель и выберет где именно необходимо заполнение для " +"того, чтобы поддержать внутренние потолки и свесы. Полезно для уменьшения времени и " +"материалов, но параметр очень влияет на прочность модели, поэтому пользоваться надо " +"с осторожностью. Если включено, замедляет генерацию G-кода из-за многочисленных " +"расчётов." -#: src/libslic3r/PrintConfig.cpp:1152 +#: src/libslic3r/PrintConfig.cpp:1180 msgid "Infill/perimeters overlap" -msgstr "Перекрытие заполнения с линиями периметра" +msgstr "Перекрытие линий заполнения с линиями периметра" -#: src/libslic3r/PrintConfig.cpp:1154 +#: src/libslic3r/PrintConfig.cpp:1182 msgid "" -"This setting applies an additional overlap between infill and perimeters for " -"better bonding. Theoretically this shouldn't be needed, but backlash might " -"cause gaps. If expressed as percentage (example: 15%) it is calculated over " -"perimeter extrusion width." +"This setting applies an additional overlap between infill and perimeters for better " +"bonding. Theoretically this shouldn't be needed, but backlash might cause gaps. If " +"expressed as percentage (example: 15%) it is calculated over perimeter extrusion " +"width." msgstr "" -"Параметр указывает на сколько миллиметров или процентов печать заполнения " -"будет перекрывать периметры для лучшего соединения. Теоретически надобности " -"в этом нет, но люфты при движении могут вызывать пробелы при печати. Если " -"задано в процентах, параметр вычисляется относительно ширины экструзии " -"периметра." +"Параметр указывает на сколько миллиметров или процентов печать заполнения будет " +"перекрывать периметры для лучшего соединения. Теоретически надобности в этом нет, " +"но люфты при движении могут вызывать пробелы при печати. Если задано в процентах, " +"параметр вычисляется относительно ширины экструзии периметра." -#: src/libslic3r/PrintConfig.cpp:1165 +#: src/libslic3r/PrintConfig.cpp:1193 msgid "Speed for printing the internal fill. Set to zero for auto." msgstr "" "Скорость печати внутреннего заполнения. Если установлено 0, то слайсер " "автоматически настраивает этот параметр." -#: src/libslic3r/PrintConfig.cpp:1173 +#: src/libslic3r/PrintConfig.cpp:1201 msgid "Inherits profile" msgstr "Наследует профиль" -#: src/libslic3r/PrintConfig.cpp:1174 +#: src/libslic3r/PrintConfig.cpp:1202 msgid "Name of the profile, from which this profile inherits." msgstr "Имя профиля, от которого наследуется данный профиль." -#: src/libslic3r/PrintConfig.cpp:1187 +#: src/libslic3r/PrintConfig.cpp:1215 msgid "Interface shells" msgstr "Связующие оболочки" -#: src/libslic3r/PrintConfig.cpp:1188 +#: src/libslic3r/PrintConfig.cpp:1216 msgid "" -"Force the generation of solid shells between adjacent materials/volumes. " -"Useful for multi-extruder prints with translucent materials or manual " -"soluble support material." +"Force the generation of solid shells between adjacent materials/volumes. Useful for " +"multi-extruder prints with translucent materials or manual soluble support material." msgstr "" -"Принудительное создание замкнутых (сплошных) оболочек между смежными " -"материалами/объёмами. Полезно для многоэкструдерных принтеров при печати " -"полупрозрачными материалами или растворимыми поддержками. Помогает избежать " -"диффузию материалов." +"Принудительное создание замкнутых (сплошных) оболочек между смежными материалами/" +"объёмами. Полезно для многоэкструдерных принтеров при печати полупрозрачными " +"материалами или растворимой поддержкой. Помогает избежать диффузию материалов." -#: src/libslic3r/PrintConfig.cpp:1196 +#: src/libslic3r/PrintConfig.cpp:1224 msgid "Enable ironing" -msgstr "Включить разглаживание" +msgstr "Вкл. разглаживание" -#: src/libslic3r/PrintConfig.cpp:1197 -msgid "" -"Enable ironing of the top layers with the hot print head for smooth surface" +#: src/libslic3r/PrintConfig.cpp:1225 +msgid "Enable ironing of the top layers with the hot print head for smooth surface" msgstr "" +"Включение разглаживания верхних слоёв с помощью горячего сопла для получения " +"гладкой поверхности." -#: src/libslic3r/PrintConfig.cpp:1203 src/libslic3r/PrintConfig.cpp:1205 +#: src/libslic3r/PrintConfig.cpp:1231 src/libslic3r/PrintConfig.cpp:1233 msgid "Ironing Type" msgstr "Тип разглаживания" -#: src/libslic3r/PrintConfig.cpp:1210 +#: src/libslic3r/PrintConfig.cpp:1238 msgid "All top surfaces" -msgstr "" +msgstr "Все верхние поверх." -#: src/libslic3r/PrintConfig.cpp:1211 +#: src/libslic3r/PrintConfig.cpp:1239 msgid "Topmost surface only" -msgstr "" +msgstr "Самые верхние поверх." -#: src/libslic3r/PrintConfig.cpp:1212 +#: src/libslic3r/PrintConfig.cpp:1240 msgid "All solid surfaces" -msgstr "" +msgstr "Все сплошные поверх." -#: src/libslic3r/PrintConfig.cpp:1217 +#: src/libslic3r/PrintConfig.cpp:1245 msgid "Flow rate" -msgstr "Скорость потока" +msgstr "Поток" -#: src/libslic3r/PrintConfig.cpp:1219 +#: src/libslic3r/PrintConfig.cpp:1247 msgid "Percent of a flow rate relative to object's normal layer height." -msgstr "" +msgstr "Процент потока разглаживания относительно нормальной высоты слоя модели." -#: src/libslic3r/PrintConfig.cpp:1227 +#: src/libslic3r/PrintConfig.cpp:1255 msgid "Spacing between ironing passes" -msgstr "Расстояние между линиями поддержки" - -#: src/libslic3r/PrintConfig.cpp:1229 -msgid "Distance between ironing lines" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:1246 -msgid "" -"This custom code is inserted at every layer change, right after the Z move " -"and before the extruder moves to the first layer point. Note that you can " -"use placeholder variables for all Slic3r settings as well as [layer_num] and " -"[layer_z]." -msgstr "" -"Этот пользовательский код вставляется при каждой смене слоя, сразу после " -"движения оси Z и до того, как экструдер переместиться в точку первого слоя. " -"Обратите внимание, что вы можете использовать шаблонные переменные для всех " -"параметров Slic3r, в том числе [layer_num] и [layer_z]." +msgstr "Расстояние между линиями разглаживания" #: src/libslic3r/PrintConfig.cpp:1257 -msgid "Supports remaining times" -msgstr "" +msgid "Distance between ironing lines" +msgstr "Расстояние между линиями разглаживания." -#: src/libslic3r/PrintConfig.cpp:1258 +#: src/libslic3r/PrintConfig.cpp:1274 msgid "" -"Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute " -"intervals into the G-code to let the firmware show accurate remaining time. " -"As of now only the Prusa i3 MK3 firmware recognizes M73. Also the i3 MK3 " -"firmware supports M73 Qxx Sxx for the silent mode." +"This custom code is inserted at every layer change, right after the Z move and " +"before the extruder moves to the first layer point. Note that you can use " +"placeholder variables for all Slic3r settings as well as [layer_num] and [layer_z]." msgstr "" +"Этот пользовательский код вставляется при каждой смене слоя, сразу после движения " +"оси Z и до того, как экструдер переместиться в точку первого слоя. Обратите " +"внимание, что вы можете использовать шаблонные переменные для всех параметров " +"PrusaSlicer в том числе [layer_num] и [layer_z]." -#: src/libslic3r/PrintConfig.cpp:1266 +#: src/libslic3r/PrintConfig.cpp:1285 +msgid "Supports remaining times" +msgstr "Поддержка точного времени печати" + +#: src/libslic3r/PrintConfig.cpp:1286 +msgid "" +"Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute intervals into " +"the G-code to let the firmware show accurate remaining time. As of now only the " +"Prusa i3 MK3 firmware recognizes M73. Also the i3 MK3 firmware supports M73 Qxx Sxx " +"for the silent mode." +msgstr "" +"Добавляет команду М73 P[процентов напечатано в нормальном режиме] R[оставшееся " +"время в секундах в нормальном режиме] с интервалом в 1 минуту в G-код, чтобы " +"прошивка отображала оставшееся время печати. На данный момент только прошивка Prusa " +"i3 MK3 распознает команду M73. Также прошивка i3 MK3 поддерживает команду M73 Qxx " +"Sxx для тихого режима печати." + +#: src/libslic3r/PrintConfig.cpp:1294 msgid "Supports stealth mode" msgstr "Поддержка тихого режима" -#: src/libslic3r/PrintConfig.cpp:1267 +#: src/libslic3r/PrintConfig.cpp:1295 msgid "The firmware supports stealth mode" -msgstr "" +msgstr "Прошивка должна поддерживать тихий режим" -#: src/libslic3r/PrintConfig.cpp:1272 +#: src/libslic3r/PrintConfig.cpp:1300 msgid "How to apply limits" -msgstr "Как применять ограничения" +msgstr "Как применять ограничения принтера" -#: src/libslic3r/PrintConfig.cpp:1273 +#: src/libslic3r/PrintConfig.cpp:1301 msgid "Purpose of Machine Limits" -msgstr "" +msgstr "Назначение ограничений принтера" -#: src/libslic3r/PrintConfig.cpp:1275 +#: src/libslic3r/PrintConfig.cpp:1303 msgid "How to apply the Machine Limits" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:1280 -msgid "Emit to G-code" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:1281 -msgid "Use for time estimate" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:1282 -msgid "Ignore" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:1305 -msgid "Maximum feedrate X" -msgstr "Макс. скорость подачи X" - -#: src/libslic3r/PrintConfig.cpp:1306 -msgid "Maximum feedrate Y" -msgstr "Макс. скорость подачи Y" - -#: src/libslic3r/PrintConfig.cpp:1307 -msgid "Maximum feedrate Z" -msgstr "Макс. скорость подачи Z" +msgstr "Как применять ограничения принтера" #: src/libslic3r/PrintConfig.cpp:1308 +msgid "Emit to G-code" +msgstr "Отправлять в G-код" + +#: src/libslic3r/PrintConfig.cpp:1309 +msgid "Use for time estimate" +msgstr "Использовать для оценки времени" + +#: src/libslic3r/PrintConfig.cpp:1310 +msgid "Ignore" +msgstr "Игнорировать" + +#: src/libslic3r/PrintConfig.cpp:1333 +msgid "Maximum feedrate X" +msgstr "Максимальная скорость перемещения по X" + +#: src/libslic3r/PrintConfig.cpp:1334 +msgid "Maximum feedrate Y" +msgstr "Максимальная скорость перемещения по Y" + +#: src/libslic3r/PrintConfig.cpp:1335 +msgid "Maximum feedrate Z" +msgstr "Максимальная скорость перемещения по Z" + +#: src/libslic3r/PrintConfig.cpp:1336 msgid "Maximum feedrate E" -msgstr "Макс. скорость подачи E" - -#: src/libslic3r/PrintConfig.cpp:1311 -msgid "Maximum feedrate of the X axis" -msgstr "Максимальная скорость подачи по оси X" - -#: src/libslic3r/PrintConfig.cpp:1312 -msgid "Maximum feedrate of the Y axis" -msgstr "Максимальная скорость подачи по оси Y" - -#: src/libslic3r/PrintConfig.cpp:1313 -msgid "Maximum feedrate of the Z axis" -msgstr "Максимальная скорость подачи по оси Z" - -#: src/libslic3r/PrintConfig.cpp:1314 -msgid "Maximum feedrate of the E axis" -msgstr "Максимальная скорость подачи по оси E" - -#: src/libslic3r/PrintConfig.cpp:1322 -msgid "Maximum acceleration X" -msgstr "Макс. ускорение X" - -#: src/libslic3r/PrintConfig.cpp:1323 -msgid "Maximum acceleration Y" -msgstr "Макс. ускорение Y" - -#: src/libslic3r/PrintConfig.cpp:1324 -msgid "Maximum acceleration Z" -msgstr "Макс. ускорение Z" - -#: src/libslic3r/PrintConfig.cpp:1325 -msgid "Maximum acceleration E" -msgstr "Макс. ускорение E" - -#: src/libslic3r/PrintConfig.cpp:1328 -msgid "Maximum acceleration of the X axis" -msgstr "Максимальное ускорение по оси X" - -#: src/libslic3r/PrintConfig.cpp:1329 -msgid "Maximum acceleration of the Y axis" -msgstr "Максимальное ускорение по оси Y" - -#: src/libslic3r/PrintConfig.cpp:1330 -msgid "Maximum acceleration of the Z axis" -msgstr "Максимальное ускорение по оси Z" - -#: src/libslic3r/PrintConfig.cpp:1331 -msgid "Maximum acceleration of the E axis" -msgstr "Максимальное ускорение по оси E" +msgstr "Максимальная скорость подачи у экструдера (E)" #: src/libslic3r/PrintConfig.cpp:1339 -msgid "Maximum jerk X" -msgstr "Максимальный рывок X" +msgid "Maximum feedrate of the X axis" +msgstr "Максимальная скорость перемещения по оси X" #: src/libslic3r/PrintConfig.cpp:1340 -msgid "Maximum jerk Y" -msgstr "Максимальный рывок Y" +msgid "Maximum feedrate of the Y axis" +msgstr "Максимальная скорость перемещения по оси Y" #: src/libslic3r/PrintConfig.cpp:1341 -msgid "Maximum jerk Z" -msgstr "Максимальный рывок Z" +msgid "Maximum feedrate of the Z axis" +msgstr "Максимальная скорость перемещения по оси Z" #: src/libslic3r/PrintConfig.cpp:1342 -msgid "Maximum jerk E" -msgstr "Максимальный рывок E" +msgid "Maximum feedrate of the E axis" +msgstr "Максимальная скорость подачи у экструдера (E)" -#: src/libslic3r/PrintConfig.cpp:1345 +#: src/libslic3r/PrintConfig.cpp:1350 +msgid "Maximum acceleration X" +msgstr "Максимальное ускорение по X" + +#: src/libslic3r/PrintConfig.cpp:1351 +msgid "Maximum acceleration Y" +msgstr "Максимальное ускорение по Y" + +#: src/libslic3r/PrintConfig.cpp:1352 +msgid "Maximum acceleration Z" +msgstr "Максимальное ускорение по Z" + +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Maximum acceleration E" +msgstr "Максимальное ускорение подачи у экструдера (E)" + +#: src/libslic3r/PrintConfig.cpp:1356 +msgid "Maximum acceleration of the X axis" +msgstr "Максимальное ускорение при перемещении по оси X" + +#: src/libslic3r/PrintConfig.cpp:1357 +msgid "Maximum acceleration of the Y axis" +msgstr "Максимальное ускорение при перемещении по оси Y" + +#: src/libslic3r/PrintConfig.cpp:1358 +msgid "Maximum acceleration of the Z axis" +msgstr "Максимальное ускорение при перемещении по оси Z" + +#: src/libslic3r/PrintConfig.cpp:1359 +msgid "Maximum acceleration of the E axis" +msgstr "Максимальное ускорение подачи у экструдера (E)" + +#: src/libslic3r/PrintConfig.cpp:1367 +msgid "Maximum jerk X" +msgstr "Максимальный рывок по X" + +#: src/libslic3r/PrintConfig.cpp:1368 +msgid "Maximum jerk Y" +msgstr "Максимальный рывок по Y" + +#: src/libslic3r/PrintConfig.cpp:1369 +msgid "Maximum jerk Z" +msgstr "Максимальный рывок по Z" + +#: src/libslic3r/PrintConfig.cpp:1370 +msgid "Maximum jerk E" +msgstr "Максимальный рывок у экструдера (E)" + +#: src/libslic3r/PrintConfig.cpp:1373 msgid "Maximum jerk of the X axis" msgstr "Максимальный рывок по оси X" -#: src/libslic3r/PrintConfig.cpp:1346 +#: src/libslic3r/PrintConfig.cpp:1374 msgid "Maximum jerk of the Y axis" msgstr "Максимальный рывок по оси Y" -#: src/libslic3r/PrintConfig.cpp:1347 +#: src/libslic3r/PrintConfig.cpp:1375 msgid "Maximum jerk of the Z axis" msgstr "Максимальный рывок по оси Z" -#: src/libslic3r/PrintConfig.cpp:1348 +#: src/libslic3r/PrintConfig.cpp:1376 msgid "Maximum jerk of the E axis" -msgstr "Максимальный рывок по оси E" +msgstr "Максимальный рывок у экструдера (E)" -#: src/libslic3r/PrintConfig.cpp:1358 +#: src/libslic3r/PrintConfig.cpp:1386 msgid "Minimum feedrate when extruding" -msgstr "Минимальная скорость подачи при экструзии" - -#: src/libslic3r/PrintConfig.cpp:1360 -msgid "Minimum feedrate when extruding (M205 S)" -msgstr "Минимальная скорость подачи при экструзии (M205 S)" - -#: src/libslic3r/PrintConfig.cpp:1368 -msgid "Minimum travel feedrate" -msgstr "Скорость подачи при минимальных перемещениях" - -#: src/libslic3r/PrintConfig.cpp:1370 -msgid "Minimum travel feedrate (M205 T)" -msgstr "Скорость подачи при минимальных перемещениях (M205 T)" - -#: src/libslic3r/PrintConfig.cpp:1378 -msgid "Maximum acceleration when extruding" -msgstr "Макс. ускорение при выдавливании" - -#: src/libslic3r/PrintConfig.cpp:1380 -msgid "Maximum acceleration when extruding (M204 S)" -msgstr "Максимальное ускорение при выдавливании (M204 S)" +msgstr "Минимальная скорость перемещения при печати" #: src/libslic3r/PrintConfig.cpp:1388 -msgid "Maximum acceleration when retracting" -msgstr "Макс. ускорение при ретракте" +msgid "Minimum feedrate when extruding (M205 S)" +msgstr "Минимальная скорость перемещения при печати (M205 S)" -#: src/libslic3r/PrintConfig.cpp:1390 -msgid "Maximum acceleration when retracting (M204 T)" -msgstr "Максимальное ускорение при ретракте (M204 T)" - -#: src/libslic3r/PrintConfig.cpp:1397 src/libslic3r/PrintConfig.cpp:1406 -msgid "Max" -msgstr "Максимум" +#: src/libslic3r/PrintConfig.cpp:1396 +msgid "Minimum travel feedrate" +msgstr "Минимальная скорость перемещения без печати" #: src/libslic3r/PrintConfig.cpp:1398 +msgid "Minimum travel feedrate (M205 T)" +msgstr "Минимальная скорость перемещения без печати (M205 T)" + +#: src/libslic3r/PrintConfig.cpp:1406 +msgid "Maximum acceleration when extruding" +msgstr "Максимальное ускорение при печати" + +#: src/libslic3r/PrintConfig.cpp:1408 +msgid "Maximum acceleration when extruding (M204 S)" +msgstr "Максимальное ускорение при печати (M204 S)" + +#: src/libslic3r/PrintConfig.cpp:1416 +msgid "Maximum acceleration when retracting" +msgstr "Максимальное ускорение ретракта" + +#: src/libslic3r/PrintConfig.cpp:1418 +msgid "Maximum acceleration when retracting (M204 T)" +msgstr "Максимальное ускорение экструдера при ретракте (M204 T)" + +#: src/libslic3r/PrintConfig.cpp:1425 src/libslic3r/PrintConfig.cpp:1434 +msgid "Max" +msgstr "Макс." + +#: src/libslic3r/PrintConfig.cpp:1426 msgid "This setting represents the maximum speed of your fan." msgstr "Этот параметр регулирует максимальную скорость вращения вентилятора." -#: src/libslic3r/PrintConfig.cpp:1407 +#: src/libslic3r/PrintConfig.cpp:1435 +#, c-format msgid "" -"This is the highest printable layer height for this extruder, used to cap " -"the variable layer height and support layer height. Maximum recommended " -"layer height is 75% of the extrusion width to achieve reasonable inter-layer " -"adhesion. If set to 0, layer height is limited to 75% of the nozzle diameter." +"This is the highest printable layer height for this extruder, used to cap the " +"variable layer height and support layer height. Maximum recommended layer height is " +"75% of the extrusion width to achieve reasonable inter-layer adhesion. If set to 0, " +"layer height is limited to 75% of the nozzle diameter." msgstr "" -"Это наибольшая высота печатного слоя для этого экструдера, которая " -"используется для ограничения функции \"Переменная высота слоёв\" и высоты " -"поддерживающего слоя. Для достижения хорошей межслойной адгезии, " -"максимальная рекомендуемая высота слоя составляет 75% ширины экструзии. Если " -"установлено 0, высота слоя ограничивается 75% диаметра сопла." +"Это наибольшая высота печатного слоя для этого экструдера, которая также " +"используется для ограничения функции \"Переменная высота слоёв\" и высоты слоя " +"поддержки. Для достижения хорошей межслойной адгезии, максимальная рекомендуемая " +"высота слоя составляет 75% ширины экструзии. Если установлено 0, высота слоя " +"ограничивается 75% диаметра сопла." -#: src/libslic3r/PrintConfig.cpp:1417 +#: src/libslic3r/PrintConfig.cpp:1445 msgid "Max print speed" msgstr "Максимальная скорость печати" -#: src/libslic3r/PrintConfig.cpp:1418 +#: src/libslic3r/PrintConfig.cpp:1446 msgid "" -"When setting other speed settings to 0 Slic3r will autocalculate the optimal " -"speed in order to keep constant extruder pressure. This experimental setting " -"is used to set the highest print speed you want to allow." +"When setting other speed settings to 0 Slic3r will autocalculate the optimal speed " +"in order to keep constant extruder pressure. This experimental setting is used to " +"set the highest print speed you want to allow." msgstr "" -"При установке других параметров скорости в 0, Slic3r автоматически " -"рассчитает оптимальную скорость для поддержания постоянного давления в " -"экструдере. Этот экспериментальный параметр используется для задания " -"желаемой вами максимальной скорости печати." +"При установке других параметров скорости в 0, PrusaSlicer автоматически рассчитает " +"оптимальную скорость для поддержания постоянного давления в экструдере. Этот " +"экспериментальный параметр используется для задания желаемой вами максимальной " +"скорости печати." -#: src/libslic3r/PrintConfig.cpp:1428 +#: src/libslic3r/PrintConfig.cpp:1456 msgid "" -"This experimental setting is used to set the maximum volumetric speed your " -"extruder supports." +"This experimental setting is used to set the maximum volumetric speed your extruder " +"supports." msgstr "" -"Экспериментальная опция используется для установки максимальной объёмной " -"скорости подачи (выдавливания) материала, которую поддерживает ваш " -"экструдер. 0 - без ограничений." +"Экспериментальная опция используется для установки максимальной объёмной скорости " +"подачи (выдавливания) материала, которую поддерживает ваш экструдер. 0 - без " +"ограничений." -#: src/libslic3r/PrintConfig.cpp:1437 +#: src/libslic3r/PrintConfig.cpp:1465 msgid "Max volumetric slope positive" msgstr "Макс. положительное объёмное нависание" -#: src/libslic3r/PrintConfig.cpp:1438 src/libslic3r/PrintConfig.cpp:1449 +#: src/libslic3r/PrintConfig.cpp:1466 src/libslic3r/PrintConfig.cpp:1477 msgid "" -"This experimental setting is used to limit the speed of change in extrusion " -"rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate " -"of 1.8 mm³/s (0.45mm extrusion width, 0.2mm extrusion height, feedrate 20 mm/" -"s) to 5.4 mm³/s (feedrate 60 mm/s) will take at least 2 seconds." +"This experimental setting is used to limit the speed of change in extrusion rate. A " +"value of 1.8 mm³/s² ensures, that a change from the extrusion rate of 1.8 mm³/s " +"(0.45mm extrusion width, 0.2mm extrusion height, feedrate 20 mm/s) to 5.4 mm³/s " +"(feedrate 60 mm/s) will take at least 2 seconds." msgstr "" -"Этот экспериментальный параметр используется для ограничения скорости " -"изменения экструзии. Значение 1.8 мм³/с² гарантирует, что изменение скорости " -"экструзии с 1.8 мм³/с (ширина экструзии 0.45 мм, высота экструзии 0.2 мм, " -"скорость подачи 20 мм/с) до 5.4 мм³/с (скорость подачи 60 мм/с) займёт не " -"менее 2-х секунд." +"Этот экспериментальный параметр используется для ограничения скорости изменения " +"экструзии. Значение 1.8 мм³/с² гарантирует, что изменение скорости экструзии с 1.8 " +"мм³/с (ширина экструзии 0.45 мм, высота экструзии 0.2 мм, скорость подачи 20 мм/с) " +"до 5.4 мм³/с (скорость подачи 60 мм/с) займёт не менее 2-х секунд." -#: src/libslic3r/PrintConfig.cpp:1442 src/libslic3r/PrintConfig.cpp:1453 +#: src/libslic3r/PrintConfig.cpp:1470 src/libslic3r/PrintConfig.cpp:1481 msgid "mm³/s²" msgstr "мм³/с²" -#: src/libslic3r/PrintConfig.cpp:1448 +#: src/libslic3r/PrintConfig.cpp:1476 msgid "Max volumetric slope negative" msgstr "Макс. отрицательное объёмное нависание" -#: src/libslic3r/PrintConfig.cpp:1460 src/libslic3r/PrintConfig.cpp:1469 +#: src/libslic3r/PrintConfig.cpp:1488 src/libslic3r/PrintConfig.cpp:1497 msgid "Min" -msgstr "Минимум" +msgstr "Мин." -#: src/libslic3r/PrintConfig.cpp:1461 +#: src/libslic3r/PrintConfig.cpp:1489 msgid "This setting represents the minimum PWM your fan needs to work." msgstr "Этот параметр регулирует минимальную скорость вращения вентилятора." -#: src/libslic3r/PrintConfig.cpp:1470 +#: src/libslic3r/PrintConfig.cpp:1498 msgid "" "This is the lowest printable layer height for this extruder and limits the " -"resolution for variable layer height. Typical values are between 0.05 mm and " -"0.1 mm." +"resolution for variable layer height. Typical values are between 0.05 mm and 0.1 mm." msgstr "" -"Это наименьшая высота печатаемого слоя для данного экструдера и в то же " -"время нижний предел для функции \"Переменная высота слоёв\". Обычно это 0.05 " -"или 0.1 мм." +"Это наименьшая высота печатаемого слоя для данного экструдера и в то же время " +"нижний предел для функции \"Переменная высота слоёв\". Обычно это 0.05 или 0.1 мм." -#: src/libslic3r/PrintConfig.cpp:1478 +#: src/libslic3r/PrintConfig.cpp:1506 msgid "Min print speed" msgstr "Минимальная скорость печати" -#: src/libslic3r/PrintConfig.cpp:1479 +#: src/libslic3r/PrintConfig.cpp:1507 msgid "Slic3r will not scale speed down below this speed." msgstr "" -"Нижний предел того, как медленно слой может быть напечатан. Slic3 не будет " -"снижать скорость ниже этой." +"Нижний предел того, как медленно слой может быть напечатан. Slic3 не будет снижать " +"скорость ниже этой." -#: src/libslic3r/PrintConfig.cpp:1486 +#: src/libslic3r/PrintConfig.cpp:1514 msgid "Minimal filament extrusion length" msgstr "Минимальная длина экструзии" -#: src/libslic3r/PrintConfig.cpp:1487 +#: src/libslic3r/PrintConfig.cpp:1515 msgid "" -"Generate no less than the number of skirt loops required to consume the " -"specified amount of filament on the bottom layer. For multi-extruder " -"machines, this minimum applies to each extruder." +"Generate no less than the number of skirt loops required to consume the specified " +"amount of filament on the bottom layer. For multi-extruder machines, this minimum " +"applies to each extruder." msgstr "" -"Минимальное количество пластика, которое должен протолкнуть экструдер при " -"печати юбки в миллиметрах. Для принтеров с несколькими экструдерами этот " -"минимум относится к каждому экструдеру." +"Минимальное количество пластика, которое должен протолкнуть экструдер при печати " +"юбки в миллиметрах. Для принтеров с несколькими экструдерами этот минимум относится " +"к каждому экструдеру." -#: src/libslic3r/PrintConfig.cpp:1496 +#: src/libslic3r/PrintConfig.cpp:1524 msgid "Configuration notes" msgstr "Примечание конфигурации" -#: src/libslic3r/PrintConfig.cpp:1497 +#: src/libslic3r/PrintConfig.cpp:1525 msgid "" -"You can put here your personal notes. This text will be added to the G-code " -"header comments." +"You can put here your personal notes. This text will be added to the G-code header " +"comments." msgstr "" -"Здесь вы можете оставить свои замечания для текущего профиля. Этот текст " -"будет добавлен к комментариям в заголовок G-кода." +"Здесь вы можете оставить свои замечания для текущего профиля. Этот текст будет " +"добавлен к комментариям в заголовок G-кода." -#: src/libslic3r/PrintConfig.cpp:1507 -msgid "" -"This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" +#: src/libslic3r/PrintConfig.cpp:1535 +msgid "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" msgstr "Диаметр используемого сопла (например: 0.5, 0.35 и др.)" -#: src/libslic3r/PrintConfig.cpp:1512 +#: src/libslic3r/PrintConfig.cpp:1540 msgid "Host Type" -msgstr "Тип узла" +msgstr "Тип хоста" -#: src/libslic3r/PrintConfig.cpp:1513 +#: src/libslic3r/PrintConfig.cpp:1541 msgid "" -"Slic3r can upload G-code files to a printer host. This field must contain " -"the kind of the host." +"Slic3r can upload G-code files to a printer host. This field must contain the kind " +"of the host." msgstr "" -"Slic3r может загрузить файлы G-кода на узел печати. Это поле должно " -"содержать тип этого узла." +"PrusaSlicer может загружать G-код файлы на хост принтера. Это поле должно содержать " +"тип хоста." -#: src/libslic3r/PrintConfig.cpp:1530 +#: src/libslic3r/PrintConfig.cpp:1558 msgid "Only retract when crossing perimeters" msgstr "Ретракт только при пересечении периметров" -#: src/libslic3r/PrintConfig.cpp:1531 +#: src/libslic3r/PrintConfig.cpp:1559 msgid "" "Disables retraction when the travel path does not exceed the upper layer's " "perimeters (and thus any ooze will be probably invisible)." msgstr "" -"При включённом параметре процесс ретракта включается только тогда, когда " -"сопло выходит за внешний контур." +"При включённом параметре процесс ретракта включается только тогда, когда сопло " +"выходит за внешний контур." -#: src/libslic3r/PrintConfig.cpp:1538 +#: src/libslic3r/PrintConfig.cpp:1566 msgid "" -"This option will drop the temperature of the inactive extruders to prevent " -"oozing. It will enable a tall skirt automatically and move extruders outside " -"such skirt when changing temperatures." +"This option will drop the temperature of the inactive extruders to prevent oozing. " +"It will enable a tall skirt automatically and move extruders outside such skirt " +"when changing temperatures." msgstr "" "Этот параметр снижает температуру неактивных экструдеров для предотвращения " "просачивания расплавленного материала из сопла. Это автоматически активирует " "генерацию юбки и перемещает экструдеры на эту юбки при изменении температуры." -#: src/libslic3r/PrintConfig.cpp:1545 +#: src/libslic3r/PrintConfig.cpp:1573 msgid "Output filename format" msgstr "Формат выходного файла" -#: src/libslic3r/PrintConfig.cpp:1546 +#: src/libslic3r/PrintConfig.cpp:1574 msgid "" "You can use all configuration options as variables inside this template. For " -"example: [layer_height], [fill_density] etc. You can also use [timestamp], " -"[year], [month], [day], [hour], [minute], [second], [version], " -"[input_filename], [input_filename_base]." -msgstr "" -"Вы можете использовать все параметры в качестве переменных внутри этого " -"шаблона. Они будят добавлены к имени файла. Например: [layer_height], " -"[fill_density]. Так же вы можете использовать [timestamp], [year], [month], " -"[day], [hour], [minute], [second], [version], [input_filename], " +"example: [layer_height], [fill_density] etc. You can also use [timestamp], [year], " +"[month], [day], [hour], [minute], [second], [version], [input_filename], " "[input_filename_base]." +msgstr "" +"Вы можете использовать все параметры в качестве переменных внутри этого шаблона. " +"Они будят добавлены к имени файла. Например: [layer_height], [fill_density]. Так же " +"вы можете использовать [timestamp], [year], [month], [day], [hour], [minute], " +"[second], [version], [input_filename], [input_filename_base]." -#: src/libslic3r/PrintConfig.cpp:1555 +#: src/libslic3r/PrintConfig.cpp:1583 msgid "Detect bridging perimeters" msgstr "Определять нависающие периметры" -#: src/libslic3r/PrintConfig.cpp:1557 +#: src/libslic3r/PrintConfig.cpp:1585 msgid "" -"Experimental option to adjust flow for overhangs (bridge flow will be used), " -"to apply bridge speed to them and enable fan." +"Experimental option to adjust flow for overhangs (bridge flow will be used), to " +"apply bridge speed to them and enable fan." msgstr "" -"Экспериментальная опция. Если у объекта есть части имеющие свесы, программа " -"рассчитает возможность их печати без поддержки, при этом увеличит обдув " -"модели и выставит скорость печати, как при печати мостов." +"Экспериментальная опция. Если у модели есть части имеющие свесы, программа " +"рассчитает возможность их печати без поддержки, при этом увеличит обдув модели и " +"выставит скорость печати, как при печати мостов." -#: src/libslic3r/PrintConfig.cpp:1563 +#: src/libslic3r/PrintConfig.cpp:1591 msgid "Filament parking position" msgstr "Положение парковки прутка" -#: src/libslic3r/PrintConfig.cpp:1564 +#: src/libslic3r/PrintConfig.cpp:1592 msgid "" -"Distance of the extruder tip from the position where the filament is parked " -"when unloaded. This should match the value in printer firmware." +"Distance of the extruder tip from the position where the filament is parked when " +"unloaded. This should match the value in printer firmware." msgstr "" -"Расстояние от кончика экструдера до точки, где размещается пруток при " -"выгрузке. Расстояние должно совпадать со значением в прошивке принтера." +"Расстояние от кончика экструдера до точки, где размещается пруток при выгрузке. " +"Расстояние должно соответствовать значению в прошивке принтера." -#: src/libslic3r/PrintConfig.cpp:1572 +#: src/libslic3r/PrintConfig.cpp:1600 msgid "Extra loading distance" msgstr "Дополнительная длина загрузки" -#: src/libslic3r/PrintConfig.cpp:1573 +#: src/libslic3r/PrintConfig.cpp:1601 msgid "" -"When set to zero, the distance the filament is moved from parking position " -"during load is exactly the same as it was moved back during unload. When " -"positive, it is loaded further, if negative, the loading move is shorter " -"than unloading." +"When set to zero, the distance the filament is moved from parking position during " +"load is exactly the same as it was moved back during unload. When positive, it is " +"loaded further, if negative, the loading move is shorter than unloading." msgstr "" -"Если установлено 0, то расстояние, которое проходит пруток при перемещении " -"из положения парковки во время загрузки, точно такое же, как и при выгрузке. " -"При положительном значении, она загружается дальше; при отрицательном, ход " -"загрузки короче (по сравнению с выгрузкой)." +"Если установлено 0, то расстояние, которое проходит пруток при перемещении из " +"положения парковки во время загрузки, точно такое же, как и при выгрузке. При " +"положительном значении, она загружается дальше; при отрицательном, ход загрузки " +"короче (по сравнению с выгрузкой)." -#: src/libslic3r/PrintConfig.cpp:1581 src/libslic3r/PrintConfig.cpp:1598 -#: src/libslic3r/PrintConfig.cpp:1611 src/libslic3r/PrintConfig.cpp:1621 +#: src/libslic3r/PrintConfig.cpp:1609 src/libslic3r/PrintConfig.cpp:1626 +#: src/libslic3r/PrintConfig.cpp:1639 src/libslic3r/PrintConfig.cpp:1649 msgid "Perimeters" msgstr "Периметры" -#: src/libslic3r/PrintConfig.cpp:1582 +#: src/libslic3r/PrintConfig.cpp:1610 msgid "" -"This is the acceleration your printer will use for perimeters. Set zero to " -"disable acceleration control for perimeters." +"This is the acceleration your printer will use for perimeters. Set zero to disable " +"acceleration control for perimeters." msgstr "" +"Это ускорение, которое ваш принтер будет использовать для печати периметров. " +"Установите ноль, чтобы отключить управление ускорением по периметру." -#: src/libslic3r/PrintConfig.cpp:1589 +#: src/libslic3r/PrintConfig.cpp:1617 msgid "Perimeter extruder" msgstr "Экструдер, печатающий внешние периметры" -#: src/libslic3r/PrintConfig.cpp:1591 -msgid "" -"The extruder to use when printing perimeters and brim. First extruder is 1." +#: src/libslic3r/PrintConfig.cpp:1619 +msgid "The extruder to use when printing perimeters and brim. First extruder is 1." msgstr "" -"Номер экструдера, которым печатаются периметры и кайма. Первый экструдер — 1." +"Номер экструдера, которым печатаются внешние периметры модели и кайма. Первый " +"экструдер - 1." -#: src/libslic3r/PrintConfig.cpp:1600 +#: src/libslic3r/PrintConfig.cpp:1628 msgid "" -"Set this to a non-zero value to set a manual extrusion width for perimeters. " -"You may want to use thinner extrudates to get more accurate surfaces. If " -"left zero, default extrusion width will be used if set, otherwise 1.125 x " -"nozzle diameter will be used. If expressed as percentage (for example 200%) " -"it will be computed over layer height." +"Set this to a non-zero value to set a manual extrusion width for perimeters. You " +"may want to use thinner extrudates to get more accurate surfaces. If left zero, " +"default extrusion width will be used if set, otherwise 1.125 x nozzle diameter will " +"be used. If expressed as percentage (for example 200%) it will be computed over " +"layer height." msgstr "" "Установите значение отличное от 0, чтобы вручную задать ширину экструзии для " -"периметров. Вы можете использовать более тонкие сопла, чтобы получить более " -"точных поверхностей. Если оставить 0, будет использоваться \"Ширина " -"экструзии по умолчанию\" - если она задана, в противном случае будет " -"использоваться 1,125 x диаметра сопла. Если задано в процентах, параметр " -"вычисляется относительно высоты слоя." +"периметров. Вы можете использовать более тонкие сопла, чтобы получить более точных " +"поверхностей. Если оставить 0, будет использоваться \"Ширина экструзии по умолчанию" +"\" - если она задана, в противном случае будет использоваться 1,125 x диаметра " +"сопла. Если задано в процентах, параметр вычисляется относительно высоты слоя." -#: src/libslic3r/PrintConfig.cpp:1613 -msgid "" -"Speed for perimeters (contours, aka vertical shells). Set to zero for auto." +#: src/libslic3r/PrintConfig.cpp:1641 +msgid "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." msgstr "" -"Скорость печати периметров (контуров, иначе вертикальных стенок). Установите " -"0 для автонастройки." +"Скорость печати периметров (контуров, иначе вертикальных стенок). Установите 0 для " +"автонастройки." -#: src/libslic3r/PrintConfig.cpp:1623 +#: src/libslic3r/PrintConfig.cpp:1651 msgid "" -"This option sets the number of perimeters to generate for each layer. Note " -"that Slic3r may increase this number automatically when it detects sloping " -"surfaces which benefit from a higher number of perimeters if the Extra " -"Perimeters option is enabled." +"This option sets the number of perimeters to generate for each layer. Note that " +"Slic3r may increase this number automatically when it detects sloping surfaces " +"which benefit from a higher number of perimeters if the Extra Perimeters option is " +"enabled." msgstr "" -"Количество слоёв контура объекта (или количество вертикальных слоёв стенки " -"объекта). Чем меньше число, тем меньше толщина стенки объекта, а значит, " -"объект будет более хрупкий. Обратите внимание, если включена опция " -"\"Дополнительные периметры при необходимости\", Slic3r может автоматически " -"увеличить это значение, если обнаружит наклонные поверхности." +"Количество слоёв контура модели (или количество вертикальных слоёв стенки модели). " +"Чем меньше число, тем меньше толщина стенки модели, а значит, модель будет более " +"хрупкая. Обратите внимание, если включена опция \"Дополнительные периметры при " +"необходимости\", PrusaSlicer может автоматически увеличить это значение, если " +"обнаружит наклонные поверхности." -#: src/libslic3r/PrintConfig.cpp:1627 +#: src/libslic3r/PrintConfig.cpp:1655 msgid "(minimum)" msgstr "(минимум)" -#: src/libslic3r/PrintConfig.cpp:1635 +#: src/libslic3r/PrintConfig.cpp:1663 msgid "" -"If you want to process the output G-code through custom scripts, just list " -"their absolute paths here. Separate multiple scripts with a semicolon. " -"Scripts will be passed the absolute path to the G-code file as the first " -"argument, and they can access the Slic3r config settings by reading " -"environment variables." +"If you want to process the output G-code through custom scripts, just list their " +"absolute paths here. Separate multiple scripts with a semicolon. Scripts will be " +"passed the absolute path to the G-code file as the first argument, and they can " +"access the Slic3r config settings by reading environment variables." msgstr "" -"Если вы хотите обработать выходной G-код с помощью пользовательских " -"скриптов, просто перечислите здесь абсолютные пути к ним. Разделяйте скрипты " -"точкой с запятой. Скриптам будет передан абсолютный путь к файлу G-кода в " -"качестве первого аргумента, и они смогут получить доступ к настройкам " -"конфигурации Slic3r, читая переменные окружения." +"Если вы хотите обработать выходной G-код с помощью пользовательских скриптов, " +"просто перечислите здесь абсолютные пути к ним. Разделяйте скрипты точкой с " +"запятой. Скриптам будет передан абсолютный путь к файлу G-кода в качестве первого " +"аргумента, и они смогут получить доступ к настройкам конфигурации PrusaSlicer, " +"читая переменные окружения." -#: src/libslic3r/PrintConfig.cpp:1647 +#: src/libslic3r/PrintConfig.cpp:1675 msgid "Printer type" msgstr "Тип принтера" -#: src/libslic3r/PrintConfig.cpp:1648 +#: src/libslic3r/PrintConfig.cpp:1676 msgid "Type of the printer." msgstr "Тип принтера." -#: src/libslic3r/PrintConfig.cpp:1653 +#: src/libslic3r/PrintConfig.cpp:1681 msgid "Printer notes" msgstr "Примечания к принтеру" -#: src/libslic3r/PrintConfig.cpp:1654 +#: src/libslic3r/PrintConfig.cpp:1682 msgid "You can put your notes regarding the printer here." msgstr "Здесь вы можете разместить свои заметки о принтере." -#: src/libslic3r/PrintConfig.cpp:1662 +#: src/libslic3r/PrintConfig.cpp:1690 msgid "Printer vendor" msgstr "Производитель принтера" -#: src/libslic3r/PrintConfig.cpp:1663 +#: src/libslic3r/PrintConfig.cpp:1691 msgid "Name of the printer vendor." msgstr "Название производителя принтера." -#: src/libslic3r/PrintConfig.cpp:1668 +#: src/libslic3r/PrintConfig.cpp:1696 msgid "Printer variant" msgstr "Модификация принтера" -#: src/libslic3r/PrintConfig.cpp:1669 +#: src/libslic3r/PrintConfig.cpp:1697 msgid "" "Name of the printer variant. For example, the printer variants may be " "differentiated by a nozzle diameter." msgstr "" -"Название модификации принтера. Например, это можно различать по диаметру " -"сопла." +"Название модификации принтера. Например, это можно различать по диаметру сопла." -#: src/libslic3r/PrintConfig.cpp:1682 +#: src/libslic3r/PrintConfig.cpp:1714 msgid "Raft layers" msgstr "Слоёв в подложке" -#: src/libslic3r/PrintConfig.cpp:1684 +#: src/libslic3r/PrintConfig.cpp:1716 msgid "" -"The object will be raised by this number of layers, and support material " -"will be generated under it." +"The object will be raised by this number of layers, and support material will be " +"generated under it." msgstr "" -"Параметр устанавливает высоту подложки в слоях. Ноль - отключает создание " -"подложки." +"Параметр устанавливает высоту подложки в слоях. Ноль - отключает создание подложки." -#: src/libslic3r/PrintConfig.cpp:1692 +#: src/libslic3r/PrintConfig.cpp:1724 msgid "Resolution" msgstr "Разрешение" -#: src/libslic3r/PrintConfig.cpp:1693 +#: src/libslic3r/PrintConfig.cpp:1725 msgid "" -"Minimum detail resolution, used to simplify the input file for speeding up " -"the slicing job and reducing memory usage. High-resolution models often " -"carry more detail than printers can render. Set to zero to disable any " -"simplification and use full resolution from input." +"Minimum detail resolution, used to simplify the input file for speeding up the " +"slicing job and reducing memory usage. High-resolution models often carry more " +"detail than printers can render. Set to zero to disable any simplification and use " +"full resolution from input." msgstr "" -"Минимальное разрешение детализации. Используется, чтобы упростить входной " -"файл для ускорения нарезки и уменьшения потребления оперативной памяти. " -"Модели с высоким разрешением часто больше детализированы, чем могут " -"отрисовать принтеры. Установите 0, чтобы отключить любое упрощение и " -"использовать полное разрешение из входного файла." +"Минимальное разрешение деталей модели. Используется, чтобы упростить входной файл " +"для ускорения нарезки и уменьшения потребления оперативной памяти. Модели с высоким " +"разрешением часто содержат больше деталей, чем принтеры могут выдать. Установите 0, " +"чтобы отключить любое упрощение и использовать полное разрешение для входного файла." -#: src/libslic3r/PrintConfig.cpp:1703 +#: src/libslic3r/PrintConfig.cpp:1735 msgid "Minimum travel after retraction" -msgstr "Мин. перемещение после ретракта" +msgstr "Минимальное расстояние перемещения для ретракта" -#: src/libslic3r/PrintConfig.cpp:1704 -msgid "" -"Retraction is not triggered when travel moves are shorter than this length." +#: src/libslic3r/PrintConfig.cpp:1736 +msgid "Retraction is not triggered when travel moves are shorter than this length." msgstr "" -"Ретракт не будет срабатывать, если расстояние между точками печати меньше " -"заданного в этом параметре." +"Ретракт не будет срабатывать, если расстояние между точками печати меньше заданного " +"значения." -#: src/libslic3r/PrintConfig.cpp:1710 +#: src/libslic3r/PrintConfig.cpp:1742 msgid "Retract amount before wipe" msgstr "Величина ретракта перед очисткой" -#: src/libslic3r/PrintConfig.cpp:1711 +#: src/libslic3r/PrintConfig.cpp:1743 msgid "" -"With bowden extruders, it may be wise to do some amount of quick retract " -"before doing the wipe movement." +"With bowden extruders, it may be wise to do some amount of quick retract before " +"doing the wipe movement." msgstr "" -"При использовании боуден-экструдеров, будет разумно сделать несколько " -"быстрых ретрактов перед тем, как совершить движение очистки." +"При использовании боуден-экструдеров, будет разумно сделать небольшое втягивание " +"прутка перед тем, как совершить движение очистки." -#: src/libslic3r/PrintConfig.cpp:1718 +#: src/libslic3r/PrintConfig.cpp:1750 msgid "Retract on layer change" msgstr "Ретракт при смене слоя" -#: src/libslic3r/PrintConfig.cpp:1719 +#: src/libslic3r/PrintConfig.cpp:1751 msgid "This flag enforces a retraction whenever a Z move is done." msgstr "Эта опция включает ретракт при переходе со слоя на слой." -#: src/libslic3r/PrintConfig.cpp:1724 src/libslic3r/PrintConfig.cpp:1732 +#: src/libslic3r/PrintConfig.cpp:1756 src/libslic3r/PrintConfig.cpp:1764 msgid "Length" msgstr "Длина" -#: src/libslic3r/PrintConfig.cpp:1725 +#: src/libslic3r/PrintConfig.cpp:1757 msgid "Retraction Length" msgstr "Длина ретракта" -#: src/libslic3r/PrintConfig.cpp:1726 +#: src/libslic3r/PrintConfig.cpp:1758 msgid "" -"When retraction is triggered, filament is pulled back by the specified " -"amount (the length is measured on raw filament, before it enters the " -"extruder)." +"When retraction is triggered, filament is pulled back by the specified amount (the " +"length is measured on raw filament, before it enters the extruder)." msgstr "" -"Когда срабатывает ретракт пруток втягивается назад на указанную величину " -"(длина измеряется по ненагретому прутку , то есть до попадания его в " -"экструдер)." +"Когда срабатывает ретракт, пруток втягивается назад на указанную величину " +"(длина измеряется по \"сырому\" прутку, то есть до попадания её в экструдер)." -#: src/libslic3r/PrintConfig.cpp:1728 src/libslic3r/PrintConfig.cpp:1737 +#: src/libslic3r/PrintConfig.cpp:1760 src/libslic3r/PrintConfig.cpp:1769 msgid "mm (zero to disable)" msgstr "мм (0 - отключено)" -#: src/libslic3r/PrintConfig.cpp:1733 +#: src/libslic3r/PrintConfig.cpp:1765 msgid "Retraction Length (Toolchange)" -msgstr "Длина ретракта (при смене сопла)" +msgstr "Длина ретракта (при смене инструмента)" -#: src/libslic3r/PrintConfig.cpp:1734 +#: src/libslic3r/PrintConfig.cpp:1766 msgid "" -"When retraction is triggered before changing tool, filament is pulled back " -"by the specified amount (the length is measured on raw filament, before it " -"enters the extruder)." +"When retraction is triggered before changing tool, filament is pulled back by the " +"specified amount (the length is measured on raw filament, before it enters the " +"extruder)." msgstr "" -"Когда срабатывает ретракт перед сменой инструмента, пруток втягивается назад " -"на указанную величину (длина измеряется по сырому прутку, то есть до " +"Когда срабатывает ретракт, перед сменой сопла, пруток втягивается назад " +"на указанную величину (длина измеряется по \"сырому\" прутку, то есть до " "попадания его в экструдер)." -#: src/libslic3r/PrintConfig.cpp:1742 +#: src/libslic3r/PrintConfig.cpp:1774 msgid "Lift Z" msgstr "Приподнимать сопло на" -#: src/libslic3r/PrintConfig.cpp:1743 +#: src/libslic3r/PrintConfig.cpp:1775 msgid "" -"If you set this to a positive value, Z is quickly raised every time a " -"retraction is triggered. When using multiple extruders, only the setting for " -"the first extruder will be considered." +"If you set this to a positive value, Z is quickly raised every time a retraction is " +"triggered. When using multiple extruders, only the setting for the first extruder " +"will be considered." msgstr "" -"Задаёт на сколько миллиметров вверх будет каждый раз приподниматься сопло, " -"когда срабатывает ретракт. При использовании нескольких экструдеров будет " -"учитывается настройки только первого экструдера." +"Задаёт на сколько миллиметров вверх будет каждый раз приподниматься сопло, когда " +"срабатывает ретракт. При использовании нескольких экструдеров будут учитываться " +"настройки только первого экструдера." -#: src/libslic3r/PrintConfig.cpp:1750 +#: src/libslic3r/PrintConfig.cpp:1782 msgid "Above Z" -msgstr "Выше Z" +msgstr "Выше" -#: src/libslic3r/PrintConfig.cpp:1751 +#: src/libslic3r/PrintConfig.cpp:1783 msgid "Only lift Z above" -msgstr "Приподнимать сопло только выше (после)" +msgstr "Приподнимать сопло только выше" -#: src/libslic3r/PrintConfig.cpp:1752 +#: src/libslic3r/PrintConfig.cpp:1784 msgid "" "If you set this to a positive value, Z lift will only take place above the " -"specified absolute Z. You can tune this setting for skipping lift on the " -"first layers." +"specified absolute Z. You can tune this setting for skipping lift on the first " +"layers." msgstr "" -"Если указать положительное значение, то подъём Z будет " -"выполнен только после превышения заданной здесь абсолютной высоты Z. " -"Таким образом можно отключить подъём сопла при печати на первых слоях." +"Если указать положительное значение, экструдер будет подыматься только выше (после) " +"заданной здесь высоты (высота считается от стола). Таким образом вы можете " +"отключить подъём сопла при печати на первых слоях (в начале печати)." -#: src/libslic3r/PrintConfig.cpp:1759 +#: src/libslic3r/PrintConfig.cpp:1791 msgid "Below Z" -msgstr "Ниже Z" +msgstr "Ниже" -#: src/libslic3r/PrintConfig.cpp:1760 +#: src/libslic3r/PrintConfig.cpp:1792 msgid "Only lift Z below" -msgstr "Приподнимать сопло только ниже (до)" +msgstr "Приподнимать сопло только ниже" -#: src/libslic3r/PrintConfig.cpp:1761 +#: src/libslic3r/PrintConfig.cpp:1793 msgid "" "If you set this to a positive value, Z lift will only take place below the " -"specified absolute Z. You can tune this setting for limiting lift to the " -"first layers." +"specified absolute Z. You can tune this setting for limiting lift to the first " +"layers." msgstr "" -"Если указать положительное значение, экструдер при перемещении будет " -"подыматься только до заданной здесь абсолютной высоты. " -"Таким образом можно ограничить подъём сопла при печати до первых слоёв." +"Если указать положительное значение, экструдер будет подыматься только ниже (до) " +"заданной здесь высоты (высота считается от стола). Таким образом вы можете " +"запретить подъём сопла выше установленной высоты." -#: src/libslic3r/PrintConfig.cpp:1769 src/libslic3r/PrintConfig.cpp:1777 +#: src/libslic3r/PrintConfig.cpp:1801 src/libslic3r/PrintConfig.cpp:1809 msgid "Extra length on restart" msgstr "Дополнительная длина подачи перед возобновлением печати" -#: src/libslic3r/PrintConfig.cpp:1770 +#: src/libslic3r/PrintConfig.cpp:1802 msgid "" -"When the retraction is compensated after the travel move, the extruder will " -"push this additional amount of filament. This setting is rarely needed." +"When the retraction is compensated after the travel move, the extruder will push " +"this additional amount of filament. This setting is rarely needed." msgstr "" -"Компенсация длины выдавливаемого пластика после перемещения экструдера, " -"после работы ретракта. После того как экструдер втянул пруток и переместился " -"в другое место печати, происходит обратная подача того же количества прутка " -"+ заданное тут значение. Для увеличения ставим положительное значение " -"(например 0.5 мм), для уменьшения - отрицательное. Этот параметр редко " -"необходим." +"Компенсация длины выдавливаемого пластика после перемещения экструдера, после " +"работы ретракта. После того как экструдер втянул пруток и переместился в другое место " +"печати, происходит обратная подача того же количества прутка + заданное тут значение. " +"Для увеличения ставим положительное значение (например 0.5 мм), для уменьшения - " +"отрицательное. Этот параметр редко необходим." -#: src/libslic3r/PrintConfig.cpp:1778 +#: src/libslic3r/PrintConfig.cpp:1810 msgid "" -"When the retraction is compensated after changing tool, the extruder will " -"push this additional amount of filament." +"When the retraction is compensated after changing tool, the extruder will push this " +"additional amount of filament." msgstr "" -"Компенсация длины выдавливаемого пластика перед возобновлением печати после " -"смены сопла." +"Компенсация длины выдавливаемого пластика перед возобновлением печати после смены " +"сопла." -#: src/libslic3r/PrintConfig.cpp:1785 src/libslic3r/PrintConfig.cpp:1786 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1818 msgid "Retraction Speed" msgstr "Скорость ретракта" -#: src/libslic3r/PrintConfig.cpp:1787 +#: src/libslic3r/PrintConfig.cpp:1819 msgid "The speed for retractions (it only applies to the extruder motor)." msgstr "" -"Скорость с которой происходит ретракт - втягивание прутка (относится только " -"к двигателю экструдера)." +"Скорость с которой происходит ретракт - втягивание прутка (относится только к " +"двигателю экструдера)." -#: src/libslic3r/PrintConfig.cpp:1793 src/libslic3r/PrintConfig.cpp:1794 +#: src/libslic3r/PrintConfig.cpp:1825 src/libslic3r/PrintConfig.cpp:1826 msgid "Deretraction Speed" msgstr "Скорость компенсирующего ретракта" -#: src/libslic3r/PrintConfig.cpp:1795 +#: src/libslic3r/PrintConfig.cpp:1827 msgid "" -"The speed for loading of a filament into extruder after retraction (it only " -"applies to the extruder motor). If left to zero, the retraction speed is " -"used." +"The speed for loading of a filament into extruder after retraction (it only applies " +"to the extruder motor). If left to zero, the retraction speed is used." msgstr "" -"Скорость загрузки прутка в экструдер после ретракта (применима только к " -"двигателю экструдера). Если оставить ноль, будет использоваться скорость " -"ретракта." +"Скорость загрузки прутка в экструдер после ретракта (применима только к двигателю " +"экструдера). Если оставить ноль, будет использоваться скорость ретракта." -#: src/libslic3r/PrintConfig.cpp:1802 +#: src/libslic3r/PrintConfig.cpp:1834 msgid "Seam position" msgstr "Позиция шва" -#: src/libslic3r/PrintConfig.cpp:1804 +#: src/libslic3r/PrintConfig.cpp:1836 msgid "Position of perimeters starting points." msgstr "" -"Этот параметр позволяет выбрать начальную точку каждого слоя в направлении " -"Z, и таким образом определяет, где будет шов объекта. Изменяя этот параметр " -"можно уменьшить видимость шва." +"Этот параметр позволяет выбрать начальную точку каждого слоя в направлении Z, и " +"таким образом определяет, где будет шов модели. Изменяя этот параметр можно " +"уменьшить видимость шва." -#: src/libslic3r/PrintConfig.cpp:1810 +#: src/libslic3r/PrintConfig.cpp:1842 msgid "Random" msgstr "Случайно" -#: src/libslic3r/PrintConfig.cpp:1811 +#: src/libslic3r/PrintConfig.cpp:1843 msgid "Nearest" msgstr "Ближайшая" -#: src/libslic3r/PrintConfig.cpp:1812 +#: src/libslic3r/PrintConfig.cpp:1844 msgid "Aligned" -msgstr "Выровнять" +msgstr "По краю" -#: src/libslic3r/PrintConfig.cpp:1820 +#: src/libslic3r/PrintConfig.cpp:1852 msgid "Direction" msgstr "Направление" -#: src/libslic3r/PrintConfig.cpp:1822 +#: src/libslic3r/PrintConfig.cpp:1854 msgid "Preferred direction of the seam" msgstr "Предпочтительное направление шва" -#: src/libslic3r/PrintConfig.cpp:1823 +#: src/libslic3r/PrintConfig.cpp:1855 msgid "Seam preferred direction" msgstr "Предпочтительное направление шва" -#: src/libslic3r/PrintConfig.cpp:1830 +#: src/libslic3r/PrintConfig.cpp:1862 msgid "Jitter" msgstr "Разброс шва" -#: src/libslic3r/PrintConfig.cpp:1832 +#: src/libslic3r/PrintConfig.cpp:1864 msgid "Seam preferred direction jitter" -msgstr "Предпочтительное направление разброса шва" +msgstr "Предпочтительное направление разброса шва (в градусах) " -#: src/libslic3r/PrintConfig.cpp:1833 +#: src/libslic3r/PrintConfig.cpp:1865 msgid "Preferred direction of the seam - jitter" msgstr "Предпочтительное направление разброса шва (в градусах) " -#: src/libslic3r/PrintConfig.cpp:1840 +#: src/libslic3r/PrintConfig.cpp:1872 msgid "Distance from object" -msgstr "Расстояние от объекта" +msgstr "Расстояние от юбки до модели" -#: src/libslic3r/PrintConfig.cpp:1841 +#: src/libslic3r/PrintConfig.cpp:1873 msgid "" -"Distance between skirt and object(s). Set this to zero to attach the skirt " -"to the object(s) and get a brim for better adhesion." +"Distance between skirt and object(s). Set this to zero to attach the skirt to the " +"object(s) and get a brim for better adhesion." msgstr "" -"Расстояние между юбкой и объектом. Укажите 0, чтобы прикрепить юбку к " -"объекту и получить кайму для лучшего прилипания." +"Задаёт на каком расстоянии от модели будет располагаться юбка. Установите 0, чтобы " +"прикрепить юбку к модели и получить кайму для лучшего прилипания." -#: src/libslic3r/PrintConfig.cpp:1848 +#: src/libslic3r/PrintConfig.cpp:1880 msgid "Skirt height" msgstr "Слоёв юбки" -#: src/libslic3r/PrintConfig.cpp:1849 +#: src/libslic3r/PrintConfig.cpp:1881 msgid "" -"Height of skirt expressed in layers. Set this to a tall value to use skirt " -"as a shield against drafts." +"Height of skirt expressed in layers. Set this to a tall value to use skirt as a " +"shield against drafts." msgstr "" "Высота юбки выраженная количеством слоёв. Установите высокое значение, чтобы " -"использовать юбку в качестве защиты от сквозняка." +"использовать юбку в качестве защиты от внешнего воздушного потока." -#: src/libslic3r/PrintConfig.cpp:1856 +#: src/libslic3r/PrintConfig.cpp:1888 msgid "Draft shield" -msgstr "Защита от сквозняка" +msgstr "Защитный кожух" -#: src/libslic3r/PrintConfig.cpp:1857 +#: src/libslic3r/PrintConfig.cpp:1889 msgid "" -"If enabled, the skirt will be as tall as a highest printed object. This is " -"useful to protect an ABS or ASA print from warping and detaching from print " -"bed due to wind draft." +"If enabled, the skirt will be as tall as a highest printed object. This is useful " +"to protect an ABS or ASA print from warping and detaching from print bed due to " +"wind draft." msgstr "" -"Если включено, то высота юбки будет равна самому высокому печатаемому" -" объекту. Это " -"полезно при печати ABS или ASA для защиты от скручивания и отрыва от" -" платформы, " -"возникающих от сквозняка." - -#: src/libslic3r/PrintConfig.cpp:1863 -msgid "Loops (minimum)" -msgstr "Петель (минимум)" - -#: src/libslic3r/PrintConfig.cpp:1864 -msgid "Skirt Loops" -msgstr "Кругов юбки" - -#: src/libslic3r/PrintConfig.cpp:1865 -msgid "" -"Number of loops for the skirt. If the Minimum Extrusion Length option is " -"set, the number of loops might be greater than the one configured here. Set " -"this to zero to disable skirt completely." -msgstr "" -"Количество юбок вокруг модели. Если задан параметр \"Минимальная длина " -"экструзии\", количество юбок может быть больше, чем задано здесь. Чтобы " -"полностью отключить юбку, установите 0." - -#: src/libslic3r/PrintConfig.cpp:1873 -msgid "Slow down if layer print time is below" -msgstr "Замедление при печати слоя менее" - -#: src/libslic3r/PrintConfig.cpp:1874 -msgid "" -"If layer print time is estimated below this number of seconds, print moves " -"speed will be scaled down to extend duration to this value." -msgstr "" -"Если время печати слоя оценивается ниже этого количества секунд, скорость " -"печати будет пропорционально уменьшена, чтобы увеличить продолжительность до " -"этого значения." - -#: src/libslic3r/PrintConfig.cpp:1883 -msgid "Small perimeters" -msgstr "Маленькие периметры" - -#: src/libslic3r/PrintConfig.cpp:1885 -msgid "" -"This separate setting will affect the speed of perimeters having radius <= " -"6.5mm (usually holes). If expressed as percentage (for example: 80%) it will " -"be calculated on the perimeters speed setting above. Set to zero for auto." -msgstr "" -"Этот параметр влияет на скорость печати периметров с радиусом \n" -"<= 6,5 мм (обычно это отверстия). Если задано в процентах, параметр " -"вычисляется относительно скорости печати внутренних периметров. Установите 0 " -"для автонастройки." +"Если включено, юбка будет печататься высотой с самую высокую печатаемую модель. Это " +"полезно для защиты материалов типа ABS или ASA от деформации и отрыва от стола из-" +"за внешнего воздушного потока." #: src/libslic3r/PrintConfig.cpp:1895 -msgid "Solid infill threshold area" -msgstr "Заполнение площади, меньше указанной" +msgid "Loops (minimum)" +msgstr "Юбок вокруг модели (минимум)" + +#: src/libslic3r/PrintConfig.cpp:1896 +msgid "Skirt Loops" +msgstr "Петель юбки" #: src/libslic3r/PrintConfig.cpp:1897 msgid "" -"Force solid infill for regions having a smaller area than the specified " -"threshold." +"Number of loops for the skirt. If the Minimum Extrusion Length option is set, the " +"number of loops might be greater than the one configured here. Set this to zero to " +"disable skirt completely." +msgstr "" +"Количество юбок вокруг модели. Если задан параметр \"Минимальная длина экструзии\", " +"количество юбок может быть больше, чем задано здесь. Чтобы полностью отключить " +"юбку, установите 0." + +#: src/libslic3r/PrintConfig.cpp:1905 +msgid "Slow down if layer print time is below" +msgstr "Замедление при печати слоя менее" + +#: src/libslic3r/PrintConfig.cpp:1906 +msgid "" +"If layer print time is estimated below this number of seconds, print moves speed " +"will be scaled down to extend duration to this value." +msgstr "" +"Если время печати слоя оценивается ниже этого количества секунд, скорость печати " +"будет пропорционально уменьшена, чтобы увеличить продолжительность до этого " +"значения." + +#: src/libslic3r/PrintConfig.cpp:1915 +msgid "Small perimeters" +msgstr "Маленькие периметры" + +#: src/libslic3r/PrintConfig.cpp:1917 +msgid "" +"This separate setting will affect the speed of perimeters having radius <= 6.5mm " +"(usually holes). If expressed as percentage (for example: 80%) it will be " +"calculated on the perimeters speed setting above. Set to zero for auto." +msgstr "" +"Этот параметр влияет на скорость печати периметров с радиусом \n" +"<= 6,5 мм (обычно это отверстия). Если задано в процентах, параметр вычисляется " +"относительно скорости печати периметров указанной выше. Установите 0 для " +"автонастройки." + +#: src/libslic3r/PrintConfig.cpp:1927 +msgid "Solid infill threshold area" +msgstr "Заполнение площади, меньше указанной" + +#: src/libslic3r/PrintConfig.cpp:1929 +msgid "" +"Force solid infill for regions having a smaller area than the specified threshold." msgstr "" "Заполнение площади меньше указанной будет производиться \n" "100% (сплошным) заполнением." -#: src/libslic3r/PrintConfig.cpp:1898 +#: src/libslic3r/PrintConfig.cpp:1930 msgid "mm²" msgstr "мм²" -#: src/libslic3r/PrintConfig.cpp:1904 +#: src/libslic3r/PrintConfig.cpp:1936 msgid "Solid infill extruder" -msgstr "Экструдер, печатающий сплошные слои заполнения" +msgstr "" +"Экструдер, печатающий сплошные слои заполнения" -#: src/libslic3r/PrintConfig.cpp:1906 +#: src/libslic3r/PrintConfig.cpp:1938 msgid "The extruder to use when printing solid infill." msgstr "Номер экструдера, которым печатаются сплошные слои заполнения." -#: src/libslic3r/PrintConfig.cpp:1912 +#: src/libslic3r/PrintConfig.cpp:1944 msgid "Solid infill every" msgstr "Сплошное заполнение каждые" -#: src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:1946 msgid "" -"This feature allows to force a solid layer every given number of layers. " -"Zero to disable. You can set this to any value (for example 9999); Slic3r " -"will automatically choose the maximum possible number of layers to combine " -"according to nozzle diameter and layer height." +"This feature allows to force a solid layer every given number of layers. Zero to " +"disable. You can set this to any value (for example 9999); Slic3r will " +"automatically choose the maximum possible number of layers to combine according to " +"nozzle diameter and layer height." msgstr "" -"Эта функция позволяет принудительно делать сплошное заполнение через " -"указанное количество слоёв. Чтобы отключить, установите 0. Вы можете задать " -"любое значение, Slic3r автоматически выберет максимально возможное " -"количество слоёв в зависимости от диаметра сопла и высоты слоя." +"Эта функция позволяет принудительно делать сплошное заполнение через указанное " +"количество слоёв. Чтобы отключить, установите 0. Вы можете задать любое значение, " +"PrusaSlicer автоматически выберет максимально возможное количество слоёв в " +"зависимости от диаметра сопла и высоты слоя." -#: src/libslic3r/PrintConfig.cpp:1926 +#: src/libslic3r/PrintConfig.cpp:1958 msgid "" -"Set this to a non-zero value to set a manual extrusion width for infill for " -"solid surfaces. If left zero, default extrusion width will be used if set, " -"otherwise 1.125 x nozzle diameter will be used. If expressed as percentage " -"(for example 90%) it will be computed over layer height." +"Set this to a non-zero value to set a manual extrusion width for infill for solid " +"surfaces. If left zero, default extrusion width will be used if set, otherwise " +"1.125 x nozzle diameter will be used. If expressed as percentage (for example 90%) " +"it will be computed over layer height." msgstr "" "Установите значение отличное от 0, чтобы вручную задать ширину экструзии для " -"заполнения сплошных поверхностей. Если оставить 0, будет использоваться " -"\"Ширина экструзии по умолчанию\" - если она задана, в противном случае " -"будет использоваться 1,125 x диаметра сопла. Если задано в процентах, " -"параметр вычисляется относительно высоты слоя." +"заполнения сплошных поверхностей. Если оставить 0, будет использоваться \"Ширина " +"экструзии по умолчанию\" - если она задана, в противном случае будет использоваться " +"1,125 x диаметра сопла. Если задано в процентах, параметр вычисляется относительно " +"высоты слоя." -#: src/libslic3r/PrintConfig.cpp:1937 +#: src/libslic3r/PrintConfig.cpp:1969 msgid "" -"Speed for printing solid regions (top/bottom/internal horizontal shells). " -"This can be expressed as a percentage (for example: 80%) over the default " -"infill speed above. Set to zero for auto." +"Speed for printing solid regions (top/bottom/internal horizontal shells). This can " +"be expressed as a percentage (for example: 80%) over the default infill speed " +"above. Set to zero for auto." msgstr "" -"Скорость печати сплошных областей (верха/низа/внутренних горизонтальных " -"оболочек). Если задано в процентах, параметр вычисляется относительно " -"скорости заполнения указанной выше. Установите 0 для автонастройки." +"Скорость печати сплошных областей (верха/низа/внутренних горизонтальных оболочек). " +"Если задано в процентах, параметр вычисляется относительно скорости заполнения " +"указанной выше. Установите 0 для автонастройки." -#: src/libslic3r/PrintConfig.cpp:1949 +#: src/libslic3r/PrintConfig.cpp:1981 msgid "Number of solid layers to generate on top and bottom surfaces." -msgstr "Количество сплошных слоёв для генерации верхних и нижних поверхностей." +msgstr "Количество сплошных слоёв при печати верхней и нижней поверхности модели." -#: src/libslic3r/PrintConfig.cpp:1955 src/libslic3r/PrintConfig.cpp:1956 +#: src/libslic3r/PrintConfig.cpp:1987 src/libslic3r/PrintConfig.cpp:1988 msgid "Minimum thickness of a top / bottom shell" -msgstr "" +msgstr "Минимальная толщина оболочки сверху/снизу" -#: src/libslic3r/PrintConfig.cpp:1962 +#: src/libslic3r/PrintConfig.cpp:1994 msgid "Spiral vase" msgstr "Спиральная ваза" -#: src/libslic3r/PrintConfig.cpp:1963 +#: src/libslic3r/PrintConfig.cpp:1995 msgid "" -"This feature will raise Z gradually while printing a single-walled object in " -"order to remove any visible seam. This option requires a single perimeter, " -"no infill, no top solid layers and no support material. You can still set " -"any number of bottom solid layers as well as skirt/brim loops. It won't work " -"when printing more than an object." +"This feature will raise Z gradually while printing a single-walled object in order " +"to remove any visible seam. This option requires a single perimeter, no infill, no " +"top solid layers and no support material. You can still set any number of bottom " +"solid layers as well as skirt/brim loops. It won't work when printing more than one " +"single object." msgstr "" "Данная настройка применяется при печати спиральных и пустотелых, а также " -"тонкостенных объектов. Модель печатается в одну стенку без верней " -"поверхности, заполнения и поддержки. При этом сопло движется вдоль периметра " -"непрерывно постепенно поднимаясь, так получаются ровные красивые вазы без " -"видимых швов. Вы можете задать любое количество нижних сплошных слоёв, а " -"также печать юбки/каймы. При включении этого параметра невозможно напечатать " -"горизонтальную плоскость - горизонтальные слои без поддержки будут провисать." +"тонкостенных моделей. Модель печатается в одну стенку без верней поверхности, " +"заполнения и поддержки. При этом сопло движется вдоль периметра непрерывно " +"постепенно поднимаясь, так получаются ровные красивые вазы без видимых швов. Вы " +"можете задать любое количество нижних сплошных слоёв, а также печать юбки/каймы. " +"При включении этого параметра невозможно напечатать горизонтальную плоскость - " +"горизонтальные слои без поддержки будут провисать." -#: src/libslic3r/PrintConfig.cpp:1971 +#: src/libslic3r/PrintConfig.cpp:2003 msgid "Temperature variation" msgstr "Колебания температуры" -#: src/libslic3r/PrintConfig.cpp:1972 +#: src/libslic3r/PrintConfig.cpp:2004 msgid "" -"Temperature difference to be applied when an extruder is not active. Enables " -"a full-height \"sacrificial\" skirt on which the nozzles are periodically " -"wiped." +"Temperature difference to be applied when an extruder is not active. Enables a full-" +"height \"sacrificial\" skirt on which the nozzles are periodically wiped." msgstr "" -"Разность температур, которая применяется, когда экструдер не используется. " -"Включает печать \"жертвенной\" юбки с высотой, равной высоте модели, об " -"которую сопла будут время от времени очищаться." - -#: src/libslic3r/PrintConfig.cpp:1982 -msgid "" -"This start procedure is inserted at the beginning, after bed has reached the " -"target temperature and extruder just started heating, and before extruder " -"has finished heating. If PrusaSlicer detects M104 or M190 in your custom " -"codes, such commands will not be prepended automatically so you're free to " -"customize the order of heating commands and other custom actions. Note that " -"you can use placeholder variables for all PrusaSlicer settings, so you can " -"put a \"M109 S[first_layer_temperature]\" command wherever you want." -msgstr "" -"Этот код вставляется в начало, после того как платформа уже достигла заданной " -"температуры, а экструдер только начал нагреваться, и до того, как экструдер " -"закончил нагрев. Если PrusaSlicer обнаруживает M104 или M190 в вашем " -"пользовательском коде, то такие команды (нагрева) не будут добавляться" -" автоматически, " -"поэтому вы можете настроить порядок команд подогрева и другие действия. " -"Обратите внимание, что вы можете использовать шаблонные переменные для всех " -"параметров PrusaSlicer, поэтому можете вставить команду \"M109" -" S[first_layer_temperature]\" где угодно." - -#: src/libslic3r/PrintConfig.cpp:1997 -msgid "" -"This start procedure is inserted at the beginning, after any printer start " -"gcode (and after any toolchange to this filament in case of multi-material " -"printers). This is used to override settings for a specific filament. If " -"PrusaSlicer detects M104, M109, M140 or M190 in your custom codes, such " -"commands will not be prepended automatically so you're free to customize the " -"order of heating commands and other custom actions. Note that you can use " -"placeholder variables for all PrusaSlicer settings, so you can put a \"M109 " -"S[first_layer_temperature]\" command wherever you want. If you have multiple " -"extruders, the gcode is processed in extruder order." -msgstr "" -"Этот код выполняется в начале, после выполнения стартового G-кода принтера. " -"Он используется для переопределения настроек для определённого прутка. Если " -"Slic3r обнаруживает M104, M109, M140 или M190 в вашем пользовательском коде, " -"такие команды не будут автоматически добавляться, поэтому вы можете " -"настроить порядок команд подогрева и другие действия. Обратите внимание, что " -"вы можете использовать шаблонные переменные для всех параметров Slic3r, " -"поэтому вы можете вставить команду \"M109 S[first_layer_temperature]\" где " -"угодно. Если у вас есть несколько экструдеров, G-код обрабатывается в " -"соответствии с порядковым номером экструдера." - -#: src/libslic3r/PrintConfig.cpp:2013 -msgid "Color change G-code" -msgstr "G-код, выполняемый при смене цвета" +"Разность температур, которая применяется, когда экструдер не используется. Включает " +"печать \"жертвенной\" юбки с высотой, равной высоте модели, об которую сопла будут " +"время от времени очищаться." #: src/libslic3r/PrintConfig.cpp:2014 +msgid "" +"This start procedure is inserted at the beginning, after bed has reached the target " +"temperature and extruder just started heating, and before extruder has finished " +"heating. If PrusaSlicer detects M104 or M190 in your custom codes, such commands " +"will not be prepended automatically so you're free to customize the order of " +"heating commands and other custom actions. Note that you can use placeholder " +"variables for all PrusaSlicer settings, so you can put a \"M109 " +"S[first_layer_temperature]\" command wherever you want." +msgstr "" +"Этот код выполняется в начале, после того как стол уже достиг заданной температуры, " +"а экструдер только начал нагреваться, и до того, как экструдер закончил нагрев. " +"Если PrusaSlicer обнаруживает M104 или M190 в ваших пользовательских кодах, такие " +"команды не будут добавляться автоматически, поэтому вы можете настроить порядок " +"команд нагрева и другие действия. Обратите внимание, что вы можете использовать " +"шаблонные переменные для всех параметров PrusaSlicer, поэтому вы можете вставить " +"команду \"M109 S[first_layer_temperature]\" где угодно." + +#: src/libslic3r/PrintConfig.cpp:2029 +msgid "" +"This start procedure is inserted at the beginning, after any printer start gcode " +"(and after any toolchange to this filament in case of multi-material printers). " +"This is used to override settings for a specific filament. If PrusaSlicer detects " +"M104, M109, M140 or M190 in your custom codes, such commands will not be prepended " +"automatically so you're free to customize the order of heating commands and other " +"custom actions. Note that you can use placeholder variables for all PrusaSlicer " +"settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you " +"want. If you have multiple extruders, the gcode is processed in extruder order." +msgstr "" +"Этот код выполняется в начале, после каждого запуска принтером G-кода (и после " +"каждого переключения инструмента на нужный пруток в случае мультиматериальных" +"принтеров). Это используется для переопределения параметров для " +"конкретного прутка. Если PrusaSlicer обнаруживает M104, M109, M140 или " +"M190 в ваших пользовательских кодах, такие команды не будут добавляться " +"автоматически, поэтому вы можете вставить порядок команд нагрева и другие действия. " +"Обратите внимание, что вы можете использовать шаблонные переменные для всех " +"параметров PrusaSlicer, поэтому вы можете вставить команду \"M109 " +"S[first_layer_temperature]\" где угодно. Если у вас несколько экструдеров, G-код " +"обрабатывается в соответствии с порядковым номером экструдера." + +#: src/libslic3r/PrintConfig.cpp:2045 +msgid "Color change G-code" +msgstr "G-код смены цвета" + +#: src/libslic3r/PrintConfig.cpp:2046 msgid "This G-code will be used as a code for the color change" -msgstr "" +msgstr "Этот G-код будет использоваться для изменения цвета." -#: src/libslic3r/PrintConfig.cpp:2023 +#: src/libslic3r/PrintConfig.cpp:2055 msgid "This G-code will be used as a code for the pause print" -msgstr "" +msgstr "Этот G-код будет использоваться для паузы печати." -#: src/libslic3r/PrintConfig.cpp:2032 +#: src/libslic3r/PrintConfig.cpp:2064 msgid "This G-code will be used as a custom code" -msgstr "" +msgstr "Этот G-код будет использоваться для пользовательского кода." -#: src/libslic3r/PrintConfig.cpp:2040 +#: src/libslic3r/PrintConfig.cpp:2072 msgid "Single Extruder Multi Material" msgstr "Мультиматериальный одиночный экструдер" -#: src/libslic3r/PrintConfig.cpp:2041 +#: src/libslic3r/PrintConfig.cpp:2073 msgid "The printer multiplexes filaments into a single hot end." msgstr "" -"Принтер способный печатать несколькими видами/цветами пластика (соединяя их " -"в одну нить) с одной экструзионной головкой." +"Принтер способный печатать несколькими видами/цветами пластика (соединяя их в однин " +"пруток) с одной экструзионной головкой." -#: src/libslic3r/PrintConfig.cpp:2046 +#: src/libslic3r/PrintConfig.cpp:2078 msgid "Prime all printing extruders" -msgstr "Заправка всех печатающих экструдеров" +msgstr "Подготовка всех печатающих экструдеров" -#: src/libslic3r/PrintConfig.cpp:2047 +#: src/libslic3r/PrintConfig.cpp:2079 msgid "" -"If enabled, all printing extruders will be primed at the front edge of the " -"print bed at the start of the print." +"If enabled, all printing extruders will be primed at the front edge of the print " +"bed at the start of the print." msgstr "" +"Если этот параметр включён, все печатающие экструдеры в начале печати будут " +"подготавливаться на переднем крае стола." -#: src/libslic3r/PrintConfig.cpp:2052 +#: src/libslic3r/PrintConfig.cpp:2084 msgid "No sparse layers (EXPERIMENTAL)" -msgstr "" +msgstr "Отсутствие разреженных слоёв (ЭКСПЕРИМЕНТАЛЬНО)" -#: src/libslic3r/PrintConfig.cpp:2053 +#: src/libslic3r/PrintConfig.cpp:2085 msgid "" -"If enabled, the wipe tower will not be printed on layers with no " -"toolchanges. On layers with a toolchange, extruder will travel downward to " -"print the wipe tower. User is responsible for ensuring there is no collision " -"with the print." +"If enabled, the wipe tower will not be printed on layers with no toolchanges. On " +"layers with a toolchange, extruder will travel downward to print the wipe tower. " +"User is responsible for ensuring there is no collision with the print." msgstr "" +"Если этот параметр включён, черновая башня не будет печататься на слоях где не " +"происходит смена инструмента. На слоях, где происходит смена инструмента, экструдер " +"будет опускаться вниз до верхней части черновой башни, чтобы напечатать её. Так как " +"PrusaSlicer в настоящее время не проверяет столкновения экструдера с напечатанным " +"объектом при опускании его вниз до верхней части черновой башни, эта функция " +"помечена как экспериментальная. Пользователь несёт ответственность за то, чтобы " +"избежать столкновения с напечатанным." -#: src/libslic3r/PrintConfig.cpp:2060 +#: src/libslic3r/PrintConfig.cpp:2092 msgid "Generate support material" msgstr "Генерация вспомогательных структур" -#: src/libslic3r/PrintConfig.cpp:2062 +#: src/libslic3r/PrintConfig.cpp:2094 msgid "Enable support material generation." msgstr "" -"Включение печати вспомогательных структур, поддерживающих выступающие и " -"свисающие элементы печатаемой модели." +"Включение печати вспомогательных структур, поддерживающих выступающие и свисающие " +"элементы печатаемой модели." -#: src/libslic3r/PrintConfig.cpp:2066 +#: src/libslic3r/PrintConfig.cpp:2098 msgid "Auto generated supports" -msgstr "Автоматическая генерация поддержек" +msgstr "Автоматически созданные поддержки" -#: src/libslic3r/PrintConfig.cpp:2068 +#: src/libslic3r/PrintConfig.cpp:2100 msgid "" "If checked, supports will be generated automatically based on the overhang " -"threshold value. If unchecked, supports will be generated inside the " -"\"Support Enforcer\" volumes only." +"threshold value. If unchecked, supports will be generated inside the \"Support " +"Enforcer\" volumes only." msgstr "" -"Если включено, то поддержки будут генерироваться автоматически, исходя из " -"значения порога нависания. Если выключено, то поддержки будут генерироваться " -"только внутри пространств «Support Enforcer»." +"Если флажок установлен, поддержка будет генерироваться автоматически в зависимости " +"от нижестоящего значения \"Угол нависания поддержки\". Если флажок не установлен, " +"поддержка будет генерироваться только внутри значения принудительной поддержки " +"заданной ниже." -#: src/libslic3r/PrintConfig.cpp:2074 +#: src/libslic3r/PrintConfig.cpp:2106 msgid "XY separation between an object and its support" -msgstr "Зазор между объектом и поддержкой по осям XY" +msgstr "Зазор между моделью и поддержкой по осям XY" -#: src/libslic3r/PrintConfig.cpp:2076 +#: src/libslic3r/PrintConfig.cpp:2108 msgid "" -"XY separation between an object and its support. If expressed as percentage " -"(for example 50%), it will be calculated over external perimeter width." +"XY separation between an object and its support. If expressed as percentage (for " +"example 50%), it will be calculated over external perimeter width." msgstr "" -"Расстояние между поддержкой и печатаемым объектом по осям XY. Если задано в " -"процентах, то расстояние будет рассчитано исходя от ширины внешнего " -"периметра." +"Расстояние между поддержкой и печатаемой моделью по осям XY. Если задано в " +"процентах, то расстояние будет рассчитано исходя от ширины внешнего периметра." -#: src/libslic3r/PrintConfig.cpp:2086 +#: src/libslic3r/PrintConfig.cpp:2118 msgid "Pattern angle" msgstr "Угол печати поддержки и подложки" -#: src/libslic3r/PrintConfig.cpp:2088 +#: src/libslic3r/PrintConfig.cpp:2120 msgid "" -"Use this setting to rotate the support material pattern on the horizontal " -"plane." +"Use this setting to rotate the support material pattern on the horizontal plane." msgstr "" -"Используйте этот параметр для поворота рисунка поддержки в горизонтальной " -"плоскости." +"Используйте этот параметр для поворота рисунка поддержки в горизонтальной плоскости." -#: src/libslic3r/PrintConfig.cpp:2098 src/libslic3r/PrintConfig.cpp:2893 +#: src/libslic3r/PrintConfig.cpp:2130 src/libslic3r/PrintConfig.cpp:2925 msgid "" -"Only create support if it lies on a build plate. Don't create support on a " -"print." -msgstr "" -"Создавать поддержки только от платформы. Поддержки от объектов построены не " -"будут." +"Only create support if it lies on a build plate. Don't create support on a print." +msgstr "Создавать поддержки только от стола. Поддержки от модели построены не будут." -#: src/libslic3r/PrintConfig.cpp:2104 +#: src/libslic3r/PrintConfig.cpp:2136 msgid "Contact Z distance" -msgstr "Расстояние от поддержки до объекта по вертикали" +msgstr "Расстояние от поддержки до модели по вертикали" -#: src/libslic3r/PrintConfig.cpp:2106 +#: src/libslic3r/PrintConfig.cpp:2138 msgid "" -"The vertical distance between object and support material interface. Setting " -"this to 0 will also prevent Slic3r from using bridge flow and speed for the " -"first object layer." +"The vertical distance between object and support material interface. Setting this " +"to 0 will also prevent Slic3r from using bridge flow and speed for the first object " +"layer." msgstr "" -"Вертикальное расстояние между объектом и связующим слоем поддержки. Если " -"установить 0, то Slic3r не будет использовать функцию \"Соотношение потока " -"при печати мостов\" и \"Скорость печати первого слоя\" объекта." +"Вертикальное расстояние между моделью и связующим слоем поддержки. Если установить " +"0, то PrusaSlicer не будет использовать функцию \"Соотношение потока при печати " +"мостов\" и \"Скорость печати первого слоя\" модели." -#: src/libslic3r/PrintConfig.cpp:2113 +#: src/libslic3r/PrintConfig.cpp:2145 msgid "0 (soluble)" msgstr "0 (растворимые)" -#: src/libslic3r/PrintConfig.cpp:2114 +#: src/libslic3r/PrintConfig.cpp:2146 msgid "0.2 (detachable)" msgstr "0.2 (нерастворимые)" -#: src/libslic3r/PrintConfig.cpp:2119 +#: src/libslic3r/PrintConfig.cpp:2151 msgid "Enforce support for the first" msgstr "Принудительная поддержка для первых" -#: src/libslic3r/PrintConfig.cpp:2121 +#: src/libslic3r/PrintConfig.cpp:2153 msgid "" -"Generate support material for the specified number of layers counting from " -"bottom, regardless of whether normal support material is enabled or not and " -"regardless of any angle threshold. This is useful for getting more adhesion " -"of objects having a very thin or poor footprint on the build plate." +"Generate support material for the specified number of layers counting from bottom, " +"regardless of whether normal support material is enabled or not and regardless of " +"any angle threshold. This is useful for getting more adhesion of objects having a " +"very thin or poor footprint on the build plate." msgstr "" -"Генерация поддержек для указанного количества слоёв начиная со дна, вне " -"зависимости от порога свеса и установленного параметра создания поддержек. " -"Это полезно для лучшего прилипания тонких объектов или при малой площади " -"контакта с платформой." +"Генерация поддержки для указанного количества слоёв начиная со дна модели, вне " +"зависимости от порога свеса и включения опции \"Создавать поддержки\". Это полезно " +"для получения лучшего прилипания моделей, имеющих очень тонкий или плохой контакт " +"со столом." -#: src/libslic3r/PrintConfig.cpp:2126 +#: src/libslic3r/PrintConfig.cpp:2158 msgid "Enforce support for the first n layers" -msgstr "Принудительная поддержка для первых N слоёв" +msgstr "Принудительная поддержка для первых n слоёв" -#: src/libslic3r/PrintConfig.cpp:2132 +#: src/libslic3r/PrintConfig.cpp:2164 msgid "Support material/raft/skirt extruder" msgstr "Экструдер, печатающий поддержки/подложки/юбки" -#: src/libslic3r/PrintConfig.cpp:2134 +#: src/libslic3r/PrintConfig.cpp:2166 msgid "" -"The extruder to use when printing support material, raft and skirt (1+, 0 to " -"use the current extruder to minimize tool changes)." +"The extruder to use when printing support material, raft and skirt (1+, 0 to use " +"the current extruder to minimize tool changes)." msgstr "" "Номер экструдера, которым печатаются поддержка, подложка и юбка (1+, 0 для " "использования текущего экструдера для минимизации смены инструмента)." -#: src/libslic3r/PrintConfig.cpp:2143 +#: src/libslic3r/PrintConfig.cpp:2175 msgid "" -"Set this to a non-zero value to set a manual extrusion width for support " -"material. If left zero, default extrusion width will be used if set, " -"otherwise nozzle diameter will be used. If expressed as percentage (for " -"example 90%) it will be computed over layer height." +"Set this to a non-zero value to set a manual extrusion width for support material. " +"If left zero, default extrusion width will be used if set, otherwise nozzle " +"diameter will be used. If expressed as percentage (for example 90%) it will be " +"computed over layer height." msgstr "" "Установите значение отличное от 0, чтобы вручную задать ширину экструзии для " -"поддержки. Если оставить 0, будет использоваться \"Ширина экструзии по " -"умолчанию\" - если она задана, в противном случае будет использоваться " -"диаметр сопла. Если задано в процентах, параметр вычисляется относительно " -"высоты слоя." +"поддержки. Если оставить 0, будет использоваться \"Ширина экструзии по умолчанию\" " +"- если она задана, в противном случае будет использоваться диаметр сопла. Если " +"задано в процентах, параметр вычисляется относительно высоты слоя." -#: src/libslic3r/PrintConfig.cpp:2152 +#: src/libslic3r/PrintConfig.cpp:2184 msgid "Interface loops" msgstr "Связующий слой петлями" -#: src/libslic3r/PrintConfig.cpp:2154 -msgid "" -"Cover the top contact layer of the supports with loops. Disabled by default." +#: src/libslic3r/PrintConfig.cpp:2186 +msgid "Cover the top contact layer of the supports with loops. Disabled by default." msgstr "Печатать верхний связующий слой петлями. По умолчанию отключено." -#: src/libslic3r/PrintConfig.cpp:2159 +#: src/libslic3r/PrintConfig.cpp:2191 msgid "Support material/raft interface extruder" -msgstr "Экструдер, печатающий связующий слой поддержки/подложки" +msgstr "" +"Экструдер, печатающий связующий слой поддержки/подложки" -#: src/libslic3r/PrintConfig.cpp:2161 +#: src/libslic3r/PrintConfig.cpp:2193 msgid "" -"The extruder to use when printing support material interface (1+, 0 to use " -"the current extruder to minimize tool changes). This affects raft too." +"The extruder to use when printing support material interface (1+, 0 to use the " +"current extruder to minimize tool changes). This affects raft too." msgstr "" "Номер экструдера, которым печатаются связующие слой поддержки (1+, 0 для " -"использования текущего экструдера для минимизации смены инструмента). Это " -"также влияет на печать подложки." +"использования текущего экструдера для минимизации смены инструмента). Это также " +"влияет на печать подложки." -#: src/libslic3r/PrintConfig.cpp:2168 +#: src/libslic3r/PrintConfig.cpp:2200 msgid "Interface layers" msgstr "Связующих слоёв" -#: src/libslic3r/PrintConfig.cpp:2170 +#: src/libslic3r/PrintConfig.cpp:2202 msgid "" -"Number of interface layers to insert between the object(s) and support " -"material." +"Number of interface layers to insert between the object(s) and support material." msgstr "Количество связующих слоёв между моделью и материалом поддержки." -#: src/libslic3r/PrintConfig.cpp:2177 +#: src/libslic3r/PrintConfig.cpp:2209 msgid "Interface pattern spacing" msgstr "Расстояние между связующими линиями" -#: src/libslic3r/PrintConfig.cpp:2179 +#: src/libslic3r/PrintConfig.cpp:2211 msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "" -"Расстояние между связующими линиями. Установите 0, чтобы получить сплошной " -"слой." +"Расстояние между связующими линиями. Установите 0, чтобы получить сплошной слой." -#: src/libslic3r/PrintConfig.cpp:2188 +#: src/libslic3r/PrintConfig.cpp:2220 msgid "" -"Speed for printing support material interface layers. If expressed as " -"percentage (for example 50%) it will be calculated over support material " -"speed." +"Speed for printing support material interface layers. If expressed as percentage " +"(for example 50%) it will be calculated over support material speed." msgstr "" -"Скорость печати связующих слоёв поддержки. Если она выражена в процентах, то " -"будет рассчитана относительно скорости печати поддержки указанной выше." +"Скорость печати связующих слоёв поддержки. Если она выражена в процентах, то будет " +"рассчитана относительно скорости печати поддержки указанной выше." -#: src/libslic3r/PrintConfig.cpp:2197 +#: src/libslic3r/PrintConfig.cpp:2229 msgid "Pattern" msgstr "Шаблон поддержки и подложки" -#: src/libslic3r/PrintConfig.cpp:2199 +#: src/libslic3r/PrintConfig.cpp:2231 msgid "Pattern used to generate support material." msgstr "Шаблон, по которому будет происходить печать поддержки." -#: src/libslic3r/PrintConfig.cpp:2205 +#: src/libslic3r/PrintConfig.cpp:2237 msgid "Rectilinear grid" msgstr "Прямолинейная сетка" -#: src/libslic3r/PrintConfig.cpp:2211 +#: src/libslic3r/PrintConfig.cpp:2243 msgid "Pattern spacing" msgstr "Плотность поддержки" -#: src/libslic3r/PrintConfig.cpp:2213 +#: src/libslic3r/PrintConfig.cpp:2245 msgid "Spacing between support material lines." msgstr "Расстояние между линиями поддержки." -#: src/libslic3r/PrintConfig.cpp:2222 +#: src/libslic3r/PrintConfig.cpp:2254 msgid "Speed for printing support material." -msgstr "Скорость печати поддержек." +msgstr "Скорость печати поддержки." -#: src/libslic3r/PrintConfig.cpp:2229 +#: src/libslic3r/PrintConfig.cpp:2261 msgid "Synchronize with object layers" -msgstr "Синхронизация со слоями объекта" +msgstr "Синхронизация со слоями модели" -#: src/libslic3r/PrintConfig.cpp:2231 +#: src/libslic3r/PrintConfig.cpp:2263 msgid "" -"Synchronize support layers with the object print layers. This is useful with " -"multi-material printers, where the extruder switch is expensive." +"Synchronize support layers with the object print layers. This is useful with multi-" +"material printers, where the extruder switch is expensive." msgstr "" -"Синхронизирует слои поддержки со слоями печатаемого объекта. Это полезно для " +"Синхронизирует слои поддержки со слоями печатаемой модели. Это полезно для " "мультиматериальных принтеров, которые требуют больших затрат на смену одного " "экструдера на другой." -#: src/libslic3r/PrintConfig.cpp:2237 +#: src/libslic3r/PrintConfig.cpp:2269 msgid "Overhang threshold" msgstr "Угол нависания поддержки" -#: src/libslic3r/PrintConfig.cpp:2239 +#: src/libslic3r/PrintConfig.cpp:2271 msgid "" -"Support material will not be generated for overhangs whose slope angle (90° " -"= vertical) is above the given threshold. In other words, this value " -"represent the most horizontal slope (measured from the horizontal plane) " -"that you can print without support material. Set to zero for automatic " -"detection (recommended)." +"Support material will not be generated for overhangs whose slope angle (90° = " +"vertical) is above the given threshold. In other words, this value represent the " +"most horizontal slope (measured from the horizontal plane) that you can print " +"without support material. Set to zero for automatic detection (recommended)." msgstr "" -"Задаётся угол нависания, при превышении которого будут использоваться " -"поддержки (угол задаётся относительно вертикальной оси). Установите 0 для " -"формирования поддержки в автоматическом режиме." +"Задаётся угол нависания, при превышении которого будут использоваться поддержки " +"(угол задаётся относительно вертикальной оси). Установите 0 для формирования " +"поддержки в автоматическом режиме." -#: src/libslic3r/PrintConfig.cpp:2251 +#: src/libslic3r/PrintConfig.cpp:2283 msgid "With sheath around the support" msgstr "Оболочка вокруг поддержки" -#: src/libslic3r/PrintConfig.cpp:2253 +#: src/libslic3r/PrintConfig.cpp:2285 msgid "" -"Add a sheath (a single perimeter line) around the base support. This makes " -"the support more reliable, but also more difficult to remove." +"Add a sheath (a single perimeter line) around the base support. This makes the " +"support more reliable, but also more difficult to remove." msgstr "" -"Добавить оболочку (одну линию периметра) вокруг базовой поддержки. Это " -"делает поддержку более надёжной, но её труднее удалить." +"Добавить оболочку (одну линию периметра) вокруг базовой поддержки. Это делает " +"поддержку более надёжной, но её труднее удалить." -#: src/libslic3r/PrintConfig.cpp:2260 +#: src/libslic3r/PrintConfig.cpp:2292 msgid "" -"Nozzle temperature for layers after the first one. Set this to zero to " -"disable temperature control commands in the output G-code." +"Nozzle temperature for layers after the first one. Set this to zero to disable " +"temperature control commands in the output G-code." msgstr "" +"Температура сопла при печати для слоёв после первого. Установите 0 для отключения " +"команд управления температурой в выходом G-коде." -#: src/libslic3r/PrintConfig.cpp:2263 +#: src/libslic3r/PrintConfig.cpp:2295 msgid "Nozzle temperature" -msgstr "" +msgstr "Температура сопла" -#: src/libslic3r/PrintConfig.cpp:2269 +#: src/libslic3r/PrintConfig.cpp:2301 msgid "Detect thin walls" msgstr "Обнаружение тонких стенок" -#: src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2303 msgid "" -"Detect single-width walls (parts where two extrusions don't fit and we need " -"to collapse them into a single trace)." +"Detect single-width walls (parts where two extrusions don't fit and we need to " +"collapse them into a single trace)." msgstr "" "Данный параметр ищет тонкие стенки (стенки одинарной ширины), которые можно " "напечатать только в один проход экструдера, и производит нарезку правильно." -#: src/libslic3r/PrintConfig.cpp:2277 +#: src/libslic3r/PrintConfig.cpp:2309 msgid "Threads" msgstr "Потоков" -#: src/libslic3r/PrintConfig.cpp:2278 +#: src/libslic3r/PrintConfig.cpp:2310 msgid "" -"Threads are used to parallelize long-running tasks. Optimal threads number " -"is slightly above the number of available cores/processors." +"Threads are used to parallelize long-running tasks. Optimal threads number is " +"slightly above the number of available cores/processors." msgstr "" -"Количество потоков для распараллеливания длительных задач. Оптимальное " -"количество потоков немного превышает количество доступных ядер/процессоров." +"Количество потоков для распараллеливания длительных задач. Оптимальное количество " +"потоков несколько превышает количество доступных ядер/процессоров." -#: src/libslic3r/PrintConfig.cpp:2290 +#: src/libslic3r/PrintConfig.cpp:2322 msgid "" -"This custom code is inserted before every toolchange. Placeholder variables " -"for all PrusaSlicer settings as well as {previous_extruder} and " -"{next_extruder} can be used. When a tool-changing command which changes to " -"the correct extruder is included (such as T{next_extruder}), PrusaSlicer " -"will emit no other such command. It is therefore possible to script custom " -"behaviour both before and after the toolchange." +"This custom code is inserted before every toolchange. Placeholder variables for all " +"PrusaSlicer settings as well as {previous_extruder} and {next_extruder} can be " +"used. When a tool-changing command which changes to the correct extruder is " +"included (such as T{next_extruder}), PrusaSlicer will emit no other such command. " +"It is therefore possible to script custom behaviour both before and after the " +"toolchange." msgstr "" +"Этот пользовательский код вставляется перед каждой сменой инструмента. Вы можете " +"использовать шаблонные переменные для всех параметров PrusaSlicer в том числе " +"{previous_extruder} и {next_extruder}. При включении команды смены инструмента, " +"которая заменяет правильный экструдер (например T{next_extruder}), PrusaSlicer не " +"будет запускать никакие другие подобные команды. Таким образом, можно создавать " +"собственные сценарии поведения до и после смены инструмента.???" -#: src/libslic3r/PrintConfig.cpp:2303 +#: src/libslic3r/PrintConfig.cpp:2335 msgid "" -"Set this to a non-zero value to set a manual extrusion width for infill for " -"top surfaces. You may want to use thinner extrudates to fill all narrow " -"regions and get a smoother finish. If left zero, default extrusion width " -"will be used if set, otherwise nozzle diameter will be used. If expressed as " -"percentage (for example 90%) it will be computed over layer height." +"Set this to a non-zero value to set a manual extrusion width for infill for top " +"surfaces. You may want to use thinner extrudates to fill all narrow regions and get " +"a smoother finish. If left zero, default extrusion width will be used if set, " +"otherwise nozzle diameter will be used. If expressed as percentage (for example " +"90%) it will be computed over layer height." msgstr "" "Установите значение отличное от 0, чтобы вручную задать ширину экструзии для " -"заполнения верхней поверхности. Вы можете использовать более тонкие сопла, " -"чтобы заполнить все узкие области и получить более гладкую поверхность. Если " -"оставить 0, будет использоваться \"Ширина экструзии по умолчанию\" - если " -"она задана, в противном случае будет использоваться диаметр сопла. Если " -"задано в процентах, параметр вычисляется относительно высоты слоя." +"заполнения верхней поверхности. Вы можете использовать более тонкие сопла, чтобы " +"заполнить все узкие области и получить более гладкую поверхность. Если оставить 0, " +"будет использоваться \"Ширина экструзии по умолчанию\" - если она задана, в " +"противном случае будет использоваться диаметр сопла. Если задано в процентах, " +"параметр вычисляется относительно высоты слоя." -#: src/libslic3r/PrintConfig.cpp:2315 +#: src/libslic3r/PrintConfig.cpp:2347 msgid "" -"Speed for printing top solid layers (it only applies to the uppermost " -"external layers and not to their internal solid layers). You may want to " -"slow down this to get a nicer surface finish. This can be expressed as a " -"percentage (for example: 80%) over the solid infill speed above. Set to zero " -"for auto." +"Speed for printing top solid layers (it only applies to the uppermost external " +"layers and not to their internal solid layers). You may want to slow down this to " +"get a nicer surface finish. This can be expressed as a percentage (for example: " +"80%) over the solid infill speed above. Set to zero for auto." msgstr "" -"Скорость печати верхних сплошных слоёв. Вы можете снизить скорость, чтобы " -"получить более качественную поверхность. Если задано в процентах, параметр " -"вычисляется относительно скорости сплошного заполнения указанной выше. " -"Установите 0 для автонастройки." +"Скорость печати верхних сплошных слоёв. Вы можете снизить скорость, чтобы получить " +"более качественную поверхность. Если задано в процентах, параметр вычисляется " +"относительно скорости сплошного заполнения указанной выше. Установите 0 для " +"автонастройки." -#: src/libslic3r/PrintConfig.cpp:2330 +#: src/libslic3r/PrintConfig.cpp:2362 msgid "Number of solid layers to generate on top surfaces." msgstr "Количество сплошных слоёв при печати верхней поверхности модели." -#: src/libslic3r/PrintConfig.cpp:2331 +#: src/libslic3r/PrintConfig.cpp:2363 msgid "Top solid layers" msgstr "Верхних сплошных слоёв" -#: src/libslic3r/PrintConfig.cpp:2339 +#: src/libslic3r/PrintConfig.cpp:2371 msgid "" -"The number of top solid layers is increased above top_solid_layers if " -"necessary to satisfy minimum thickness of top shell. This is useful to " -"prevent pillowing effect when printing with variable layer height." +"The number of top solid layers is increased above top_solid_layers if necessary to " +"satisfy minimum thickness of top shell. This is useful to prevent pillowing effect " +"when printing with variable layer height." msgstr "" -"На сколько количество верхних сплошных слоёв может быть больше " -"top_solid_layers, если это необходимо для получения минимальной толщины " -"верхней оболочки. Это полезно для убирания эффекта подушки при печати с " -"переменной высотой слоя." +"При необходимости количество верхних сплошных слоёв увеличивается выше значения " +"top_solid_layers (\"Сплошных слоёв сверху\") для удовлетворения минимальной толщины " +"оболочки сверху. Полезно для предотвращения эффекта \"дырявой подушки\" (верхняя " +"поверхность не полностью закрыта или имеет неровности) при печати с переменной " +"высотой слоя." -#: src/libslic3r/PrintConfig.cpp:2342 +#: src/libslic3r/PrintConfig.cpp:2374 msgid "Minimum top shell thickness" -msgstr "Минимальная толщина верхней оболочки" +msgstr "Минимальная толщина оболочки сверху" -#: src/libslic3r/PrintConfig.cpp:2349 +#: src/libslic3r/PrintConfig.cpp:2381 msgid "Speed for travel moves (jumps between distant extrusion points)." msgstr "Скорость перемещения экструдера при позиционировании без печати." -#: src/libslic3r/PrintConfig.cpp:2357 +#: src/libslic3r/PrintConfig.cpp:2389 msgid "Use firmware retraction" msgstr "Использовать ретракт из прошивки" -#: src/libslic3r/PrintConfig.cpp:2358 +#: src/libslic3r/PrintConfig.cpp:2390 msgid "" -"This experimental setting uses G10 and G11 commands to have the firmware " -"handle the retraction. This is only supported in recent Marlin." +"This experimental setting uses G10 and G11 commands to have the firmware handle the " +"retraction. This is only supported in recent Marlin." msgstr "" -"Эта экспериментальная настройка использует команды G10 и G11, чтобы прошивка " -"обрабатывала ретракт. Поддерживается только в последних версиях Marlin." +"Эта экспериментальная опция использует команды G10 и G11, чтобы прошивка " +"обрабатывала ретракт. Поддерживается только в последних версиях Marlin. " -#: src/libslic3r/PrintConfig.cpp:2364 +#: src/libslic3r/PrintConfig.cpp:2396 msgid "Use relative E distances" -msgstr "Использовать относительные расстояния E" +msgstr "Использовать относительные координаты для экструдера (E)" -#: src/libslic3r/PrintConfig.cpp:2365 +#: src/libslic3r/PrintConfig.cpp:2397 msgid "" "If your firmware requires relative E values, check this, otherwise leave it " "unchecked. Most firmwares use absolute values." msgstr "" "Движение экструдера (E) по отношению к предыдущей позиции не в абсолютном " -"выражении, а в относительном. Большинство прошивок используют абсолютные " -"значения при позиционировании. Если вы не знаете - использует ли ваша " -"прошивка эту функцию, то не отмечайте это значение." - -#: src/libslic3r/PrintConfig.cpp:2371 -msgid "Use volumetric E" -msgstr "Использовать объёмные значения E" - -#: src/libslic3r/PrintConfig.cpp:2372 -msgid "" -"This experimental setting uses outputs the E values in cubic millimeters " -"instead of linear millimeters. If your firmware doesn't already know " -"filament diameter(s), you can put commands like 'M200 D[filament_diameter_0] " -"T0' in your start G-code in order to turn volumetric mode on and use the " -"filament diameter associated to the filament selected in Slic3r. This is " -"only supported in recent Marlin." -msgstr "" -"Это экспериментальный параметр использует выходные значения экструдера в " -"кубических миллиметрах вместо линейных миллиметров. Если ваша прошивка ещё " -"не знает диаметр прутка, вы можете поместить в свой стартовый G-код команду " -"«M200 D [диаметр_прутка_0] T0», чтобы включить объёмный режим и использовать " -"диаметр прутка, указанный в Slic3r. Поддерживается только в последних " -"версиях Marlin." - -#: src/libslic3r/PrintConfig.cpp:2382 -msgid "Enable variable layer height feature" -msgstr "Включить функцию переменной высоты слоёв" - -#: src/libslic3r/PrintConfig.cpp:2383 -msgid "" -"Some printers or printer setups may have difficulties printing with a " -"variable layer height. Enabled by default." -msgstr "" -"Некоторые принтеры (или из-за настроек принтера) могут испытывать трудности " -"при печати с функцией переменной высотой слоёв. По умолчанию включено." - -#: src/libslic3r/PrintConfig.cpp:2389 -msgid "Wipe while retracting" -msgstr "Ретракт во время перемещения" - -#: src/libslic3r/PrintConfig.cpp:2390 -msgid "" -"This flag will move the nozzle while retracting to minimize the possible " -"blob on leaky extruders." -msgstr "" -"Позволяет соплу перемещаться во время ретракта (втягивания прутка), чтобы " -"свести к минимуму возможное образование капли на не герметичных экструдерах." - -#: src/libslic3r/PrintConfig.cpp:2397 -msgid "" -"Multi material printers may need to prime or purge extruders on tool " -"changes. Extrude the excess material into the wipe tower." -msgstr "" -"Для мультиматериальных принтеров может потребоваться предзарядка и прочистка " -"сопел при их смене. Избыточный материал будет выдавливаться на башню очистки." +"выражении, а в относительном. Большинство прошивок используют абсолютные значения " +"при позиционировании. Если вы не знаете - использует ли ваша прошивка эту функцию, " +"то не отмечайте это значение." #: src/libslic3r/PrintConfig.cpp:2403 -msgid "Purging volumes - load/unload volumes" -msgstr "Очищающие объёмы - загрузка/выгрузка объёмов" +msgid "Use volumetric E" +msgstr "Использовать объёмные значения для экструдера (E)" #: src/libslic3r/PrintConfig.cpp:2404 msgid "" -"This vector saves required volumes to change from/to each tool used on the " -"wipe tower. These values are used to simplify creation of the full purging " -"volumes below." +"This experimental setting uses outputs the E values in cubic millimeters instead of " +"linear millimeters. If your firmware doesn't already know filament diameter(s), you " +"can put commands like 'M200 D[filament_diameter_0] T0' in your start G-code in " +"order to turn volumetric mode on and use the filament diameter associated to the " +"filament selected in Slic3r. This is only supported in recent Marlin." msgstr "" -"Этот вектор задаёт объём материала, который будет выдавлен на башню очистки " -"для прочистки сопла при смене экструдеров/инструментов. Эти значения " -"используются для упрощения создания полноты объёмов очистки, указанной ниже." +"Эта экспериментальная опция использует выходные значения экструдера в кубических " +"миллиметрах вместо линейных миллиметров. Если в вашей прошивке ещё не задан диаметр " +"прутка, вы можете прописать в свой стартовый G-код команды, например такую как 'M200 " +"D [filament_diameter_0] T0', чтобы включить объёмный режим и использовать диаметр " +"прутка указанный в PrusaSlicer. Это функция поддерживается только в последних версиях " +"Marlin." -#: src/libslic3r/PrintConfig.cpp:2410 +#: src/libslic3r/PrintConfig.cpp:2414 +msgid "Enable variable layer height feature" +msgstr "Включить функцию переменной высоты слоёв" + +#: src/libslic3r/PrintConfig.cpp:2415 +msgid "" +"Some printers or printer setups may have difficulties printing with a variable " +"layer height. Enabled by default." +msgstr "" +"Некоторые принтеры (или из-за настроек принтера) могут испытывать трудности при " +"печати с функцией переменной высотой слоёв. По умолчанию включено." + +#: src/libslic3r/PrintConfig.cpp:2421 +msgid "Wipe while retracting" +msgstr "Очистка сопла при ретракте" + +#: src/libslic3r/PrintConfig.cpp:2422 +msgid "" +"This flag will move the nozzle while retracting to minimize the possible blob on " +"leaky extruders." +msgstr "" +"Позволяет соплу совершать разглаживавшее движение во время ретракта, чтобы свести к " +"минимуму возможное образование пупырышек в начале/конце слоя на экструдерах, " +"которые имеют тенденцию к течи." + +#: src/libslic3r/PrintConfig.cpp:2429 +msgid "" +"Multi material printers may need to prime or purge extruders on tool changes. " +"Extrude the excess material into the wipe tower." +msgstr "" +"Для мультиматериальных принтеров может потребоваться предзарядка и смена " +"инструмента. Избыточный материал будет выдавливаться на черновую башню." + +#: src/libslic3r/PrintConfig.cpp:2435 +msgid "Purging volumes - load/unload volumes" +msgstr "Очищающие объёмы - загрузка/выгрузка объёмов" + +#: src/libslic3r/PrintConfig.cpp:2436 +msgid "" +"This vector saves required volumes to change from/to each tool used on the wipe " +"tower. These values are used to simplify creation of the full purging volumes below." +msgstr "" +"Этот параметр задаёт объём материала, который будет выдавлен на черновую башню для " +"прочистки сопла при смене экструдеров/инструментов. Эти значения используются для " +"упрощения создания полноты объёмов очистки указанной ниже." + +#: src/libslic3r/PrintConfig.cpp:2442 msgid "Purging volumes - matrix" msgstr "Таблица очищающих объёмов" -#: src/libslic3r/PrintConfig.cpp:2411 +#: src/libslic3r/PrintConfig.cpp:2443 msgid "" -"This matrix describes volumes (in cubic milimetres) required to purge the " -"new filament on the wipe tower for any given pair of tools." +"This matrix describes volumes (in cubic milimetres) required to purge the new " +"filament on the wipe tower for any given pair of tools." msgstr "" -"Эта таблица описывает объёмы (в кубических миллиметрах), необходимые для " -"прочистки нового прутка на башне очистки для заданной пары сопел/экструдеров." +"Эта таблица описывает объёмы (в кубических миллиметрах), необходимые для прочистки " +"нового прутка на черновой башне для любой пары сопел\\экструдеров." -#: src/libslic3r/PrintConfig.cpp:2420 +#: src/libslic3r/PrintConfig.cpp:2452 msgid "Position X" -msgstr "Х позиция" +msgstr "Х позиция башни" -#: src/libslic3r/PrintConfig.cpp:2421 +#: src/libslic3r/PrintConfig.cpp:2453 msgid "X coordinate of the left front corner of a wipe tower" -msgstr "X координата левого переднего угла башни очистки" +msgstr "X координата левого переднего угла черновой башни" -#: src/libslic3r/PrintConfig.cpp:2427 +#: src/libslic3r/PrintConfig.cpp:2459 msgid "Position Y" -msgstr "Y позиция" +msgstr "Y позиция башни" -#: src/libslic3r/PrintConfig.cpp:2428 +#: src/libslic3r/PrintConfig.cpp:2460 msgid "Y coordinate of the left front corner of a wipe tower" -msgstr "Y координата левого переднего угла башни очистки" +msgstr "Y координата левого переднего угла черновой башне" -#: src/libslic3r/PrintConfig.cpp:2435 +#: src/libslic3r/PrintConfig.cpp:2467 msgid "Width of a wipe tower" -msgstr "Ширина башни очистки" - -#: src/libslic3r/PrintConfig.cpp:2441 -msgid "Wipe tower rotation angle" -msgstr "Угол поворота башни очистки" - -#: src/libslic3r/PrintConfig.cpp:2442 -msgid "Wipe tower rotation angle with respect to x-axis." -msgstr "Угол поворота башни очистки относительно оси X." - -#: src/libslic3r/PrintConfig.cpp:2449 -msgid "Wipe into this object's infill" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2450 -msgid "" -"Purging after toolchange will done inside this object's infills. This lowers " -"the amount of waste but may result in longer print time due to additional " -"travel moves." -msgstr "" -"Прочистка сопла после смены будет выполняться внутри заполнения. Это " -"уменьшает количество отходов, но может привести к увеличению времени печати " -"из-за дополнительных перемещений." - -#: src/libslic3r/PrintConfig.cpp:2457 -msgid "Wipe into this object" -msgstr "Прочистка в объект" - -#: src/libslic3r/PrintConfig.cpp:2458 -msgid "" -"Object will be used to purge the nozzle after a toolchange to save material " -"that would otherwise end up in the wipe tower and decrease print time. " -"Colours of the objects will be mixed as a result." -msgstr "" -"Прочистка сопла после смены будет выполняться в объекте, чтобы сохранить " -"материал (который иначе попал бы на башню очистки) и сократить время печати. " -"В результате цвета объектов будут смешаны." - -#: src/libslic3r/PrintConfig.cpp:2464 -msgid "Maximal bridging distance" -msgstr "Максимальное длина моста" - -#: src/libslic3r/PrintConfig.cpp:2465 -msgid "Maximal distance between supports on sparse infill sections." -msgstr "" -"Максимальное расстояние между опорами на разряженных участках заполнения." - -#: src/libslic3r/PrintConfig.cpp:2471 -msgid "XY Size Compensation" -msgstr "Коррекция горизонтальных размеров модели" +msgstr "Ширина черновой башни" #: src/libslic3r/PrintConfig.cpp:2473 -msgid "" -"The object will be grown/shrunk in the XY plane by the configured value " -"(negative = inwards, positive = outwards). This might be useful for fine-" -"tuning hole sizes." -msgstr "" -"Параметр, отвечает за смещение границы контура печатаемого объекта в " -"плоскости XY на заданное значение. Отрицательное значение - во внутрь, " -"положительный - наружу. Может быть полезно для точной настройки размеров " -"отверстий, при печати шевронных подшипников." +msgid "Wipe tower rotation angle" +msgstr "Угол поворота черновой башни" + +#: src/libslic3r/PrintConfig.cpp:2474 +msgid "Wipe tower rotation angle with respect to x-axis." +msgstr "Угол поворота черновой башни относительно оси X." #: src/libslic3r/PrintConfig.cpp:2481 -msgid "Z offset" -msgstr "Смещение платформы по оси Z" +msgid "Wipe into this object's infill" +msgstr "Очистка в заполнение модели" #: src/libslic3r/PrintConfig.cpp:2482 msgid "" -"This value will be added (or subtracted) from all the Z coordinates in the " -"output G-code. It is used to compensate for bad Z endstop position: for " -"example, if your endstop zero actually leaves the nozzle 0.3mm far from the " -"print bed, set this to -0.3 (or fix your endstop)." +"Purging after toolchange will done inside this object's infills. This lowers the " +"amount of waste but may result in longer print time due to additional travel moves." msgstr "" -"Это значение будет добавлено (или вычтено) из всех координат Z в конечном" -" G-коде. " -"Используется для исправления ошибок работы концевого датчика Z: например, " -"если при нулевом значении по датчику сопло в действительности выше платформы" -" на " -"0.3 мм, то укажите здесь -0.3 (или исправьте датчик)." +"Очистка после замены инструмента будет выполняться внутри заполнения модели. Опция " +"уменьшает количество отходов, но может привести к увеличению времени печати из-за " +"дополнительных перемещений." -#: src/libslic3r/PrintConfig.cpp:2549 +#: src/libslic3r/PrintConfig.cpp:2489 +msgid "Wipe into this object" +msgstr "Очистка в модель" + +#: src/libslic3r/PrintConfig.cpp:2490 +msgid "" +"Object will be used to purge the nozzle after a toolchange to save material that " +"would otherwise end up in the wipe tower and decrease print time. Colours of the " +"objects will be mixed as a result." +msgstr "" +"Очистка сопла после смены инструмента будет выполняться в модель, чтобы сохранить " +"материал (который иначе попал бы на черновую башню) и сократить время печати. В " +"результате цвета моделей будут смешаны." + +#: src/libslic3r/PrintConfig.cpp:2496 +msgid "Maximal bridging distance" +msgstr "Максимальное длина моста" + +#: src/libslic3r/PrintConfig.cpp:2497 +msgid "Maximal distance between supports on sparse infill sections." +msgstr "Максимальное расстояние между опорами на разряженных участках заполнения." + +#: src/libslic3r/PrintConfig.cpp:2503 +msgid "XY Size Compensation" +msgstr "Коррекция горизонтальных размеров модели" + +#: src/libslic3r/PrintConfig.cpp:2505 +msgid "" +"The object will be grown/shrunk in the XY plane by the configured value (negative = " +"inwards, positive = outwards). This might be useful for fine-tuning hole sizes." +msgstr "" +"Параметр отвечает за смещение границы контура печатаемой модели в плоскости XY на " +"заданное значение. Отрицательное значение - во внутрь, положительный - наружу. " +"Может быть полезно для точной настройки размеров отверстий при печати шевронных " +"подшипников." + +#: src/libslic3r/PrintConfig.cpp:2513 +msgid "Z offset" +msgstr "Смещение стола по оси Z" + +#: src/libslic3r/PrintConfig.cpp:2514 +msgid "" +"This value will be added (or subtracted) from all the Z coordinates in the output G-" +"code. It is used to compensate for bad Z endstop position: for example, if your " +"endstop zero actually leaves the nozzle 0.3mm far from the print bed, set this to " +"-0.3 (or fix your endstop)." +msgstr "" +"Смещение стола по вертикальной оси Z при ошибках работы концевого датчика. Это " +"значение будет прибавлено (или вычтено) из всех Z координат в выходном G-коде." + +#: src/libslic3r/PrintConfig.cpp:2581 msgid "Display width" msgstr "Ширина дисплея" -#: src/libslic3r/PrintConfig.cpp:2550 +#: src/libslic3r/PrintConfig.cpp:2582 msgid "Width of the display" -msgstr "" +msgstr "Высота дисплея." -#: src/libslic3r/PrintConfig.cpp:2555 +#: src/libslic3r/PrintConfig.cpp:2587 msgid "Display height" msgstr "Высота дисплея" -#: src/libslic3r/PrintConfig.cpp:2556 -msgid "Height of the display" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2561 -msgid "Number of pixels in" -msgstr "Количество пикселей в" - -#: src/libslic3r/PrintConfig.cpp:2563 -msgid "Number of pixels in X" -msgstr "Количество пикселей в X" - -#: src/libslic3r/PrintConfig.cpp:2569 -msgid "Number of pixels in Y" -msgstr "Количество пикселей в Y" - -#: src/libslic3r/PrintConfig.cpp:2574 -msgid "Display horizontal mirroring" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2575 -msgid "Mirror horizontally" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2576 -msgid "Enable horizontal mirroring of output images" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2581 -msgid "Display vertical mirroring" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2582 -msgid "Mirror vertically" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2583 -msgid "Enable vertical mirroring of output images" -msgstr "" - #: src/libslic3r/PrintConfig.cpp:2588 -msgid "Display orientation" -msgstr "" +msgid "Height of the display" +msgstr "Высота дисплея." -#: src/libslic3r/PrintConfig.cpp:2589 -msgid "" -"Set the actual LCD display orientation inside the SLA printer. Portrait mode " -"will flip the meaning of display width and height parameters and the output " -"images will be rotated by 90 degrees." -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2593 +msgid "Number of pixels in" +msgstr "Количество пикселей" #: src/libslic3r/PrintConfig.cpp:2595 -msgid "Landscape" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2596 -msgid "Portrait" -msgstr "" +msgid "Number of pixels in X" +msgstr "Количество пикселей по X." #: src/libslic3r/PrintConfig.cpp:2601 -msgid "Fast" -msgstr "" +msgid "Number of pixels in Y" +msgstr "Количество пикселей по Y." -#: src/libslic3r/PrintConfig.cpp:2602 -msgid "Fast tilt" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2606 +msgid "Display horizontal mirroring" +msgstr "Горизонтальное зеркалирование дисплея" -#: src/libslic3r/PrintConfig.cpp:2603 -msgid "Time of the fast tilt" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2607 +msgid "Mirror horizontally" +msgstr "Зеркалировать по горизонтали" -#: src/libslic3r/PrintConfig.cpp:2610 -msgid "Slow" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2608 +msgid "Enable horizontal mirroring of output images" +msgstr "Включение горизонтального зеркалирования выходных изображений." -#: src/libslic3r/PrintConfig.cpp:2611 -msgid "Slow tilt" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "Display vertical mirroring" +msgstr "Вертикальное зеркалирование дисплея" -#: src/libslic3r/PrintConfig.cpp:2612 -msgid "Time of the slow tilt" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2614 +msgid "Mirror vertically" +msgstr "Зеркалировать по вертикали" -#: src/libslic3r/PrintConfig.cpp:2619 -msgid "Area fill" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2615 +msgid "Enable vertical mirroring of output images" +msgstr "Включение вертикального зеркалирования выходных изображений." #: src/libslic3r/PrintConfig.cpp:2620 +msgid "Display orientation" +msgstr "Ориентация дисплея" + +#: src/libslic3r/PrintConfig.cpp:2621 +msgid "" +"Set the actual LCD display orientation inside the SLA printer. Portrait mode will " +"flip the meaning of display width and height parameters and the output images will " +"be rotated by 90 degrees." +msgstr "" +"Установите фактическую ориентацию ЖК-дисплея внутри SLA принтера. Портретный режим " +"перевернёт значения параметров ширины и высоты дисплея, а выходные изображения " +"будут повёрнуты на 90 градусов." + +#: src/libslic3r/PrintConfig.cpp:2627 +msgid "Landscape" +msgstr "Альбомная" + +#: src/libslic3r/PrintConfig.cpp:2628 +msgid "Portrait" +msgstr "Портретная" + +#: src/libslic3r/PrintConfig.cpp:2633 +msgid "Fast" +msgstr "Быстро" + +#: src/libslic3r/PrintConfig.cpp:2634 +msgid "Fast tilt" +msgstr "Быстрый наклон" + +#: src/libslic3r/PrintConfig.cpp:2635 +msgid "Time of the fast tilt" +msgstr "Время быстрого наклона." + +#: src/libslic3r/PrintConfig.cpp:2642 +msgid "Slow" +msgstr "Медленно" + +#: src/libslic3r/PrintConfig.cpp:2643 +msgid "Slow tilt" +msgstr "Медленный наклон" + +#: src/libslic3r/PrintConfig.cpp:2644 +msgid "Time of the slow tilt" +msgstr "Время медленного наклона." + +#: src/libslic3r/PrintConfig.cpp:2651 +msgid "Area fill" +msgstr "Площадь заполнения" + +#: src/libslic3r/PrintConfig.cpp:2652 msgid "" "The percentage of the bed area. \n" "If the print area exceeds the specified value, \n" "then a slow tilt will be used, otherwise - a fast tilt" msgstr "" +"Процент от площади стола. Если область печати превышает указанное значение, то " +"будет использоваться медленный наклон, в противном случае - быстрый наклон." -#: src/libslic3r/PrintConfig.cpp:2627 src/libslic3r/PrintConfig.cpp:2628 -#: src/libslic3r/PrintConfig.cpp:2629 +#: src/libslic3r/PrintConfig.cpp:2659 src/libslic3r/PrintConfig.cpp:2660 +#: src/libslic3r/PrintConfig.cpp:2661 msgid "Printer scaling correction" -msgstr "" +msgstr "Корректировка масштабирования" -#: src/libslic3r/PrintConfig.cpp:2635 src/libslic3r/PrintConfig.cpp:2636 +#: src/libslic3r/PrintConfig.cpp:2667 src/libslic3r/PrintConfig.cpp:2668 msgid "Printer absolute correction" -msgstr "" +msgstr "Абсолютная корректировка принтера" -#: src/libslic3r/PrintConfig.cpp:2637 +#: src/libslic3r/PrintConfig.cpp:2669 msgid "" "Will inflate or deflate the sliced 2D polygons according to the sign of the " "correction." msgstr "" +"Будет надувать или сдувать нарезанные 2D-полигоны в соответствии со знаком " +"коррекции." -#: src/libslic3r/PrintConfig.cpp:2643 +#: src/libslic3r/PrintConfig.cpp:2675 msgid "Elephant foot minimum width" -msgstr "" +msgstr "Минимальная ширина \"слоновьей ноги\"" -#: src/libslic3r/PrintConfig.cpp:2645 -msgid "" -"Minimum width of features to maintain when doing elephant foot compensation." +#: src/libslic3r/PrintConfig.cpp:2677 +msgid "Minimum width of features to maintain when doing elephant foot compensation." msgstr "" +"Минимальная ширина, которую нужно поддерживать для компенсации \"слоновьей ноги\"." -#: src/libslic3r/PrintConfig.cpp:2652 src/libslic3r/PrintConfig.cpp:2653 +#: src/libslic3r/PrintConfig.cpp:2684 src/libslic3r/PrintConfig.cpp:2685 msgid "Printer gamma correction" -msgstr "Гамма модификация принтера" +msgstr "Корректировка гаммы-коррекции" -#: src/libslic3r/PrintConfig.cpp:2654 +#: src/libslic3r/PrintConfig.cpp:2686 msgid "" -"This will apply a gamma correction to the rasterized 2D polygons. A gamma " -"value of zero means thresholding with the threshold in the middle. This " -"behaviour eliminates antialiasing without losing holes in polygons." +"This will apply a gamma correction to the rasterized 2D polygons. A gamma value of " +"zero means thresholding with the threshold in the middle. This behaviour eliminates " +"antialiasing without losing holes in polygons." msgstr "" +"Будет применена гамма-коррекция к растрированным 2D-полигонам. Нулевое значение " +"гаммы означает пороговое значение с порогом посередине. Такое поведение убирает " +"сглаживание без потери отверстий в полигонах." -#: src/libslic3r/PrintConfig.cpp:2666 src/libslic3r/PrintConfig.cpp:2667 +#: src/libslic3r/PrintConfig.cpp:2698 src/libslic3r/PrintConfig.cpp:2699 msgid "SLA material type" -msgstr "Тип материала SLA" +msgstr "Тип SLA материала" -#: src/libslic3r/PrintConfig.cpp:2678 src/libslic3r/PrintConfig.cpp:2679 +#: src/libslic3r/PrintConfig.cpp:2710 src/libslic3r/PrintConfig.cpp:2711 msgid "Initial layer height" -msgstr "Высота исходного слоя" +msgstr "Начальная высота слоя" -#: src/libslic3r/PrintConfig.cpp:2685 src/libslic3r/PrintConfig.cpp:2686 +#: src/libslic3r/PrintConfig.cpp:2717 src/libslic3r/PrintConfig.cpp:2718 msgid "Bottle volume" -msgstr "Объем бутылки" +msgstr "Объём бутылки" -#: src/libslic3r/PrintConfig.cpp:2687 +#: src/libslic3r/PrintConfig.cpp:2719 msgid "ml" msgstr "мл" -#: src/libslic3r/PrintConfig.cpp:2692 src/libslic3r/PrintConfig.cpp:2693 +#: src/libslic3r/PrintConfig.cpp:2724 src/libslic3r/PrintConfig.cpp:2725 msgid "Bottle weight" -msgstr "" +msgstr "Вес бутылки" -#: src/libslic3r/PrintConfig.cpp:2694 +#: src/libslic3r/PrintConfig.cpp:2726 msgid "kg" msgstr "кг" -#: src/libslic3r/PrintConfig.cpp:2701 +#: src/libslic3r/PrintConfig.cpp:2733 msgid "g/ml" msgstr "г/мл" -#: src/libslic3r/PrintConfig.cpp:2708 +#: src/libslic3r/PrintConfig.cpp:2740 msgid "money/bottle" -msgstr "денег/бутылка" +msgstr "цена/бутылка" -#: src/libslic3r/PrintConfig.cpp:2713 +#: src/libslic3r/PrintConfig.cpp:2745 msgid "Faded layers" -msgstr "" +msgstr "Начальных слоёв" -#: src/libslic3r/PrintConfig.cpp:2714 +#: src/libslic3r/PrintConfig.cpp:2746 msgid "" -"Number of the layers needed for the exposure time fade from initial exposure " -"time to the exposure time" +"Number of the layers needed for the exposure time fade from initial exposure time " +"to the exposure time" msgstr "" +"Количество начальных слоёв, необходимых для изменения времени засветки от \"Время " +"засветки начальных слоёв\" до \"Время засветки основных слоёв\"." -#: src/libslic3r/PrintConfig.cpp:2721 src/libslic3r/PrintConfig.cpp:2722 +#: src/libslic3r/PrintConfig.cpp:2753 src/libslic3r/PrintConfig.cpp:2754 msgid "Minimum exposure time" -msgstr "Минимальное время контакта" +msgstr "Мин. время засветки основных слоёв" -#: src/libslic3r/PrintConfig.cpp:2729 src/libslic3r/PrintConfig.cpp:2730 +#: src/libslic3r/PrintConfig.cpp:2761 src/libslic3r/PrintConfig.cpp:2762 msgid "Maximum exposure time" -msgstr "Максимальное время контакта" +msgstr "Макс. время засветки основных слоёв" -#: src/libslic3r/PrintConfig.cpp:2737 src/libslic3r/PrintConfig.cpp:2738 +#: src/libslic3r/PrintConfig.cpp:2769 src/libslic3r/PrintConfig.cpp:2770 msgid "Exposure time" -msgstr "Время контакта" +msgstr "Время засветки обычных слоёв" -#: src/libslic3r/PrintConfig.cpp:2744 src/libslic3r/PrintConfig.cpp:2745 +#: src/libslic3r/PrintConfig.cpp:2776 src/libslic3r/PrintConfig.cpp:2777 msgid "Minimum initial exposure time" -msgstr "Минимальное начальное время контакта" +msgstr "Мин. время засветки начальных слоёв" -#: src/libslic3r/PrintConfig.cpp:2752 src/libslic3r/PrintConfig.cpp:2753 +#: src/libslic3r/PrintConfig.cpp:2784 src/libslic3r/PrintConfig.cpp:2785 msgid "Maximum initial exposure time" -msgstr "" +msgstr "Макс. время засветки начальных слоёв" -#: src/libslic3r/PrintConfig.cpp:2760 src/libslic3r/PrintConfig.cpp:2761 +#: src/libslic3r/PrintConfig.cpp:2792 src/libslic3r/PrintConfig.cpp:2793 msgid "Initial exposure time" -msgstr "" +msgstr "Время засветки начальных слоёв" -#: src/libslic3r/PrintConfig.cpp:2767 src/libslic3r/PrintConfig.cpp:2768 +#: src/libslic3r/PrintConfig.cpp:2799 src/libslic3r/PrintConfig.cpp:2800 msgid "Correction for expansion" -msgstr "" +msgstr "Коррекция расширения" -#: src/libslic3r/PrintConfig.cpp:2774 +#: src/libslic3r/PrintConfig.cpp:2806 msgid "SLA print material notes" -msgstr "Примечания к материалу для SLA-печати" +msgstr "Примечание к SLA материалу" -#: src/libslic3r/PrintConfig.cpp:2775 +#: src/libslic3r/PrintConfig.cpp:2807 msgid "You can put your notes regarding the SLA print material here." -msgstr "Здесь вы можете разместить свои заметки о материале для SLA печати." +msgstr "" +"Здесь вы можете разместить свои заметки относительно SLA материала для печати." -#: src/libslic3r/PrintConfig.cpp:2787 src/libslic3r/PrintConfig.cpp:2798 +#: src/libslic3r/PrintConfig.cpp:2819 src/libslic3r/PrintConfig.cpp:2830 msgid "Default SLA material profile" -msgstr "Профиль материала SLA-печати по умолчанию" +msgstr "Профиль SLA материала по умолчанию" -#: src/libslic3r/PrintConfig.cpp:2809 +#: src/libslic3r/PrintConfig.cpp:2841 msgid "Generate supports" -msgstr "" +msgstr "Генерировать поддержку" -#: src/libslic3r/PrintConfig.cpp:2811 +#: src/libslic3r/PrintConfig.cpp:2843 msgid "Generate supports for the models" -msgstr "" +msgstr "Генерация поддержки для моделей." -#: src/libslic3r/PrintConfig.cpp:2816 +#: src/libslic3r/PrintConfig.cpp:2848 msgid "Pinhead front diameter" -msgstr "" +msgstr "Диаметр носика поддержки" -#: src/libslic3r/PrintConfig.cpp:2818 +#: src/libslic3r/PrintConfig.cpp:2850 msgid "Diameter of the pointing side of the head" -msgstr "" +msgstr "Диаметр носика поддержки." -#: src/libslic3r/PrintConfig.cpp:2825 +#: src/libslic3r/PrintConfig.cpp:2857 msgid "Head penetration" -msgstr "" +msgstr "Глубина проникновения носика поддержки" -#: src/libslic3r/PrintConfig.cpp:2827 +#: src/libslic3r/PrintConfig.cpp:2859 msgid "How much the pinhead has to penetrate the model surface" -msgstr "" +msgstr "Задаёт, как глубоко носик поддержки будет проникать в модель." -#: src/libslic3r/PrintConfig.cpp:2834 +#: src/libslic3r/PrintConfig.cpp:2866 msgid "Pinhead width" -msgstr "" +msgstr "Длина носика поддержки" -#: src/libslic3r/PrintConfig.cpp:2836 +#: src/libslic3r/PrintConfig.cpp:2868 msgid "Width from the back sphere center to the front sphere center" msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2844 -msgid "Pillar diameter" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2846 -msgid "Diameter in mm of the support pillars" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2854 -msgid "Small pillar diameter percent" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2856 -msgid "" -"The percentage of smaller pillars compared to the normal pillar diameter " -"which are used in problematic areas where a normal pilla cannot fit." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2865 -msgid "Max bridges on a pillar" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2867 -msgid "" -"Maximum number of bridges that can be placed on a pillar. Bridges hold " -"support point pinheads and connect to pillars as small branches." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2875 -msgid "Pillar connection mode" -msgstr "" +"Длина носика поддержки (ширина от центра задней сферы до центра передней сферы)." #: src/libslic3r/PrintConfig.cpp:2876 -msgid "" -"Controls the bridge type between two neighboring pillars. Can be zig-zag, " -"cross (double zig-zag) or dynamic which will automatically switch between " -"the first two depending on the distance of the two pillars." -msgstr "" +msgid "Pillar diameter" +msgstr "Диаметр тела поддержки" -#: src/libslic3r/PrintConfig.cpp:2884 -msgid "Zig-Zag" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2885 -msgid "Cross" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2878 +msgid "Diameter in mm of the support pillars" +msgstr "Диаметр тела поддержки в мм." #: src/libslic3r/PrintConfig.cpp:2886 +msgid "Small pillar diameter percent" +msgstr "Диаметр маленьких тел поддержки в процентах" + +#: src/libslic3r/PrintConfig.cpp:2888 +msgid "" +"The percentage of smaller pillars compared to the normal pillar diameter which are " +"used in problematic areas where a normal pilla cannot fit." +msgstr "" +"Размер тел поддержки меньшего размера в процентах по сравнению с обычным диаметром " +"тел поддержки, которые используются в проблемных областях, где нормальный столбик " +"поддержки не может поместиться." + +#: src/libslic3r/PrintConfig.cpp:2897 +msgid "Max bridges on a pillar" +msgstr "Макс. количество мостов на теле поддержки" + +#: src/libslic3r/PrintConfig.cpp:2899 +msgid "" +"Maximum number of bridges that can be placed on a pillar. Bridges hold support " +"point pinheads and connect to pillars as small branches." +msgstr "" +"Максимальное количество мостов, которые можно разместить на теле поддержки. Мосты " +"удерживают носики поддержки и соединяются с телами поддержки в виде небольших " +"ветвей." + +#: src/libslic3r/PrintConfig.cpp:2907 +msgid "Pillar connection mode" +msgstr "Тип соединения тела поддержки" + +#: src/libslic3r/PrintConfig.cpp:2908 +msgid "" +"Controls the bridge type between two neighboring pillars. Can be zig-zag, cross " +"(double zig-zag) or dynamic which will automatically switch between the first two " +"depending on the distance of the two pillars." +msgstr "" +"Управляет типом мостов, которые соединяют соседние тела поддержки. Может быть " +"зигзагообразным, перекрёстным (двойной зигзаг) или динамическим, который " +"автоматически переключается между первыми двумя, в зависимости от расстояния между " +"телами поддержки." + +#: src/libslic3r/PrintConfig.cpp:2916 +msgid "Zig-Zag" +msgstr "Зигзагообразный" + +#: src/libslic3r/PrintConfig.cpp:2917 +msgid "Cross" +msgstr "Перекрёстный" + +#: src/libslic3r/PrintConfig.cpp:2918 msgid "Dynamic" -msgstr "" +msgstr "Динамический" -#: src/libslic3r/PrintConfig.cpp:2898 +#: src/libslic3r/PrintConfig.cpp:2930 msgid "Pillar widening factor" -msgstr "" +msgstr "Коэффициент расширения тела поддержки" -#: src/libslic3r/PrintConfig.cpp:2900 +#: src/libslic3r/PrintConfig.cpp:2932 msgid "" -"Merging bridges or pillars into another pillars can increase the radius. " -"Zero means no increase, one means full increase." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2909 -msgid "Support base diameter" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2911 -msgid "Diameter in mm of the pillar base" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2919 -msgid "Support base height" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2921 -msgid "The height of the pillar base cone" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2928 -msgid "Support base safety distance" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2931 -msgid "" -"The minimum distance of the pillar base from the model in mm. Makes sense in " -"zero elevation mode where a gap according to this parameter is inserted " -"between the model and the pad." +"Merging bridges or pillars into another pillars can increase the radius. Zero means " +"no increase, one means full increase." msgstr "" +"Слияние мостов или тел поддержки в другие тела поддержки может увеличить их радиус. " +"0 - отсутствие увеличения, 1 - полное увеличение." #: src/libslic3r/PrintConfig.cpp:2941 +msgid "Support base diameter" +msgstr "Диаметр основания поддержки" + +#: src/libslic3r/PrintConfig.cpp:2943 +msgid "Diameter in mm of the pillar base" +msgstr "Диаметр основания поддержки в мм." + +#: src/libslic3r/PrintConfig.cpp:2951 +msgid "Support base height" +msgstr "Высота основания поддержки" + +#: src/libslic3r/PrintConfig.cpp:2953 +msgid "The height of the pillar base cone" +msgstr "Высота конусообразного основания поддержки." + +#: src/libslic3r/PrintConfig.cpp:2960 +msgid "Support base safety distance" +msgstr "Безопасное расстояние основания поддержки" + +#: src/libslic3r/PrintConfig.cpp:2963 +msgid "" +"The minimum distance of the pillar base from the model in mm. Makes sense in zero " +"elevation mode where a gap according to this parameter is inserted between the " +"model and the pad." +msgstr "" +"Минимальное расстояние между основанием поддержки и моделью в мм. Имеет смысл в " +"режиме нулевой высоты подъёма, когда между моделью и подложкой вставляется зазор " +"заданный этим параметром." + +#: src/libslic3r/PrintConfig.cpp:2973 msgid "Critical angle" msgstr "Критический угол" -#: src/libslic3r/PrintConfig.cpp:2943 +#: src/libslic3r/PrintConfig.cpp:2975 msgid "The default angle for connecting support sticks and junctions." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2951 -msgid "Max bridge length" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2953 -msgid "The max length of a bridge" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2960 -msgid "Max pillar linking distance" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2962 -msgid "" -"The max distance of two pillars to get linked with each other. A zero value " -"will prohibit pillar cascading." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2972 -msgid "" -"How much the supports should lift up the supported object. If \"Pad around " -"object\" is enabled, this value is ignored." -msgstr "" +msgstr "Угол соединения опор поддержки со связующим узлом." #: src/libslic3r/PrintConfig.cpp:2983 -msgid "This is a relative measure of support points density." -msgstr "" +msgid "Max bridge length" +msgstr "Максимальная длина моста" -#: src/libslic3r/PrintConfig.cpp:2989 -msgid "Minimal distance of the support points" -msgstr "Минимальное расстояние опорных точек" +#: src/libslic3r/PrintConfig.cpp:2985 +msgid "The max length of a bridge" +msgstr "Максимальная длина моста." -#: src/libslic3r/PrintConfig.cpp:2991 -msgid "No support points will be placed closer than this threshold." -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2992 +msgid "Max pillar linking distance" +msgstr "Максимальное расстояние между телом поддержки" -#: src/libslic3r/PrintConfig.cpp:2997 -msgid "Use pad" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2999 -msgid "Add a pad underneath the supported model" +#: src/libslic3r/PrintConfig.cpp:2994 +msgid "" +"The max distance of two pillars to get linked with each other. A zero value will " +"prohibit pillar cascading." msgstr "" +"Максимальное расстояние между двумя телами поддержки для связи друг с другом. " +"Нулевое значение - запрет на соединение тел поддержки каскадом." #: src/libslic3r/PrintConfig.cpp:3004 -msgid "Pad wall thickness" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3006 -msgid "The thickness of the pad and its optional cavity walls." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3014 -msgid "Pad wall height" +msgid "" +"How much the supports should lift up the supported object. If \"Pad around object\" " +"is enabled, this value is ignored." msgstr "" +"Определяет насколько опоры должны поднимать поддерживаемую модель. Если включёно " +"\"Подложка вокруг модели\", это значение игнорируется." #: src/libslic3r/PrintConfig.cpp:3015 -msgid "" -"Defines the pad cavity depth. Set to zero to disable the cavity. Be careful " -"when enabling this feature, as some resins may produce an extreme suction " -"effect inside the cavity, which makes peeling the print off the vat foil " -"difficult." -msgstr "" +msgid "This is a relative measure of support points density." +msgstr "Относительный показатель плотности точек поддержки." -#: src/libslic3r/PrintConfig.cpp:3028 -msgid "Pad brim size" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:3021 +msgid "Minimal distance of the support points" +msgstr "Минимальное расстояние между точками поддержки" + +#: src/libslic3r/PrintConfig.cpp:3023 +msgid "No support points will be placed closer than this threshold." +msgstr "Точки поддержки не будут размещены ближе этого порогового значения." #: src/libslic3r/PrintConfig.cpp:3029 -msgid "How far should the pad extend around the contained geometry" -msgstr "" +msgid "Use pad" +msgstr "Использовать подложку" -#: src/libslic3r/PrintConfig.cpp:3039 -msgid "Max merge distance" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:3031 +msgid "Add a pad underneath the supported model" +msgstr "Добавляет подложку под поддерживаемую модель." -#: src/libslic3r/PrintConfig.cpp:3041 +#: src/libslic3r/PrintConfig.cpp:3036 +msgid "Pad wall thickness" +msgstr "Толщина стенки подложки" + +#: src/libslic3r/PrintConfig.cpp:3038 +msgid "The thickness of the pad and its optional cavity walls." +msgstr "Толщина подложки и её дополнительных стенок полости." + +#: src/libslic3r/PrintConfig.cpp:3046 +msgid "Pad wall height" +msgstr "Высота стенки подложки" + +#: src/libslic3r/PrintConfig.cpp:3047 msgid "" -"Some objects can get along with a few smaller pads instead of a single big " -"one. This parameter defines how far the center of two smaller pads should " -"be. If theyare closer, they will get merged into one pad." +"Defines the pad cavity depth. Set to zero to disable the cavity. Be careful when " +"enabling this feature, as some resins may produce an extreme suction effect inside " +"the cavity, which makes peeling the print off the vat foil difficult." msgstr "" +"Определяет глубину полости в подложке. Установите нулевое значение, чтобы не делать " +"полость. Будьте осторожны при включении этой функции, так как некоторые смолы могут " +"создавать чрезмерный эффект всасывания внутри полости, что затрудняет снятие модели." + +#: src/libslic3r/PrintConfig.cpp:3060 +msgid "Pad brim size" +msgstr "Размер каймы подложки" #: src/libslic3r/PrintConfig.cpp:3061 +msgid "How far should the pad extend around the contained geometry" +msgstr "Как далеко должна простираться подложка вокруг существующей геометрии." + +#: src/libslic3r/PrintConfig.cpp:3071 +msgid "Max merge distance" +msgstr "Максимальное расстояние слияния" + +#: src/libslic3r/PrintConfig.cpp:3073 +msgid "" +"Some objects can get along with a few smaller pads instead of a single big one. " +"This parameter defines how far the center of two smaller pads should be. If theyare " +"closer, they will get merged into one pad." +msgstr "" +"Некоторые модели могут поместиться на нескольких маленьких подложках вместо одной " +"большой. Этот параметр определяет, как далеко должен находиться центр двух меньших " +"подложек. Если они находятся слишком близко, то будут объединены в одну подложку." + +#: src/libslic3r/PrintConfig.cpp:3093 msgid "Pad wall slope" -msgstr "" +msgstr "Наклон стенки подложки" -#: src/libslic3r/PrintConfig.cpp:3063 +#: src/libslic3r/PrintConfig.cpp:3095 msgid "" -"The slope of the pad wall relative to the bed plane. 90 degrees means " -"straight walls." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3074 -msgid "Create pad around object and ignore the support elevation" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3079 -msgid "Pad around object everywhere" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3081 -msgid "Force pad around object everywhere" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3086 -msgid "Pad object gap" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3088 -msgid "" -"The gap between the object bottom and the generated pad in zero elevation " -"mode." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3097 -msgid "Pad object connector stride" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3099 -msgid "" -"Distance between two connector sticks which connect the object and the " -"generated pad." +"The slope of the pad wall relative to the bed plane. 90 degrees means straight " +"walls." msgstr "" +"Наклон стенки подложки относительно плоскости стола. 90 градусов означает прямые " +"стены." #: src/libslic3r/PrintConfig.cpp:3106 -msgid "Pad object connector width" -msgstr "" +msgid "Create pad around object and ignore the support elevation" +msgstr "Создаёт подложку вокруг модели, игнорируя высоту подъёма поддержкой." -#: src/libslic3r/PrintConfig.cpp:3108 -msgid "" -"Width of the connector sticks which connect the object and the generated pad." -msgstr "" +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Pad around object everywhere" +msgstr "Подложка вокруг модели везде" -#: src/libslic3r/PrintConfig.cpp:3115 -msgid "Pad object connector penetration" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:3113 +msgid "Force pad around object everywhere" +msgstr "Принудительное создание подложки вокруг модели везде." #: src/libslic3r/PrintConfig.cpp:3118 +msgid "Pad object gap" +msgstr "Зазор между дном модели и подложкой" + +#: src/libslic3r/PrintConfig.cpp:3120 +msgid "" +"The gap between the object bottom and the generated pad in zero elevation mode." +msgstr "" +"Зазор между дном модели и сгенерированной подложкой в режиме нулевой высоты подъёма." + +#: src/libslic3r/PrintConfig.cpp:3129 +msgid "Pad object connector stride" +msgstr "Шаг соединительного элемента подложки модели" + +#: src/libslic3r/PrintConfig.cpp:3131 +msgid "" +"Distance between two connector sticks which connect the object and the generated " +"pad." +msgstr "" +"Расстояние между двумя соединительными опорами, которые соединяют модель и " +"сгенерированную подложку." + +#: src/libslic3r/PrintConfig.cpp:3138 +msgid "Pad object connector width" +msgstr "Ширина соединительного элемента подложки модели" + +#: src/libslic3r/PrintConfig.cpp:3140 +msgid "Width of the connector sticks which connect the object and the generated pad." +msgstr "" +"Ширина соединительных опор, которые соединяют модель со сгенерированной подложкой." + +#: src/libslic3r/PrintConfig.cpp:3147 +msgid "Pad object connector penetration" +msgstr "Глубина проникновения соединительного элемента в модель" + +#: src/libslic3r/PrintConfig.cpp:3150 msgid "How much should the tiny connectors penetrate into the model body." -msgstr "" +msgstr "Задаёт как глубоко соединительные элементы должны проникают в тело модели." -#: src/libslic3r/PrintConfig.cpp:3125 +#: src/libslic3r/PrintConfig.cpp:3157 msgid "Enable hollowing" -msgstr "" +msgstr "Создавать полость" -#: src/libslic3r/PrintConfig.cpp:3127 +#: src/libslic3r/PrintConfig.cpp:3159 msgid "Hollow out a model to have an empty interior" -msgstr "" +msgstr "Создание пустотелой модели." -#: src/libslic3r/PrintConfig.cpp:3132 +#: src/libslic3r/PrintConfig.cpp:3164 msgid "Wall thickness" -msgstr "" +msgstr "Толщина стенки" -#: src/libslic3r/PrintConfig.cpp:3134 +#: src/libslic3r/PrintConfig.cpp:3166 msgid "Minimum wall thickness of a hollowed model." -msgstr "" +msgstr "Минимальная толщина стенки полой модели." -#: src/libslic3r/PrintConfig.cpp:3142 +#: src/libslic3r/PrintConfig.cpp:3174 msgid "Accuracy" -msgstr "" +msgstr "Точность" -#: src/libslic3r/PrintConfig.cpp:3144 +#: src/libslic3r/PrintConfig.cpp:3176 msgid "" -"Performance vs accuracy of calculation. Lower values may produce unwanted " -"artifacts." +"Performance vs accuracy of calculation. Lower values may produce unwanted artifacts." msgstr "" +"Быстродействие расчёта против точности расчёта. \n" +"Низкие значения этого параметра могут привести к нежелательным артефактам." -#: src/libslic3r/PrintConfig.cpp:3154 +#: src/libslic3r/PrintConfig.cpp:3186 msgid "" -"Hollowing is done in two steps: first, an imaginary interior is calculated " -"deeper (offset plus the closing distance) in the object and then it's " -"inflated back to the specified offset. A greater closing distance makes the " -"interior more rounded. At zero, the interior will resemble the exterior the " -"most." +"Hollowing is done in two steps: first, an imaginary interior is calculated deeper " +"(offset plus the closing distance) in the object and then it's inflated back to the " +"specified offset. A greater closing distance makes the interior more rounded. At " +"zero, the interior will resemble the exterior the most." msgstr "" +"Полость в модели формуется в два этапа: сначала воображаемое внутреннее " +"пространство просчитывает глубину в объекте (смещение, плюс расстояние смыкания), а " +"затем раздувается обратно до указанного смещения. Большое значение расстояния " +"сшивки делает внутреннее пространство более округлым. При нулевом значении " +"внутреннее пространство будет больше всего напоминать наружную сторону модели." -#: src/libslic3r/PrintConfig.cpp:3567 +#: src/libslic3r/PrintConfig.cpp:3602 msgid "Export OBJ" msgstr "Экспорт в OBJ" -#: src/libslic3r/PrintConfig.cpp:3568 +#: src/libslic3r/PrintConfig.cpp:3603 msgid "Export the model(s) as OBJ." -msgstr "" +msgstr "Экспортировать модель(и) в формат OBJ." -#: src/libslic3r/PrintConfig.cpp:3579 +#: src/libslic3r/PrintConfig.cpp:3614 msgid "Export SLA" -msgstr "" +msgstr "Экспорт для SLA печати" -#: src/libslic3r/PrintConfig.cpp:3580 +#: src/libslic3r/PrintConfig.cpp:3615 msgid "Slice the model and export SLA printing layers as PNG." -msgstr "" +msgstr "Нарезать модель и экспортировать слои печати для SLA в формат PNG." -#: src/libslic3r/PrintConfig.cpp:3585 +#: src/libslic3r/PrintConfig.cpp:3620 msgid "Export 3MF" msgstr "Экспорт в 3MF" -#: src/libslic3r/PrintConfig.cpp:3586 +#: src/libslic3r/PrintConfig.cpp:3621 msgid "Export the model(s) as 3MF." -msgstr "Экспортировать модель(и) в 3MF." +msgstr "Экспортировать модель(и) в формат 3MF." -#: src/libslic3r/PrintConfig.cpp:3590 +#: src/libslic3r/PrintConfig.cpp:3625 msgid "Export AMF" msgstr "Экспорт в AMF" -#: src/libslic3r/PrintConfig.cpp:3591 +#: src/libslic3r/PrintConfig.cpp:3626 msgid "Export the model(s) as AMF." -msgstr "Экспортировать модель(и) в AMF." +msgstr "Экспортировать модель(и) в формат AMF." -#: src/libslic3r/PrintConfig.cpp:3595 +#: src/libslic3r/PrintConfig.cpp:3630 msgid "Export STL" msgstr "Экспорт в STL" -#: src/libslic3r/PrintConfig.cpp:3596 +#: src/libslic3r/PrintConfig.cpp:3631 msgid "Export the model(s) as STL." -msgstr "Экспортировать модель(и) в STL." +msgstr "Экспортировать модель(и) в формат STL." -#: src/libslic3r/PrintConfig.cpp:3601 +#: src/libslic3r/PrintConfig.cpp:3636 msgid "Slice the model and export toolpaths as G-code." -msgstr "Нарезать модель и экспортировать траектории в G-код." +msgstr "" +"Нарезать модель и экспортировать траекторию движения инструмента в G-код файл." -#: src/libslic3r/PrintConfig.cpp:3606 +#: src/libslic3r/PrintConfig.cpp:3641 msgid "G-code viewer" -msgstr "" +msgstr "Просмотрщик G-кода" -#: src/libslic3r/PrintConfig.cpp:3607 +#: src/libslic3r/PrintConfig.cpp:3642 msgid "Visualize an already sliced and saved G-code" -msgstr "" +msgstr "Визуализация уже нарезанного и сохраненного G-кода" -#: src/libslic3r/PrintConfig.cpp:3612 +#: src/libslic3r/PrintConfig.cpp:3647 msgid "Slice" msgstr "Нарезать" -#: src/libslic3r/PrintConfig.cpp:3613 +#: src/libslic3r/PrintConfig.cpp:3648 msgid "" -"Slice the model as FFF or SLA based on the printer_technology configuration " -"value." +"Slice the model as FFF or SLA based on the printer_technology configuration value." msgstr "" +"Нарезает модель в зависимости от типа печати (FFF или SLA) на основе значения " +"конфигурации printer_technology." -#: src/libslic3r/PrintConfig.cpp:3618 +#: src/libslic3r/PrintConfig.cpp:3653 msgid "Help" -msgstr "Справка" +msgstr "Помощь" -#: src/libslic3r/PrintConfig.cpp:3619 +#: src/libslic3r/PrintConfig.cpp:3654 msgid "Show this help." -msgstr "Показать эту справку." +msgstr "Показать помощь." -#: src/libslic3r/PrintConfig.cpp:3624 +#: src/libslic3r/PrintConfig.cpp:3659 msgid "Help (FFF options)" -msgstr "Справка (параметры для FFF)" +msgstr "Помощь (FFF настройки)" -#: src/libslic3r/PrintConfig.cpp:3625 +#: src/libslic3r/PrintConfig.cpp:3660 msgid "Show the full list of print/G-code configuration options." -msgstr "Показать полный список параметров настройки печати/G-кода." +msgstr "Показать полный список параметров конфигурации печати/G-кода." -#: src/libslic3r/PrintConfig.cpp:3629 +#: src/libslic3r/PrintConfig.cpp:3664 msgid "Help (SLA options)" -msgstr "Справка (параметры для SLA)" +msgstr "Помощь (SLA настройки)" -#: src/libslic3r/PrintConfig.cpp:3630 +#: src/libslic3r/PrintConfig.cpp:3665 msgid "Show the full list of SLA print configuration options." -msgstr "Показать полный список параметров настройки печати по технологии SLA." +msgstr "Показать полный список параметров конфигурации SLA печати." -#: src/libslic3r/PrintConfig.cpp:3634 +#: src/libslic3r/PrintConfig.cpp:3669 msgid "Output Model Info" -msgstr "Вывести информацию о модели" +msgstr "Информация о выходной модели" -#: src/libslic3r/PrintConfig.cpp:3635 +#: src/libslic3r/PrintConfig.cpp:3670 msgid "Write information about the model to the console." msgstr "Записать информацию о модели в консоль." -#: src/libslic3r/PrintConfig.cpp:3639 +#: src/libslic3r/PrintConfig.cpp:3674 msgid "Save config file" -msgstr "Сохранить файл настроек" +msgstr "Сохранить конфигурацию" -#: src/libslic3r/PrintConfig.cpp:3640 +#: src/libslic3r/PrintConfig.cpp:3675 msgid "Save configuration to the specified file." -msgstr "Сохранить настройки в указанный файл." +msgstr "Сохраните конфигурацию в указанный файл." -#: src/libslic3r/PrintConfig.cpp:3650 +#: src/libslic3r/PrintConfig.cpp:3685 msgid "Align XY" -msgstr "Выровнять XY" +msgstr "Выровнять по XY" -#: src/libslic3r/PrintConfig.cpp:3651 +#: src/libslic3r/PrintConfig.cpp:3686 msgid "Align the model to the given point." -msgstr "Выровнять модель в указанной точке." +msgstr "Выровнять модель по заданной точке." -#: src/libslic3r/PrintConfig.cpp:3656 +#: src/libslic3r/PrintConfig.cpp:3691 msgid "Cut model at the given Z." -msgstr "Разрезать модель на указанном Z." +msgstr "Разрезать модель по Z." -#: src/libslic3r/PrintConfig.cpp:3677 +#: src/libslic3r/PrintConfig.cpp:3712 msgid "Center" -msgstr "Центр" +msgstr "По центру" -#: src/libslic3r/PrintConfig.cpp:3678 +#: src/libslic3r/PrintConfig.cpp:3713 msgid "Center the print around the given center." -msgstr "Расположить печать вокруг указанного центра." +msgstr "Центрировать печать вокруг данного центра." -#: src/libslic3r/PrintConfig.cpp:3682 +#: src/libslic3r/PrintConfig.cpp:3717 msgid "Don't arrange" msgstr "Не расставлять" -#: src/libslic3r/PrintConfig.cpp:3683 +#: src/libslic3r/PrintConfig.cpp:3718 msgid "" "Do not rearrange the given models before merging and keep their original XY " "coordinates." msgstr "" +"Не переставлять данные модели перед объединением и сохранять их исходные XY " +"координаты." -#: src/libslic3r/PrintConfig.cpp:3686 +#: src/libslic3r/PrintConfig.cpp:3721 msgid "Duplicate" -msgstr "" +msgstr "Дубликат" -#: src/libslic3r/PrintConfig.cpp:3687 +#: src/libslic3r/PrintConfig.cpp:3722 msgid "Multiply copies by this factor." -msgstr "" +msgstr "Увеличить количество копий на этот коэффициент." -#: src/libslic3r/PrintConfig.cpp:3691 +#: src/libslic3r/PrintConfig.cpp:3726 msgid "Duplicate by grid" -msgstr "" +msgstr "Дублировать по сетке" -#: src/libslic3r/PrintConfig.cpp:3692 +#: src/libslic3r/PrintConfig.cpp:3727 msgid "Multiply copies by creating a grid." -msgstr "" +msgstr "Увеличить количество копий путём создания сетки." -#: src/libslic3r/PrintConfig.cpp:3696 +#: src/libslic3r/PrintConfig.cpp:3731 msgid "" -"Arrange the supplied models in a plate and merge them in a single model in " -"order to perform actions once." +"Arrange the supplied models in a plate and merge them in a single model in order to " +"perform actions once." msgstr "" +"Расставьте представленные модели на столе и объединить их в одну модель, чтобы " +"выполнить действия один раз." -#: src/libslic3r/PrintConfig.cpp:3701 +#: src/libslic3r/PrintConfig.cpp:3736 msgid "" -"Try to repair any non-manifold meshes (this option is implicitly added " -"whenever we need to slice the model to perform the requested action)." +"Try to repair any non-manifold meshes (this option is implicitly added whenever we " +"need to slice the model to perform the requested action)." msgstr "" +"Попробуйте отремонтировать любые нецелостные сетки (эта опция добавляется всякий " +"раз, когда нужно нарезать модель для выполнения запрошенного действия)." -#: src/libslic3r/PrintConfig.cpp:3705 +#: src/libslic3r/PrintConfig.cpp:3740 msgid "Rotation angle around the Z axis in degrees." -msgstr "" +msgstr "Угол поворота вокруг оси Z в градусах." -#: src/libslic3r/PrintConfig.cpp:3709 +#: src/libslic3r/PrintConfig.cpp:3744 msgid "Rotate around X" -msgstr "Повернуть вокруг X" +msgstr "Поворот вокруг оси X" -#: src/libslic3r/PrintConfig.cpp:3710 +#: src/libslic3r/PrintConfig.cpp:3745 msgid "Rotation angle around the X axis in degrees." -msgstr "Поворот вокруг оси X в градусах." +msgstr "Угол поворота вокруг оси X в градусах." -#: src/libslic3r/PrintConfig.cpp:3714 +#: src/libslic3r/PrintConfig.cpp:3749 msgid "Rotate around Y" -msgstr "Повернуть вокруг Y" +msgstr "Поворот вокруг оси Y" -#: src/libslic3r/PrintConfig.cpp:3715 +#: src/libslic3r/PrintConfig.cpp:3750 msgid "Rotation angle around the Y axis in degrees." -msgstr "Поворот вокруг оси Y в градусах." +msgstr "Угол поворота вокруг оси Y в градусах." -#: src/libslic3r/PrintConfig.cpp:3720 +#: src/libslic3r/PrintConfig.cpp:3755 msgid "Scaling factor or percentage." -msgstr "" +msgstr "Коэффициент масштабирования или процент." -#: src/libslic3r/PrintConfig.cpp:3725 +#: src/libslic3r/PrintConfig.cpp:3760 msgid "" -"Detect unconnected parts in the given model(s) and split them into separate " -"objects." +"Detect unconnected parts in the given model(s) and split them into separate objects." msgstr "" +"Обнаружение несвязанных частей в выбранных моделях и разделение их на отдельные " +"объекты." -#: src/libslic3r/PrintConfig.cpp:3728 +#: src/libslic3r/PrintConfig.cpp:3763 msgid "Scale to Fit" -msgstr "Масштабировать по размеру" +msgstr "Отмасштабировать под область печати" -#: src/libslic3r/PrintConfig.cpp:3729 +#: src/libslic3r/PrintConfig.cpp:3764 msgid "Scale to fit the given volume." -msgstr "" +msgstr "Масштабировать в соответствии с заданным объёмом." -#: src/libslic3r/PrintConfig.cpp:3738 +#: src/libslic3r/PrintConfig.cpp:3773 msgid "Ignore non-existent config files" -msgstr "" +msgstr "Игнорировать несуществующие конфигурационные файлы" -#: src/libslic3r/PrintConfig.cpp:3739 +#: src/libslic3r/PrintConfig.cpp:3774 msgid "Do not fail if a file supplied to --load does not exist." -msgstr "" +msgstr "Не терпеть неудачу, если файла, предоставленного для --load, не существует." -#: src/libslic3r/PrintConfig.cpp:3742 +#: src/libslic3r/PrintConfig.cpp:3777 msgid "Load config file" -msgstr "Загрузить конфигурационный файл" +msgstr "Загрузить конфигурацию" -#: src/libslic3r/PrintConfig.cpp:3743 +#: src/libslic3r/PrintConfig.cpp:3778 msgid "" -"Load configuration from the specified file. It can be used more than once to " -"load options from multiple files." +"Load configuration from the specified file. It can be used more than once to load " +"options from multiple files." msgstr "" +"Загрузить конфигурацию из указанного файла. Его можно использовать более одного " +"раза для загрузки параметров из нескольких файлов." -#: src/libslic3r/PrintConfig.cpp:3746 +#: src/libslic3r/PrintConfig.cpp:3781 msgid "Output File" msgstr "Выходной файл" -#: src/libslic3r/PrintConfig.cpp:3747 +#: src/libslic3r/PrintConfig.cpp:3782 msgid "" -"The file where the output will be written (if not specified, it will be " -"based on the input file)." +"The file where the output will be written (if not specified, it will be based on " +"the input file)." msgstr "" -"Файл, в который будет записан результат (если не указан, то имя будет " -"основано на имени входного файла)." +"Файл, в который будут записываться выходные данные (если он не указан, то будет " +"основан на входном файле)." -#: src/libslic3r/PrintConfig.cpp:3752 +#: src/libslic3r/PrintConfig.cpp:3786 +msgid "Single instance mode" +msgstr "Одни экземпляр программы" + +#: src/libslic3r/PrintConfig.cpp:3787 msgid "" -"If enabled, the command line arguments are sent to an existing instance of " -"GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides " -"the \"single_instance\" configuration value from application preferences." +"If enabled, the command line arguments are sent to an existing instance of GUI " +"PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides the " +"\"single_instance\" configuration value from application preferences." msgstr "" +"Если включено, аргументы командной строки посылаются в существующий экземпляр GUI " +"PrusaSlicer, либо активируется существующее окно PrusaSlicer. Переопределяет " +"значение конфигурации \"single_instance\" из настроек приложения." -#: src/libslic3r/PrintConfig.cpp:3763 +#: src/libslic3r/PrintConfig.cpp:3798 msgid "Data directory" -msgstr "Каталог данных" +msgstr "Папка конфигурации пользователя" -#: src/libslic3r/PrintConfig.cpp:3764 +#: src/libslic3r/PrintConfig.cpp:3799 msgid "" -"Load and store settings at the given directory. This is useful for " -"maintaining different profiles or including configurations from a network " -"storage." +"Load and store settings at the given directory. This is useful for maintaining " +"different profiles or including configurations from a network storage." msgstr "" -"Загрузка и сохранение настроек в указанный каталог. Полезно для хранения " -"различных профилей или включения настроек из сетевого хранилища." +"Загрузите и сохраните настройки в данном каталоге. Это полезно для сохранения " +"различных профилей или конфигураций из сетевого хранилища." -#: src/libslic3r/PrintConfig.cpp:3767 +#: src/libslic3r/PrintConfig.cpp:3802 msgid "Logging level" -msgstr "Уровень протоколирования" +msgstr "Уровень ведения журнала" -#: src/libslic3r/PrintConfig.cpp:3768 +#: src/libslic3r/PrintConfig.cpp:3803 msgid "" -"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" -"trace\n" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" "For example. loglevel=2 logs fatal, error and warning level messages." msgstr "" +"Задаёт параметр чувствительности записи событий в журнал. \n" +"0: Неустранимая ошибка, 1: Ошибка, 2: Предупреждение, 3: Информация, 4: Отладка, 5: " +"Трассировка\n" +"Например, loglevel=2 регистрирует неустранимые ошибки, ошибки и предупреждения." -#: src/libslic3r/PrintConfig.cpp:3774 +#: src/libslic3r/PrintConfig.cpp:3809 msgid "Render with a software renderer" -msgstr "" +msgstr "Визуализация с помощью программного рендеринга" -#: src/libslic3r/PrintConfig.cpp:3775 +#: src/libslic3r/PrintConfig.cpp:3810 msgid "" -"Render with a software renderer. The bundled MESA software renderer is " -"loaded instead of the default OpenGL driver." +"Render with a software renderer. The bundled MESA software renderer is loaded " +"instead of the default OpenGL driver." msgstr "" +"Вместо стандартного драйвера OpenGL будет использоваться программный рендеринг MESA." #: src/libslic3r/Zipper.cpp:27 msgid "Error with zip archive" -msgstr "" +msgstr "Ошибка с zip-архивом" -#: src/libslic3r/PrintObject.cpp:113 +#: src/libslic3r/PrintObject.cpp:112 msgid "Processing triangulated mesh" -msgstr "Обрабатывает треугольная сетка" +msgstr "Обработка триангулированной сетки" #: src/libslic3r/PrintObject.cpp:157 msgid "Generating perimeters" -msgstr "Генерируются периметры" +msgstr "Генерация периметров" #: src/libslic3r/PrintObject.cpp:260 msgid "Preparing infill" -msgstr "Подготовка заполнения" +msgstr "Подготовка к заполнению" #: src/libslic3r/PrintObject.cpp:421 msgid "Generating support material" -msgstr "Генерируется материал поддержки" +msgstr "Генерация поддержек" -#~ msgid "Jump to height %s or Set extruder sequence for the entire print" -#~ msgstr "" -#~ "Перейти к высоте %s или установить последовательность экструдеров для " -#~ "всей печати" +msgid "1 mm" +msgstr "1 мм" -#~ msgid "Default print color" -#~ msgstr "Цвет печати по умолчанию" +msgid "2 mm" +msgstr "2 мм" -#~ msgid "Pause print or custom G-code" -#~ msgstr "Пауза печати или пользовательский G-код" +msgid "5 mm" +msgstr "5 мм" -#~ msgid "%.2f - %.2f mm" -#~ msgstr "%.2f - %.2f мм" +msgid "10 mm" +msgstr "10 мм" -#~ msgid "Legend" -#~ msgstr "Обозначения" +msgid "Enable rotations" +msgstr "Разрешить вращение" -#~ msgid "" -#~ "This is the acceleration your printer will use for perimeters. A high " -#~ "value like 9000 usually gives good results if your hardware is up to the " -#~ "job. Set zero to disable acceleration control for perimeters." -#~ msgstr "" -#~ "Ускорение, которое принтер будет использовать для печати внутренних " -#~ "периметров. Высокое значение, такое как 9000, обычно даёт хороший " -#~ "результат, если ваше оборудование справляется с таким значением. " -#~ "Установите 0, чтобы отключить управление ускорением для внутренних " -#~ "периметров." +msgid "Gap size" +msgstr "Зазор между моделями" -#~ msgid "" -#~ "Copying of the temporary G-code to the output G-code failed. Maybe the SD " -#~ "card is write locked?" -#~ msgstr "" -#~ "Не удалось скопировать временный G-код в конечный G-код. Возможно SD-" -#~ "карта защищена от записи?" +msgid "Jump to height %s or Set ruler mode" +msgstr "Перейти к заданной высоте %s или задать режимы линейки" -#~ msgid "Extruder and Bed Temperatures" -#~ msgstr "Температуры экструдера и стола" +msgid "You will not be asked about it again on label hovering." +msgstr "Вас больше не будут спрашивать об этом при нажатии на параметры." -#~ msgid "An object outside the print area was detected" -#~ msgstr "Обнаружен объект, выходящий за пределы области печати" +msgid "Should we suppress to use hyperlinks in PrusaSlicer?" +msgstr "Хотите запретить использование гиперссылок в PrusaSlicer?" -#~ msgid "A toolpath outside the print area was detected" -#~ msgstr "Обнаружена траектория, выходящая за пределы области печати" +msgid "time" +msgstr "Время" -#~ msgid "Some objects are not visible" -#~ msgstr "Некоторые объекты невидимы" +msgid "PrusaSlicer: Open hyperlink" +msgstr "PrusaSlicer: открытие гиперссылки" -#~ msgid "FDM Support Editing" -#~ msgstr "Правка поддержек FDM" +msgid "Should we open this hyperlink in your default browser?" +msgstr "Открыть эту гиперссылку в браузере по умолчанию?" -#~ msgid "The presets on the following tabs were modified" -#~ msgstr "Изменены настройки на следующих вкладках" +msgid "During the other layers, fan" +msgstr "Во время печати других слоёв, вентилятор" -#~ msgid "Discard changes and continue anyway?" -#~ msgstr "Отбросить изменения и продолжить?" +msgid "Fan speed will be ramped from zero at layer %1% to %2%%% at layer %3%" +msgstr "Скорость вентилятора будет увеличена с нуля на %1% слое до %2%%% на %3% слое." -#~ msgid "Unsaved Presets" -#~ msgstr "Несохранённые настройки" - -#~ msgid "Unretractions" -#~ msgstr "Подача (выдавливание)" - -#~ msgid "" -#~ "Scale selection to fit print volume\n" -#~ "in Gizmo scale" -#~ msgstr "Масштабировать выбранную модель по осям XYZ" - -#~ msgid "Show/Hide Legend" -#~ msgstr "Показать/скрыть подсказку" - -#~ msgid "" -#~ " - Remember to check for updates at http://github.com/prusa3d/PrusaSlicer/" -#~ "releases" -#~ msgstr "" -#~ " - Не забывайте проверять обновления на https://github.com/prusa3d/" -#~ "PrusaSlicer/" - -#~ msgid "Find option" -#~ msgstr "Параметры поиска" - -#~ msgid "Show &slope" -#~ msgstr "Показать метки" - -#~ msgid "&Options" -#~ msgstr "Параметры" - -#~ msgid " was successfully sliced." -#~ msgstr " успешно нарезан." - -#~ msgid "Expand right panel" -#~ msgstr "Раскрыть правую панель" - -#~ msgid "Collapse right panel" -#~ msgstr "Скрыть правую панель" - -#~ msgid "Single Instance" -#~ msgstr "Один экземпляр" - -#~ msgid "" -#~ "If this is enabled, when staring PrusaSlicer and another instance of same " -#~ "PrusaSlicer is running, that instance will be reactivated instead." -#~ msgstr "" -#~ "Если включено, то при запуске проверяется нет ли уже работающего " -#~ "PrusaSlicer, и при наличии открывается уже запущенный." - -#~ msgid "Show the button for the collapse sidebar" -#~ msgstr "Показывать кнопку скрытия боковой панели." - -#~ msgid "Add a new printer" -#~ msgstr "Добавить новый принтер" - -#~ msgid "USB/Serial connection" -#~ msgstr "USB/Последовательный порт" - -#~ msgid "Serial port" -#~ msgstr "Последовательный порт" - -#~ msgid "Rescan serial ports" -#~ msgstr "Пересканировать последовательные порты" - -#~ msgid "Connection to printer works correctly." -#~ msgstr "Подключение к принтеру установлено." - -#~ msgid "Connection failed." -#~ msgstr "Сбой подключения." - -#~ msgid "Default preset (%s)" -#~ msgstr "Профиль по умолчанию (%s)" - -#~ msgid "Preset (%s)" -#~ msgstr "Профиль (%s)" - -#~ msgid "has the following unsaved changes:" -#~ msgstr "имеет следующие несохранённые изменения:" - -#~ msgid "is not compatible with printer" -#~ msgstr "не совместим с принтером" - -#~ msgid "is not compatible with print profile" -#~ msgstr "не совместим с профилем принтера" - -#~ msgid "and it has the following unsaved changes:" -#~ msgstr "и имеет следующие несохранённые изменения:" - -#~ msgid "Unsaved Changes" -#~ msgstr "Несохранённые изменения" - -#~ msgid "Exporting model..." -#~ msgstr "Экспортируется модель…" - -#~ msgid "" -#~ "The Wipe Tower is currently only supported for the Marlin, RepRap/" -#~ "Sprinter and Repetier G-code flavors." -#~ msgstr "" -#~ "В настоящее время режим черновой башни поддерживается только для Marlin и " -#~ "RepRap/Sprinter типов G-кода." - -#~ msgid "First layer extruder temperature" -#~ msgstr "Объёмный расход первого слоя" - -#~ msgid "" -#~ "Extruder temperature for first layer. If you want to control temperature " -#~ "manually during print, set this to zero to disable temperature control " -#~ "commands in the output file." -#~ msgstr "" -#~ "Температура экструдера при печати первого слоя. Если во время печати " -#~ "хотите контролировать температуру вручную, установите 0 для отключить " -#~ "команд управления температурой в выходном файле." - -#~ msgid "Distance between ironing lins" -#~ msgstr "Расстояние между копиями" - -#~ msgid "Ironing speed" -#~ msgstr "Скорость разглаживания" - -#~ msgid "USB/serial port for printer connection." -#~ msgstr "Подключение к принтеру через USB/Последовательный порт." - -#~ msgid "Serial port speed" -#~ msgstr "Скорость последовательного порта" - -#~ msgid "Speed (baud) of USB/serial port for printer connection." -#~ msgstr "" -#~ "Скорость в бодах при подключении к принтеру через USB/Последовательный " -#~ "порт." - -#~ msgid "" -#~ "Extruder temperature for layers after the first one. Set this to zero to " -#~ "disable temperature control commands in the output." -#~ msgstr "" -#~ "Температура экструдера для слоёв после первого. Установите 0 для " -#~ "отключения команд контроля температуры на выходе." - -#~ msgid "Extruder temperature" -#~ msgstr "Температуры экструдера и стола" - -#~ msgid "Support head front diameter" -#~ msgstr "Поддержка тихого режима" - -#~ msgid "Support head penetration" -#~ msgstr "Генератор поддержек" - -#~ msgid "Support head width" -#~ msgstr "Генератор поддержек" - -#~ msgid "Support pillar diameter" -#~ msgstr "Поддержка тихого режима" - -#~ msgid "Support pillar connection mode" -#~ msgstr "Поддержка тихого режима" - -#~ msgid "Layer height:" -#~ msgstr "Высота слоя:" - -#~ msgid "Remove device" -#~ msgstr "Удалить устройство" - -#~ msgid "" -#~ "Unmounting successful. The device %s(%s) can now be safely removed from " -#~ "the computer." -#~ msgstr "" -#~ "Размонтирование выполнено. Теперь устройство %s(%s) можно отключить от " -#~ "компьютера." - -#~ msgid "Processing input file %s" -#~ msgstr "Обрабатывается входной файл %s" - -#~ msgid "Export failed" -#~ msgstr "Не удалось выполнить экспорт" - -#~ msgid "Indexing hollowed object" -#~ msgstr "Ниже объекта" - -#~ msgid "Hollowing cancelled." -#~ msgstr "Прошивка отменена." - -#~ msgid "Hollowing done." -#~ msgstr "Нарезка завершена" - -#~ msgid "Hollowing failed." -#~ msgstr "Сбой подключения." - -#~ msgid "" -#~ "To except of redundant tool manipulation, \n" -#~ "Color change(s) for unused extruder(s) was(were) deleted" -#~ msgstr "" -#~ "Для исключения ненужной работы с инструментом\n" -#~ "была удалена смена цвета в неиспользуемых экструдерах" - -#~ msgid "Position (mm)" -#~ msgstr "Х позиция башни" - -#~ msgid "Displacement (mm)" -#~ msgstr "Использовано прутка в мм³" - -#~ msgid "Rotation (deg)" -#~ msgstr "Длина ретракта" - -#~ msgid "Scale (%)" -#~ msgstr "Масштаб" - -#~ msgid "Change Application &Language" -#~ msgstr "Изменить язык приложения" - -#~ msgid "Select extruder number for selected objects and/or parts" -#~ msgstr "Разделить выбранную модель на отдельные части" - -#~ msgid "Main Shortcuts" -#~ msgstr "Основные команды" - -#~ msgid "Select All objects" -#~ msgstr "Выбрать все объекты" - -#~ msgid "Delete All" -#~ msgstr "Удалить всё" - - -#~ msgid "Zoom to selected object" -#~ msgstr "Удалить выбранную модель" - -#~ msgid "Plater Shortcuts" -#~ msgstr "Команды работы на вкладке плиты" - -#~ msgid "The selected project is no more available" -#~ msgstr "Выбранный проект больше недоступен" - -#~ msgid "(default)" -#~ msgstr "(по умолчанию)" - -#~ msgid "Welcome to the Slic3r %s" -#~ msgstr "Приветствуем в Slic3r %s" - -#~ msgid "Other vendors" -#~ msgstr "Другие производители" - -#~ msgid "Detected object outside print volume" -#~ msgstr "Модель не помещается в печатную область принтера" - -#~ msgid "Array of language names and identifiers should have the same size." -#~ msgstr "Список языков и идентификаторов должен быть одного размера." - -#~ msgid "Application will be restarted" -#~ msgstr "Приложение будет перезапущено." - -#~ msgid "You have unsaved changes " -#~ msgstr "У вас есть несохраненные изменения в профиле: " - -#~ msgid "Attempt to free unreferenced scalar" -#~ msgstr "Попытка освободить неопределённый скаляр" - -#~ msgid "The " -#~ msgstr "Шаблон заполнения " - -#~ msgid "Temperature " -#~ msgstr "Температура " - -#~ msgid "Values in this column are for Full Power mode" -#~ msgstr "Значения в этом столбце относятся к режиму полной мощности" - -#~ msgid "Full Power" -#~ msgstr "Полная мощность" - -#~ msgid "Silent" -#~ msgstr "Тихий режим" - -#~ msgid "Default " -#~ msgstr "По умолчанию " - -#~ msgid " preset\n" -#~ msgstr " шаблон\n" - -#~ msgid "" -#~ "\n" -#~ "\n" -#~ "Discard changes and continue anyway?" -#~ msgstr "" -#~ "\n" -#~ "\n" -#~ "Отменить изменения и продолжить в любом случае?" - -#~ msgid " the selected preset?" -#~ msgstr " выбранный профиль?" - -#~ msgid " as:" -#~ msgstr " как:" - -#~ msgid "%3.2f mm³/s" -#~ msgstr "%3.2f мм³/с" - -#~ msgid "Disable USB/serial connection" -#~ msgstr "Отключить последовательный порт/USB" - -#~ msgid "" -#~ "Disable communication with the printer over a serial / USB cable. This " -#~ "simplifies the user interface in case the printer is never attached to " -#~ "the computer." -#~ msgstr "" -#~ "Отключить связь с принтером через последовательный порт / USB кабель. " -#~ "Опция упрощает пользовательский интерфейс в случае, если принтер не будет " -#~ "подключаться к компьютеру." - -#~ msgid "Use legacy OpenGL 1.1 rendering" -#~ msgstr "Использовать устаревшую версию OpenGL 1.1" - -#~ msgid "" -#~ "If you have rendering issues caused by a buggy OpenGL 2.0 driver, you may " -#~ "try to check this checkbox. This will disable the layer height editing " -#~ "and anti aliasing, so it is likely better to upgrade your graphics driver." -#~ msgstr "" -#~ "Если у вас возникли проблемы с отрисовкой в программе, вызванные " -#~ "неисправным драйвером OpenGL 2.0, вы можете попробовать установить этот " -#~ "флажок. Это отключит функцию \"Переменная высота слоёв\" и сглаживание, " -#~ "поэтому вам всё же лучше обновить графический драйвер." - -#~ msgid "To download, follow the link below." -#~ msgstr "Чтобы скачать, перейдите по ссылке ниже." - -#~ msgid "Exit Slic3r" -#~ msgstr "Выйти из Slic3r" - -#~ msgid "Sending G-code file to the OctoPrint server..." -#~ msgstr "Отправка файла G-кода на сервер OctoPrint..." - -#~ msgid "" -#~ "All extruders must have the same diameter for single extruder " -#~ "multimaterial printer." -#~ msgstr "" -#~ "Все экструдеры в одноэкструдерном мультиматериальном принтере должны " -#~ "иметь сопло одинакового диаметра." - -#~ msgid "first_layer_height" -#~ msgstr "first_layer_height" - -#~ msgid "mm or % (leave 0 for default)" -#~ msgstr "мм или % (по умолчанию 0)" - -#~ msgid "mm or % (leave 0 for auto)" -#~ msgstr "мм или % (0 для автонастройки)" - -#~ msgid "Set silent mode for the G-code flavor" -#~ msgstr "Тихий режим для выбранного G-кода." - -#~ msgid "Maximum feedrate %1%" -#~ msgstr "Максимальная скорость подачи %1%" - -#~ msgid "Maximum acceleration %1%" -#~ msgstr "Максимальное ускорение %1%" - -#~ msgid "API Key" -#~ msgstr "API ключ" - -#~ msgid "" -#~ "This custom code is inserted right before every extruder change. Note " -#~ "that you can use placeholder variables for all Slic3r settings as well as " -#~ "[previous_extruder] and [next_extruder]." -#~ msgstr "" -#~ "Этот пользовательский код вставляется перед каждой сменой экструдера. " -#~ "Обратите внимание, что вы можете использовать шаблонные переменные для " -#~ "всех параметров Slic3r, в том числе [previous_extruder] и [next_extruder] " -#~ "(предыдущий_экструдер и следующий_экструдер)" - -#~ msgid "degrees" -#~ msgstr "градусы" - -#~ msgid "Purging into infill" -#~ msgstr "Прочистка в заполнение" - -#~ msgid "Version " -#~ msgstr "Версия " - -#~ msgid "Controller" -#~ msgstr "Управления принтером" - -#~ msgid "&Load Config…\tCtrl+L" -#~ msgstr "&Загрузить конфигурацию…\tCtrl+L" - -#~ msgid "&Export Config…\tCtrl+E" -#~ msgstr "&Сохранить текущую конфигурацию…\tCtrl+E" - -#~ msgid "Q&uick Slice…\tCtrl+U" -#~ msgstr "Быстрая &нарезка…\tCtrl+U" - -#~ msgid "&Repeat Last Quick Slice\tCtrl+Shift+U" -#~ msgstr "&Повтор последней быстрой нарезки\tCtrl+Shift+U" - -#~ msgid "Slice to SV&G…\tCtrl+G" -#~ msgstr "Нарезать в SV&G…\tCtrl+G" - -#~ msgid "Slice file to a multi-layer SVG" -#~ msgstr "Нарезать в SVG" - -#~ msgid "Export current plate as 3MF" -#~ msgstr "Экспортировать текущие модели со стола в 3MF" - -#~ msgid "Select &Controller Tab\tCtrl+T" -#~ msgstr "Вкладка управления принтером\tCtrl+T" - -#~ msgid "Show the printer controller" -#~ msgstr "Показать управление принтером" - -#~ msgid "Prusa Edition Releases" -#~ msgstr "Сайт Prusa Edition" - -#~ msgid "Slic3r &Manual" -#~ msgstr "Онлайн руководство по Slic3r" - -#~ msgid "Open the Slic3r manual in your browser" -#~ msgstr "Открыть руководство по Slic3r" - -#~ msgid "Report an issue on the Slic3r Prusa Edition" -#~ msgstr "Сообщить о проблеме в Slic3r Prusa Edition" - -#~ msgid "2D" -#~ msgstr "2D" - -#~ msgid "Add…" -#~ msgstr "Добавить…" - -#~ msgid "Fewer" -#~ msgstr "Меньше" - -#~ msgid "45° ccw" -#~ msgstr "45° влево" - -#~ msgid "45° cw" -#~ msgstr "45° вправо" - -#~ msgid "Scale…" -#~ msgstr "Масштабирование..." - -#~ msgid "Cut…" -#~ msgstr "Разрезать…" - -#~ msgid "Settings…" -#~ msgstr "Настройки…" - -#~ msgid "Copies" -#~ msgstr "Копий" - -#~ msgid "Export G-code…" -#~ msgstr "Экспорт G-кода…" - -#~ msgid "Print…" -#~ msgstr "Печать…" - -#~ msgid "Enter the number of copies of the selected object:" -#~ msgstr "Введите нужное количество копий выбранной модели:" - -#~ msgid "" -#~ "\n" -#~ "Non-positive value." -#~ msgstr "" -#~ "\n" -#~ "Не положительное значение." - -#~ msgid "" -#~ "\n" -#~ "Not a numeric value." -#~ msgstr "" -#~ "\n" -#~ "Не числовое значение." - -#~ msgid "Slic3r Error" -#~ msgstr "Ошибка Slic3r" - -#~ msgid "Enter the rotation angle:" -#~ msgstr "Введите угол поворота:" - -#~ msgid "Enter the new size for the selected object (print bed: %smm):" -#~ msgstr "Введите новый размер для выбранной модели (стол: %s мм):" - -#~ msgid "Scale along " -#~ msgstr "Масштаб по оси " - -#~ msgid "Enter the scale % for the selected object:" -#~ msgstr "Введите нужный масштаб в % для выбранной модели:" - -#~ msgid "Enter the new max size for the selected object:" -#~ msgstr "Введите новый максимальный размер для выбранной модели:" - -#~ msgid "Slicing cancelled" -#~ msgstr "Нарезка отменена" - -#~ msgid "File added to print queue" -#~ msgstr "Файл добавлен в очередь печати" - -#~ msgid "OctoPrint upload finished." -#~ msgstr "Отправка на сервер OctoPrint выполнена." - -#~ msgid "Estimated printing time (silent mode)" -#~ msgstr "Расчётное время печати (тихий режим)" - -#~ msgid "Rotate 45° clockwise" -#~ msgstr "Поворот на 45° по часовой стрелке" - -#~ msgid "Rotate the selected object by 45° clockwise" -#~ msgstr "Поворот выбранной модели на 45° по часовой стрелке" - -#~ msgid "Rotate 45° counter-clockwise" -#~ msgstr "Поворот на 45° против часовой стрелки" - -#~ msgid "Rotate the selected object by 45° counter-clockwise" -#~ msgstr "Поворот выбранной модели на 45° против часовой стрелки" - -#~ msgid "Rotate the selected object by an arbitrary angle" -#~ msgstr "Поворот выбранной модели на произвольный угол" - -#~ msgid "Around X axis…" -#~ msgstr "Вокруг оси X..." - -#~ msgid "Rotate the selected object by an arbitrary angle around X axis" -#~ msgstr "Поворот выбранной модели на произвольный угол вокруг оси X" - -#~ msgid "Around Y axis…" -#~ msgstr "Вокруг оси Y..." - -#~ msgid "Rotate the selected object by an arbitrary angle around Y axis" -#~ msgstr "Поворот выбранной модели на произвольный угол вокруг оси Y" - -#~ msgid "Around Z axis…" -#~ msgstr "Вокруг оси Z..." - -#~ msgid "Rotate the selected object by an arbitrary angle around Z axis" -#~ msgstr "Поворот выбранной модели на произвольный угол вокруг оси Z" - -#~ msgid "Scale the selected object along a single axis" -#~ msgstr "Масштабирование выбранной модели вдоль одной оси" - -#~ msgid "Uniformly…" -#~ msgstr "Одинаково..." - -#~ msgid "Scale the selected object along the X axis" -#~ msgstr "Масштабировать выбранную модель вдоль оси Х" - -#~ msgid "Scale the selected object along the Y axis" -#~ msgstr "Масштабировать выбранную модель вдоль оси Y" - -#~ msgid "Scale the selected object along the Z axis" -#~ msgstr "Масштабировать выбранную модель вдоль оси Z" - -#~ msgid "Open the 3D cutting tool" -#~ msgstr "Открыть режущий инструмент" - -#~ msgid "Open the object editor dialog" -#~ msgstr "Открыть диалоговое окно редактора модели" - -#~ msgid "Export object as STL…" -#~ msgstr "Экспорт модели в STL..." - -#~ msgid "" -#~ "Fix the model by sending it to a Netfabb cloud service through Windows 10 " -#~ "API" -#~ msgstr "" -#~ "Исправить модель, отправив её в облачную службу Netfabb через API Windows " -#~ "10" +msgid "Select a file" +msgstr "Выберите файл" From 8b37b0292321865c3cf717c2c06f7628354a980c Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 3 Feb 2021 15:57:22 +0100 Subject: [PATCH 02/80] Localization: Updated UK dictionary + small fixes for RU dictionary --- resources/localization/ru/PrusaSlicer.mo | Bin 402899 -> 402533 bytes resources/localization/ru/PrusaSlicer_ru.po | 39 +- resources/localization/uk/PrusaSlicer.mo | Bin 128537 -> 389683 bytes resources/localization/uk/PrusaSlicer_uk.po | 13224 +++++++++++++----- 4 files changed, 9452 insertions(+), 3811 deletions(-) diff --git a/resources/localization/ru/PrusaSlicer.mo b/resources/localization/ru/PrusaSlicer.mo index e292895138b5453b59033de08526c88198585361..967c50ca69197a1be50d16e2fa131395b77e4cbd 100644 GIT binary patch delta 23059 zcma*vXP6a5`uFjk)7^(5=OM!kQIMQOa+aKvNDd-7DIn<(B!dV74G4k?5(Ok3vLK=$ zh%+KVi7H4I1k8lz`|E0V-QE9-=eqXtQ&rukySl3GyXy=yd*W!;D~Gdg8r>xFZH#5D znG~`XS(f$Ml#oT$$~`q?Wx#m+3(H_$EHN!)O~4jd3r}J;%r-q_UB@z56m!i8S+%hN z7Qoq<61QP-Jb;z(?u<~xdWu5PnIS74TVr_~hNbWWOp6y$9k_!d>0yRhA!`B7dOc({ zr9J-}AuB(=j6)pDT7>I3o@#!`%1Zl=1tF^#CSgW=g7q+?7YSKeD0J}54PM67)IHRV zS7Hg=hRN{?>H>FAH?$X;^PdVVk2z_tjkd#<2w!t_Y9vpuilTlxS>fj2D#SNGPqp0hjKz;5f%!BUYkd+Q21t?^q zP#!gR4N)H)f%@P)jK_@_#zfQ&PotjbV$dG*R>(?0Jr?x<8BsUNgX&l{)PvMVO~p&d z^&-{+3L5gI_)My>K)-%gu$xqdL41Q{ho`@eFDt zE?`}}ihAPW?-;B3Ml7ot1%IxB10zu*G6VGl%W)#^M_s7)yCJKJj^nd<1a+SMUdVb8 z^I-#=jxF#cYPCPL!hEg=)}j6`=HmX=H43dUyfS26#SYjJYrh||+Tpuc2LHkuSYlPk zYJ-FEFFcH`@RQXct087v6SAsePb`cpun-={F8C|zytZpYRzySh9tF+)N2n8T;V7mc z(>inF8|%#zp2Kn+e~4wV^ap0>d!cSP5o_Ydm=E0zj0o2$jOxf68%;FrLgj%Q8;O72 zFxw_`;Tov$8jkAF3@nK|P#?G+nDs+*q35u)&d0ZKEou?g-E0RDA8PdiMy4<^w6Wn;|ZUT9hxLGT1O=wOUJXDZYpOu|_mxy?`508877yGh)q9 zpId^t@MF}7T*6A|>@*KrJrWdJ1-^uulF_Jqun;HV0o0;-Zdb@!fwNGHu=H+|f(N0Z zV>)U?3+*u-Xo|YtE2vC42c!5MYN{fO_J*w2D4fH_*mYmXs)id;J-&m=@fkldQBe#v zmo-s~u^%474X7c0dB5rS3@k!@D=NcYL|x}MREN?Z@aqw)7zNGAbC|$l8H4?(FZ(!T z4a8IjO_+_w`qZ}vb?Xz8LMx(%xDi&zKBx|^3+g9PQxSK_SQ&Fu?}in~Kh}5(N+`Qf zx&E0?&C913R;0cNH5FfD6MTeSvC(HCt1@oDE_f63s{L@t+QWkk#F<$1bCW4|9yJN- zEGjWw!$OMxpH;wY$IJz4UV1>s$+dn7hZ)Lq3lT} zN@}4#*8p2%>!7|aa68tc{Xi1&uW(55Rmggep{k2oG&fF|3uOM5 z63)a}E}Y>T7ANNTHe~h1sb@o0Gmbwv7qS{*o%12fjl>Zeif{Trxo zd>Emi+}-G6$m)#mU>=OQWac^nHMF%*8L=Pgov;Y?#P@>s!rz&AZiBUS9M!S&sPHTP zy?KY!MP5Nk!U!5_Up3*j7quvVM}=ejHS@t{sKl`sb-`~? zFQIFwk;!%4L_-7Ajc20bd_HQ;Yz_PzwZ<-C6~%wb8^O*5b>d5?I39}{k#_>mpl+P@ zrWw-QsG%&6dg9)wj(>>N@Eg=7Hrp*T_YF}U>V!&AV=$ikTdOE&jt`?Q^fPJ=JbT*= z@$-RGP%o=(s2e;8+ROfAUS8d>uFHjSki&l9e#mOcdF6gL*PVu18%a14Gyg&SEBxM| zAdlfRjQ!KB+PRpPRel}k(*DO^A?qvZGarVmw$wX6HVGw)dXQtNxoz~sOvx@RPW>us zq~a{w?|6MwBARB|CjQ^1L0hYDQA3sxWBXIk67`K_82(24@Q`iI#(}nJe}V@&Zn?I< z$^0a2`%`cnwR!y&Ghq5;#{B3}e+HFdzf2af{Y4ZTYZ|KHvm6)}xCt*(zkzzP&y(B! zOQ}K%+Zs-NH73!4_>{Ik0{2qc{?rXgZToM}xtNvnwqs8G67}S_f_h9Ojk#fN?8UoKbwjXx&Fbnk_sEx;H>_x|RVLbJ`nQiMCtcBXFj=~fi-x$<) z#hLm~sCUR8S!}JPh*d4C?Zw>V`{D@&7IAeg7+}!nd&YS|`youA{yXaP*>l={n3u;=nzTj~T5w=2YEdL%K1`9z+@LsW^|nS`Xeuh< ztPPHz#`@GBqcUK<+@{0tqVmY4pl;_eQ&0m-Ffy$$PGR#}yzTE?-a^gEIn+=)3Fe7% zqHa(Vb-|ff4L1hI@1Pb{=DcR=ieMZ!=!F`IvH5I&&$towfUWYI5txM$&HZ~6G{l=x zb9WcDsPY%E{d~|0H6<5NYvUI@h@}gfj{b`JLXoDB8M*eT>yAYY`7G2sWKD4V9_swK zr-=XB6uLcSPF#gb7zeQd-a{pzDur!p5B0`H%xX^Yv~8`SUJd8qb<|=TRn)fnQlDJR zwkF~|T#mzv+g2)$XDMO(Z`u4M%}BmhlK9tRT17*5JcN_5a4Fk*2{)piAZuycs)c1y zi*5ue6)!`5{sQW}he17S8FOBFRQPqoD>xVR4j56^_V*iJgn}-(8a20HqW|QmwNa%U zVTOBA;aH$NBZ5^iH8#Q3*Z~Kj`;1vD!!R55{ip}}7PXn}Qo;831#h7`7P&)?j zZR-JZ{TL_W{o3Y%hS#;Np&b7N^}rRLQ>JB%+fmR3UqL;=BJ{UTs3<62&rDG#R0k)a z;{P-%-ktj9$vUB?B7(E=sRp+7H10s9>dV*$(=;?|ttXb?{?-u+UGWdRM2}x+WLs}j zuiS)=F?46K8tqS-nMGHvg-J+bQB(9GDyQ#5h3^ko4zskh{ViJKz)`5^T7x#%JA;vy z6wb9W38-WnlX3^6hI}<@ksU={_!~@zsoUEA7AiL?&g-ML=j~97tvl+qdmWX49^!Z` z){ZIVej8Ewq)>a}zY~S3?M=f{)CISq7TZBoSp9`HG0O`kbF~i~gqq9As3CqIwH6Xl zpL?o<*$33d=cso^ZShv2KDW0+#LVsa;DFQ79LSD+IH4jcQ>{dO@MlyQCF^9?NKI@? z{Y`9zKi~wc(Al)_Mm=E4E+#ztU=8YLF#&T$x|%{YR1|c@0k{_R#M!zTI|MEZ{2mpi z1-hG*JOtH|ji{Z^6O6~~J-5 zc=kmT1w&AC{0VAgPNP=$ZB$0A-OEf#H>^f|CTdELp>FKF);vvk4*#;Vmq0Xy;+RAlAJ^4s{3OA!3 z@GKVR{?=a<)UzUk%n7aV9Q84%Icq=I#P<|bIITxr;5_Qak5K2OA7bLWDk>56N3Dgp zp|<~}vlMDXYoSKECq}f}eS?DH`*YOLJVu>Z@MX5uG3;otJM|W?*w$m*juUa)Ff(<} z4mWwB5h@XN#4I=g_0n35d2tJBt(-#bBW?}1BmM^pk1%h!Ca443u^iqHEc~i@^3H*8 zpe}d-)8b_;fe%naoqwcxeRsh2)DK~9j2~qZRkgqdqlo`&9B56$c&s|wOvQfuh58MA zfS1PDRu4Qm*0vU7MLwsW@tj15`rPqmBjTYFSm6ogNh_ejxCzGM96XPUQ4csGGSSS< z2GpY3j~b%Os44gpHMcomGkd}Mfdf(dhWV(}y9ZyOL!Y5;m~XOeB~pJ8^%8n!su|ht zsAyRp7}-Zbi|QPz1F5H(HBbt*il4^<_zLR0w@_1bEHL?W)4{r^xgLt8a3*R4vM)G( zCaAkJ%!B1Y@Ud0*GT*J$5~4Y2Agv&Wl;8lhiMH_Y<7xlaAS zo~V%-kJ>}d4C+f}n{Zx*g%$r>DJTJ5KrO1DQE{5-4cpp=Rj@eT$NHFej#(@H@DBB# zFcn^yYr^p+YBTx-bJCt-p4nFvLQQ2~)H`7zu2TH}MnM-?Hs1{O`oOPn1?|71Mri2* zlX`ce-VrH1lLtnkMs6``MA9xamO@2COH_Ez2--hFEz<8W!jJB(yA%{Y2i`JI_%kYg zD=jf8v?X?-J|6qy_c#!nE#=!WPr4tqx|c6Ai+N4pZj7h>3w$4cLQUoT<+e2)v%f?9 z52CR09rOJ@?p^cJN%Nku8PY#%E^4baA1`pjJ9rR}ujG3G&Ru0&d$IBw+lu0!Yi;W^ z=WkwbTQ_m~2aF``!#1!MxL}S=rUOrJj+nys&1SA^Y_YACeBighrCSLfK3Hp;ZM{qT z!0om*f_jFiZEd7JV+S|HN;}!Y(S9Fy+vF4ebB6ZxAKBJeyn(Z^_kQvR=ly~Asn3gi z%&MkGQxDo!YYv<^#1;$-e`Zo_m&4{=a2fCNfdfZuE6nlDpWD_u)OQ}Wt-;h^IL4k4 zzxcwoUd4W2vVq~cKPK8%7i@mQwrTx%{U20BtU46R(hx!2 zXe*Y-ho~ErIcLJCIqCufur1C)#rGAgfp<}F(bDJ5=R2U@l5b)?+=7|#A?kkVFDTIw ze|0HnaScFy;4tdMYk`k2fqI6EwlxOJqTZUDQF-DPR>91dZ0j>@i5)S=cV_qeD(bu` zs19#JC9K`(|NGx<3Pos0`Mnv!@~Bii64jBnQQPG$*bP5NjZCp0%o8_6h0`lo39ZX! zBr9Wfs;{9QU>PdW9YF1jzDED&f1xX8_gWPPvPj;wf&#j_QF2;0BWeKT{ADK z@u(;9@Gu@hb#U%=<1eTVwYyqYl%c3#7SY<|qp) zCFeygx)Om+P#^4%HE}U&v7SfGZKk^>1Lnba>ZJl(pr&9bw!rzQ^RGoHyh-6c>g6)! zXEGTkp@wMoJ#*p?)Z87!&UgwHhUM>@5o>|E!64L#%?;cf9RCVO(S8>nVZR4vUl8f@ zi+Qaszt9XW#{XtkcURQVE<<%>8>YjvlMD*N21!=P{ zkIYN02R+uBk@jpLEa)18i%QT!qosc}__^Y&2;P${Yw&SPd z7g0BSAJwrt*cFR9jx`Qn#~PT{b^OKF9F%$>~C`(ta` z_n>lnhFH^qHduuEg1`fTw}RtYk~@B0Xd5^!a5pMH+(y0Rnx$|e)64bNqiTtB9(lE@FnNQhLYgLca|jh>36ZRhHIG7n)andnbNu+th`MkYRLbmwwehXMOMwNlo3+yi z>u`K2Dm;Hc<$+%@4&!n-enKmTx?V+8xJLR?P@D4fUf z^Ft|AM>}BxPDQPewSo5nE5@7l38=aM9M!QWsCPqLf<~11>q9|b5H?~54t$i?@pr2^ z^O+kR#FsgK8#R~R3YbN;7hPSbpyPiP%ZahnYoR*U2ZJgo~-4!8ACuw7Kqt(!_rX8ax`Zkx9RCZ+BGlAWtL|78xIt%}Nqu1rKa8vbHBDT1MQu*!1|CBt zrf@CCnvAWn0-nR|7|C4QEUsgy)OZaw71`^UxGjfD7|)~Hr(<4Ri3-ods2@bQbxnIw ztUT`3DIJZ7Vy+a{Od)ml@yc;_oH%ps(NPV+G2U?<56EWcVI43^HcR5 zf6dfwXr81wrsVi^)RQm3x|oO>u`G>D=6ePUQLl|^?}ynG|1&9+qv3tOfuTVqoL^Cy zE1|JjOm(n0^}eX6Sd3b%8&Pw65j7HbQJ>G!#9X%~Y7LFR7x5kJjj>IM67Fveq0k;b zLk(TtX66Dt0%xOkM!PUMUPZm-en#zN{=mMNr@5Ju8K^Kjj7mJGQB#q*g&B#us1CQp zh*ocfghu`VE0gST(G6NQFqi6Ohbk3U5v-SP(zxtm07%%Q5`shYX2I4#0RJj zpKWcXI;IWruT6~h+2HR@MX-^p7?J{VQzbqBELt?ZI&0z6BI>#pc3Z9w^6BhH#Q&)Pov^I zZ$~r7jZlm16|9O&Q6qK^HHEc0nfnaFuGCjXD6FQCtg~Zn#Z9Omk@W0h*1`?cP#5j$ zSUvF>REL*hO}ve-W65qNe|&`MKw?_)cPde2l5EUJnzNk=7KHk>;Q>*+$fy zokgwozwlF@v`A00ANcu2^Rg=1%UByVA|0?SjzDF`4^V697%F30FPZCRLPb?sEUou{ zI||iln1RYn$51_Xdz-l{j*9EnsI@U0^|suGdeSdY9sdPuU_u{W=hz)5(($3Fjmd9) z&3#h$GuLT?X|;M@rl4?m4K>H}QJHQtj=?WbQ_`@%nX^Px{FWZzScAC15^PRA^&peT zI%9L%*I`!L9}PCq6*q(%hxmB|D%19RnGw_KeVc-QP4)!ptygiF*>bf)#qBCo7@k3O zH1lvX)CEyP`2wmvf*PqeP*eIjR>W(lD9bm(WYqGgHP9a;`rt?knzI?G3$DeX4nJPQ zy3}iqF;6fJb$n;wdDQ1)#u_uArYIjOD(a&~awzJCucN~AE!3j^bS&|ooRr26BV{m9DqNf zMy&NzbHhQX2V9I=?2%&>^qY;>QLFXdG_$)+Io+}5Q}2PAyFalzCYxarQD0O&30q*f znWn>2u@?2CSOwG0a{MW7j9MF=Q6n%38S#j!!Uvs=aUE z6x7JPhkEjZs1dn}nK0*U(}7Z`p&p3pz#`OjKEk?+|FaZyX?TrQkr z-T|wyAN3S-&4>&~WwzIFp3cKbSnN%+c(-6)>fPrVC!;#L26f#pFhBRV&Z&Sg^UYiq z#CFtMVl!Ni3bRL88`CT>whUZ|S{vul&vd9vn%XmSTo?7^-LXDS!|HefBYN^o3r(gg zk6JuiQSCpVhS*(XE>Hj!W(`s8y;0{+Lp|9JY>MYl`--BA9m~e{s07pr_4&bA5N9tY z{&j)vG>pJ2sGQ#EE#qX=i5pNk{v=kzm?b7^YM@4L7Ao8}V|BcR>QJ$z#^$J~c?C5R zn*+}*CH|Y!@R$Z&pxN6dUZ-Ot>RV8AWi2zSIxVW+5<6nIpnX4fpzbU;=XFJWekIPr zd#EWI_l}vO#aNa4rU(UX5bj_~Z1b*(hHj`h?T=bS%TS5xW7H7dMD31~zh};?j#`XE zP$N1Sb;E5z{Y&I^YduDNgDSPc9FI&|X@+PS>P81K9)H9tnCyKs)OApcYEDr99F-s9 zR+$d0M|J1|DhxBPHc#3B`%~|NFW_;UgGJW(Q^)WBQYcEpcc`AHS!)(o6;z_=7&sMm z-WJrzT*4ZdVV#NRR;aZyD9}TV*gn)^yo!3D%`T;8=KR2n zOi9!QTHz?1fa=&|)Om$Bm?^7*ikf<;=;(u*s_CeaU5$Fj91V`&K>zpuQ*1OhDvkOc z-zM;N)FSy5>!Q2Kyo4HIPwMlrJN^~4cmB|9t5*l!M~zt3%_fuf#Rk-uphoH{M!K;W z(rhsaW$;$!hWd7_6XHp>^F;Xi4t{chn|AR*0y_O($KrR0tqS`ci{I3@N*!cG(EZf0 z4)OVtht1Ciem%k$720QiZbsHSX1t7xIIq+f!T$f~ar1;1ur)m^@TJLAqi`toL)ZhK zO*H4djl-y4LA^UVB$*7^3pM8>P&xk{RNgp>&*N{{6`Ox$-Vs~AikL-lm_Bzw=b)bBjG4<;*oXE>I2iAuI?(MKvpAQd-kwKM;rI}>_)2|i zezx2U`%#aqrZ9y<=CkZ(acN+hbLI;~1k=#|1-8L+LA}g*vzTgPJLYm0YN&s_V7>!p zxM)V;ElfrG=crVD8e8E*jMe+U`6ZJm+G89C2BE@g3TkfO!sYlr{)*3iM^vz=s($bI z|2#kDvYGobS4>8$jpaG76V}H0sJG|0sI_zx-@wj4I{bYh@qd?s!ePZ#^Q1>HuReeY z_$V;XHPc=L7t!7Wl{X%v&dYw?+^90@Wz!gy2d1N5I%}~xCZal&_XZEl{jD+-^o^!L zU^mnUMxt`|a%_tyP*3#qO>^TxsI@W^C*oE-$y8LhWqyE}<|oJcg!XNyJTmf**_iCa zY1Dh)CH_C-1NSMU#@+W!SRA?U`2Q$%0qb+(kOyWJ??Lta32IZB?ia`Uj?X=fm8hrw z&9OFPeN_D+YE4x5oo`T_*8?-+^*>AsfAlBuf1DFa{N?z6SnwEMrJnT2+_>Rm6K3;K zQE~-4W7#K;wGZc^GGR;0^*5P2QETQXD)pWUe1O`3WQcM75iNik(RMKr*H1W`Xvj}P zIAnY}uo-GCyb`z&wMciPR`pk?HESbsoPzw!;DYaz2^dRh$AQtyI0aS$pW6meaD(YC@8)JLJ#%sN!OC!y9(IPCg~>RHr?Ohb*t zDlCqXT@<=&PVglf8poOu*^c^xkSe+BC!)frC+&tMaV#oBZbV)11}XtP!lGCyg=?+D zm+%?Pl+yKocdQX=DjTM9^%jj-izz7QA3~+d9I0LZZPy9)q$^RG@XMeco5r>3P%n*I zTqCdnuE42y2R~DLTCT@~RZr*oTf2$r%@phnyn+de|I`^=KQ)%X1U}dV{X~RaxWE)t zN3LZw?HMu!BZ6cws~ajR`l1%+XjB3^hpRDTW|x1`Q6b1v8V3d`hnt+N=;wZ>6Dj}@^~Vb_YZ=fI*OuC)pu;LEt=Y1ev=6VexT{a-eD zzL@L(9KTC(*Z=Fb!`O)Prj{VwIPWCBK>bol*WbohF6H_ea2xKY{T}YYEu~%mw_ygA zas5A5y;H`G_+K7pmUaE#c)W-UIB`!oGej-RyOzTZuAx@>?Ppv+_vfnM`Y)Xh70n{t zR>`c1yI7s`%2zf|I2_wEvYV^8{*UoeS9kqC*BOLL;WcX#|N48rb2VArSiiPwt>8e< zI!;2;fv?tct$5n)`lbW)P>Z%yq_Jx)r!X3GaUfR{*V;k7Qd1KR4^U73OfzFIY(d?_u6P3#UX7Z&{FM}6 zM$yK=}Al1`kLcCTDksjLOt7>e8TYpZCtV>Yoc6R*Xl_jrk%-1y-=%o6h4n< zQTz9D&(m{!4=b<-e1JE(P_d2-C1&eP;-Y;^7uVvCB(0;}iEr9hzDQJ2PwYj0pnk8n zYsFy6zKp2;Y^-!Y=8_9%8ORfGfkF5KAGkWi4BgRJTx%}%cEeoj5g)uc!u5Z}>iS66 z|5NOhV_jrMbcxo;$C;a72GlI$HyVhtu5N?Wa;H1YC&@g$CYfYzq>n&0;Hypmy^?$&47T=-0 z(K6#I?@iJ{UJ+c_??=i3EuQ4s3{}DCfzwROa*HXB<*Sx*n+GoPz0A`{+)kh}fCSX146)*wE zV?KNjHD#aS8~8J(!U_9bKdNS-`5At>o)X>dD|66ZM!RDU)+FtXJkKQEEQM}v(nxfm0w1nwqo->HSH%N6q3{YKI3J97Y>_L+wOBSv@0<^=bc2o&#&T3=pJ?b@B0H#BR3WG5?YE%@n2&C zmN;hi2hFiD^~mI);cI-FhU8zEsVIlqt-gS|;0O2(evEqCEjeyB79U`J>W@%cs^`8m z$Cshj%BH~GsJ!wi>UCZ)(bYdrN36~i)YFrw4MeIWvw>)Um8cKLH*pKLGAA@e?QkZb z=5Q}66`w-A{lcfs4O(Iw>i1CX_0O0GSb(*tAH;T;>>Jb3E~u~bi!q1d_B$2u5o+~j z`_?>J!N6wNi}sP&8^6aeHact8Kui3X`e4+1zU(M4FP zPm~RFQ!j^QuoWiY)ZqA9^j9@%#0vgu)>3QKoX@~gcp2|u+;3+0ocwpwv5FB2`nR7Z zs0_F54-@CZIbQA|J0#AVgPP+7coA>l>-hO2*Z;q0c>b~L z{{Z3`-k|;ICyW%=iNvv#vs`XE&$Zu%B9+ zgu_-(&cB0t($>k$=Qg0CAa`uo59hu}oLg&f8s8k+kPZ6ZWTOA!^E^s6_QCDnXq^P1!A6hVf~`el+Yy z9Y2bB^yud(Xw^SNEslce!hULPipq%nF&-D8hIm&{Pm@0EPgx06bc{eHus2X!vf~(! z;S8oDg#uqd-DfuD)6nmrpeHzoN(?tq`Ji;hu%CdMpfcn%)LU;q=E2LT^PEg!|D_d= zwW-%bh2N~e#i$#u3QWZ8)c?SU4rIz4_P@PWK^^FZMR5#jO4bI)lY-;F;yK#W$A$gH z_Y>x&ejkZGD=tge|3!stsFzzl)JQ&!vDg;%Yx`ZYgd_fUwG`Qya~i%v&EdQpVL!~) zpoaD+*25oy_M$n%Rvqe1P(wWr6$QsIH723v_#!I&?xIq6-dyIq7J+SZMa*1xpg|uT ziF)FxsGe^`T_}pl@i2z*tH5u9_Dh(O_8X|7{}uH)JGXg&OsMM@MNM5r)JV6FP*9G3 z1@(b(s0++N&F$Nm4R-~8jTxx_ggP%Kk6AluQ2T*gsP;;z8`TTiU&3P4C!?llD=J|{ zq7*Vy_z`vChrxlg@n$5dVoBP2Vntkl+QB5DI-V}UTrdY}wuyCy1qPcNX7W3{d)Et+I2vWAzkC^zcTct?l1Km(05>brV;I3Z+OImozbHLgKE(P0{<)LIcv}v`WT5mH1)ew!~`{#ockIHqW{#PQJ1SpIVCZSO+w@|L=*k41ZV>tC4?{*=#dGv$dLu-mfyBD-~g#Xno9>>dD%>FTETQqrb`-&Y_ zcWJBfnUmdnxYdsJJ}6~pjn*n{cMeD2uVAl87Ja_D{aG@vPdz(>*DPXZ_u|8DoOh|O z<3#(_v#U8?*@kvb@7qRp{+LzX&yDR8{}@}ZN)x+EnWFKDdl<*M;s{lyWrvs0*lwNr-($&fFVfh~Tq9`~hxa8-h)>+i+2iB+pD6{G z`1k0?Kc!<#aMA=OWGbb7i8~7y^_o3$Gv(iFCS|jk>wQU+b+M%JiQ7!4)W4{=>1rsG zH@=B|JD)$*d$<$_{I#JzZ~Et?Zt`X~wKr$l#{+Q7|2PtD+|14zf6`{lgei8wpG7y91K9bGfuz7q4VS=Tb3@7dkTdugY+v1z9y?qE=6 zFmM{2nb9=I?Jv@J7tYxc#*@LCrkSF|M8p>uT41P^I4|k-#GQ$Il4f`t&)d19GtS#N zlmBy`Kl#!2{^M@luG-aNLy0@0EAQC1V!b=R*_o4V;t~v7bj$DdZyEnLe2%7aR{6^@ zX@YmYuw6L1HMKJ>g_oGl$>D7ZI~l!wS)B~tn5>lk)fS~KbxiblHs_2TU6sqJojb%0 zZdY==*ew4?+*M@AyxB*btPAQmxuchBJ9E-_D_c^0v!&C__6GO1Ge>`GbD zL}zt&MuuW$M>BMDR;G+ini1b@2>C>(_0G)fkR$doMy!Z`9x5B{JHXkU(%akB&F3{f z;Kq9$Mmp=gu3JKxoBVgmC>ozMMe8~7L#_aOwftCv%rYzRqomnPkEUTW$C#|d-7I#$ zVH4F|Ui_|5rn-M;n|Qjjn+Y=!lIY)RdvLM8&mj{3{rTP8Vy|Xe=X%FRIfbGRMmc3- zVm5hCjd6N=pIQJTRIk%IC(c|b&a1QD$?!iXEM4d1ZT#;~ zCBB!q)lWMbfE|h3{&|Q0KIV_u|Iv{r+3j5ayiblCb{?hELg`3tJ{=`Y`eU+XF>6_0EgoHv+}#}V6841RynaLM z*q9Pty53H{Xtz{uk>oK$y>!2l8{f_BzL=?X%bLYluA360Nz;?&_?doBG-sUKEhc7j zbbJ;!tBEU*tJeL`d)D$g=Wug-2XeU$yo;QUiM4> zkB9PpD(dEorYhljq169QxXPA?O1X8@dY><3UB=aLN5uF87F|)(z2|t|bMC_QiroMF zNX2^Y?64W#1B2|i=))%NvoYS8F;1#zm1b@U=kNRK^3z(mkJ4q>@xO2Nbv@nfG0_)$ zxd+33x{sC|;3kjp-Wp`5iq;tD#@gvw<2(QJ#%+eU7j19JAUmx)l|kI%m7Hv6i4Gm+ z-p-xoKhuSmn4SrEcfNZeeY*d?jK{6ZdEfQq&3tE-`||%L*FV;~WurS*yBTe7#rtmU zXr}e<)2_FACF9!SL-$~^e?H&YU2Z~*w|0ly_rF>XGvc}%=_<$-jy`b`}3At#PQRP2HT6hshF_XCY?|h{_$p7)$jAlp?PMamh^7iKq zm+;yogdb+yY0i5s=`|MME^SZtdi$=}*`g!!hVO(zN#ng@ecgB`X=c*v-kbvAn*R@| Cz%WDr delta 23585 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\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && " -"(n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 1.8.7\n" -"Last-Translator: \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n" +"%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.4.2\n" +"Last-Translator: Oleksandra Iushchenko \n" "Language: ru_RU\n" #: src/slic3r/GUI/AboutDialog.cpp:45 src/slic3r/GUI/AboutDialog.cpp:299 @@ -394,7 +394,6 @@ msgid "First layer height" msgstr "Высота первого слоя" #: src/slic3r/GUI/ConfigManipulation.cpp:81 -#, c-format msgid "" "The Spiral Vase mode requires:\n" "- one perimeter\n" @@ -410,7 +409,7 @@ msgstr "" "- отсутствие верхних сплошных слоёв\n" "- плотность заполнения 0%\n" "- отсутствие поддержки\n" -"- отключено \"Обеспечивать вертикальную толщину оболочки\"\n" +"- включено \"Обеспечивать вертикальную толщину оболочки\"\n" "- отключено \"Обнаружение тонких стенок\"" #: src/slic3r/GUI/ConfigManipulation.cpp:89 @@ -432,7 +431,7 @@ msgstr "" "только в том случае, если она печатается текущим экструдером, без запуска\n" "смены инструмента. (Значения \"Экструдер, печатающий поддержки/подложки/юбки\"\n" "и \"Экструдер, печатающий связующий слой поддержки/подложки\" должны быть\n" -"установлены в 0).\"" +"установлены в 0)." #: src/slic3r/GUI/ConfigManipulation.cpp:119 msgid "Shall I adjust those settings in order to enable the Wipe Tower?" @@ -546,7 +545,7 @@ msgstr "пруток" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:59 src/libslic3r/Preset.cpp:1300 msgid "SLA print" -msgstr "Профиль SLA печати:" +msgstr "Профиль SLA печати" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/Plater.cpp:696 #: src/libslic3r/Preset.cpp:1301 @@ -1070,7 +1069,7 @@ msgstr "" #: src/slic3r/GUI/DoubleSlider.cpp:1241 msgid "Edit current color - Right click the colored slider segment" -msgstr "Изменить текущий цвет - Правая кнопка мыши по цветному сегменту ползунка ???" +msgstr "Изменить текущий цвет - Правая кнопка мыши по цветному сегменту ползунка" #: src/slic3r/GUI/DoubleSlider.cpp:1251 msgid "Print mode" @@ -2238,7 +2237,7 @@ msgstr "Ctrl + Колесо мыши" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:233 msgid "Autoset custom supports" -msgstr "Автоустановка пользовательских поддержек ???" +msgstr "Автоустановка пользовательских поддержек" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:235 msgid "Threshold:" @@ -2344,7 +2343,7 @@ msgstr "Поворот" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:547 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:563 src/libslic3r/PrintConfig.cpp:3754 msgid "Scale" -msgstr "Масштаб " +msgstr "Масштаб" #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:30 #: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:381 @@ -2712,7 +2711,7 @@ msgid "" "Note: This name can be changed later from the physical printers settings" msgstr "" "При создании новых принтеров они будут именоваться как \"Принтер N\".\n" -"Примечание: это имя можно изменить позже в настройках физических принтеров." +"Примечание: это имя можно изменить позже в настройках физических принтеров" #: src/slic3r/GUI/GUI_App.cpp:1124 src/slic3r/GUI/PhysicalPrinterDialog.cpp:626 msgid "Information" @@ -2875,7 +2874,7 @@ msgstr "&Настройки" #: src/slic3r/GUI/GUI_App.cpp:1781 msgid "The preset(s) modifications are successfully saved" -msgstr "Изменения в профиле(-ях) успешно сохранены." +msgstr "Изменения в профиле(-ях) успешно сохранены" #: src/slic3r/GUI/GUI_App.cpp:1802 msgid "The uploads are still ongoing" @@ -3459,7 +3458,7 @@ msgstr "Неподдерживаемый выбор" #: src/slic3r/GUI/GUI_ObjectList.cpp:4012 #, c-format msgid "You started your selection with %s Item." -msgstr "Вы начали свой выбор с сущности %s" +msgstr "Вы начали свой выбор с сущности %s." #: src/slic3r/GUI/GUI_ObjectList.cpp:4013 #, c-format @@ -3477,7 +3476,7 @@ msgstr "Информация" #: src/slic3r/GUI/GUI_ObjectList.cpp:4137 msgid "You can't change a type of the last solid part of the object." -msgstr "Вы не можете изменить тип последнего твердотельного элемента модели" +msgstr "Вы не можете изменить тип последнего твердотельного элемента модели." #: src/slic3r/GUI/GUI_ObjectList.cpp:4142 msgid "Modifier" @@ -3794,7 +3793,7 @@ msgstr "ОШИБКА: недостаточно ресурсов для выпо #: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:41 msgid "Searching for optimal orientation" -msgstr "Поиск оптимального положения." +msgstr "Поиск оптимального положения" #: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:73 msgid "Orientation search canceled." @@ -3850,7 +3849,7 @@ msgstr "Импорт завершён." #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:208 src/slic3r/GUI/Plater.cpp:2357 msgid "You cannot load SLA project with a multi-part object on the bed" -msgstr "Вы не можете загрузить SLA проект с составной моделью на столе." +msgstr "Вы не можете загрузить SLA проект с составной моделью на столе" #: src/slic3r/GUI/Jobs/SLAImportJob.cpp:209 src/slic3r/GUI/Plater.cpp:2358 #: src/slic3r/GUI/Tab.cpp:3243 @@ -5114,7 +5113,7 @@ msgstr "" #: src/slic3r/GUI/NotificationManager.cpp:490 #: src/slic3r/GUI/NotificationManager.cpp:500 msgid "More" -msgstr "Подробнее." +msgstr "Подробнее" #: src/slic3r/GUI/NotificationManager.cpp:864 #: src/slic3r/GUI/NotificationManager.cpp:1141 @@ -9314,7 +9313,6 @@ msgid "Extra perimeters if needed" msgstr "Дополнительные периметры при необходимости" #: src/libslic3r/PrintConfig.cpp:539 -#, c-format msgid "" "Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r keeps " "adding perimeters, until more than 70% of the loop immediately above is supported." @@ -10365,7 +10363,6 @@ msgid "This setting represents the maximum speed of your fan." msgstr "Этот параметр регулирует максимальную скорость вращения вентилятора." #: src/libslic3r/PrintConfig.cpp:1435 -#, c-format msgid "" "This is the highest printable layer height for this extruder, used to cap the " "variable layer height and support layer height. Maximum recommended layer height is " diff --git a/resources/localization/uk/PrusaSlicer.mo b/resources/localization/uk/PrusaSlicer.mo index aae82889f3d1a312f36dfec22dd84af7dfedc2d8..66b5e0be3e9aec8d4722f98835462869c2ac718b 100644 GIT binary patch literal 389683 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 POzW8s-{SxOn=}7EVO-u* delta 26697 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 b8%gzRVmcMP3#0p!qNXZLG~>+|wrl?f#6%DH diff --git a/resources/localization/uk/PrusaSlicer_uk.po b/resources/localization/uk/PrusaSlicer_uk.po index 42b067361..fefe52eb5 100644 --- a/resources/localization/uk/PrusaSlicer_uk.po +++ b/resources/localization/uk/PrusaSlicer_uk.po @@ -2,95 +2,234 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-04-09 14:34+0200\n" -"PO-Revision-Date: 2019-04-09 15:18+0200\n" +"POT-Creation-Date: 2020-12-18 13:59+0100\n" +"PO-Revision-Date: 2021-02-03 17:15+0100\n" "Last-Translator: Oleksandra Iushchenko \n" "Language-Team: \n" "Language: uk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.8\n" +"X-Generator: Poedit 2.4.2\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: src/slic3r/GUI/AboutDialog.cpp:35 -msgid "About Slic3r" -msgstr "Про Slic3r" +#: src/slic3r/GUI/AboutDialog.cpp:45 src/slic3r/GUI/AboutDialog.cpp:299 +msgid "Portions copyright" +msgstr "Використані розробки" -#: src/slic3r/GUI/AboutDialog.cpp:64 src/slic3r/GUI/MainFrame.cpp:52 +#: src/slic3r/GUI/AboutDialog.cpp:135 src/slic3r/GUI/AboutDialog.cpp:263 +msgid "Copyright" +msgstr "Копірайт" + +#. TRN "Slic3r _is licensed under the_ License" +#: src/slic3r/GUI/AboutDialog.cpp:137 +msgid "" +"License agreements of all following programs (libraries) are part of " +"application license agreement" +msgstr "" +"Ліцензійні угоди всіх наступних програм (бібліотек) є частиною ліцензійної " +"угоди програми" + +#: src/slic3r/GUI/AboutDialog.cpp:206 +#, c-format +msgid "About %s" +msgstr "О %s" + +#: src/slic3r/GUI/AboutDialog.cpp:238 src/slic3r/GUI/AboutDialog.cpp:361 +#: src/slic3r/GUI/GUI_App.cpp:235 src/slic3r/GUI/MainFrame.cpp:151 msgid "Version" msgstr "Версія" -#: src/slic3r/GUI/BedShapeDialog.cpp:43 -msgid "Shape" -msgstr "Вигляд (Форма)" +#. TRN "Slic3r _is licensed under the_ License" +#: src/slic3r/GUI/AboutDialog.cpp:265 src/slic3r/GUI/GUI_App.cpp:240 +msgid "is licensed under the" +msgstr "ліцензовано згідно" -#: src/slic3r/GUI/BedShapeDialog.cpp:51 -msgid "Rectangular" -msgstr "Прямокутний" +#: src/slic3r/GUI/AboutDialog.cpp:266 src/slic3r/GUI/GUI_App.cpp:240 +msgid "GNU Affero General Public License, version 3" +msgstr "Загальна публічна ліцензія GNU Affero, версія 3" -#: src/slic3r/GUI/BedShapeDialog.cpp:55 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:118 src/slic3r/GUI/Plater.cpp:136 -#: src/slic3r/GUI/Tab.cpp:2185 +#: src/slic3r/GUI/AboutDialog.cpp:267 +msgid "" +"PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap " +"community." +msgstr "" +"PrusaSlicer заснований на Slic3r від Alessandro Ranellucci та спільноти " +"RepRap." + +#: src/slic3r/GUI/AboutDialog.cpp:268 +msgid "" +"Contributions by Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, " +"Petr Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik and " +"numerous others." +msgstr "" +"Розробки від Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr " +"Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik та багатьох " +"інших." + +#: src/slic3r/GUI/AboutDialog.cpp:304 +msgid "Copy Version Info" +msgstr "Скопіювати інформацію про версію" + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:78 +#, c-format +msgid "" +"%s has encountered an error. It was likely caused by running out of memory. " +"If you are sure you have enough RAM on your system, this may also be a bug " +"and we would be glad if you reported it." +msgstr "" +"%s виявив помилку. Ймовірно, це було пов’язано з закінченням пам’яті. Якщо " +"ви впевнені, що у вашій системі достатньо оперативної пам'яті, це також може " +"бути помилкою, і ми будемо раді, якщо ви нам про це повідомите." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:163 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:183 +msgid "Unknown error occured during exporting G-code." +msgstr "Під час експорту G-коду сталася невідома помилка." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:168 +msgid "" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD " +"card is write locked?\n" +"Error message: %1%" +msgstr "" +"Не вдалося скопіювати тимчасовий G-код у вихідний G-код. Можливо, SD-карта " +"заблокована?\n" +"Повідомлення про помилку: %1%" + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:171 +msgid "" +"Copying of the temporary G-code to the output G-code failed. There might be " +"problem with target device, please try exporting again or using different " +"device. The corrupted output G-code is at %1%.tmp." +msgstr "" +"Не вдалося скопіювати тимчасовий G-код у вихідний G-код. Можливо, проблема з " +"цільовим пристроєм, спробуйте експортувати ще раз або використати інший " +"пристрій. Пошкоджений вихідний G-код - %1% .tmp." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:174 +msgid "" +"Renaming of the G-code after copying to the selected destination folder has " +"failed. Current path is %1%.tmp. Please try exporting again." +msgstr "" +"Не вдалося перейменувати G-код після копіювання у вибрану папку призначення. " +"Поточний шлях - %1%.tmp. Спробуйте експортувати ще раз." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:177 +msgid "" +"Copying of the temporary G-code has finished but the original code at %1% " +"couldn't be opened during copy check. The output G-code is at %2%.tmp." +msgstr "" +"Копіювання тимчасового G-коду закінчено, але оригінальний код на рівні %1% " +"не вдалося відкрити під час перевірки копії. Вихідний G-код - %2% .tmp." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:180 +msgid "" +"Copying of the temporary G-code has finished but the exported code couldn't " +"be opened during copy check. The output G-code is at %1%.tmp." +msgstr "" +"Копіювання тимчасового G-коду завершено, але експортований код не вдалося " +"відкрити під час перевірки копії. Вихідний G-код - %1% .tmp." + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:187 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:536 +msgid "Running post-processing scripts" +msgstr "Запуск скриптів пост-обробки" + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:189 +msgid "G-code file exported to %1%" +msgstr "Файл G-коду експортується до %1%" + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:194 +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:243 +msgid "Slicing complete" +msgstr "Нарізання завершено" + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:238 +msgid "Masked SLA file exported to %1%" +msgstr "Файл SLA експортовано до %1%" + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:539 +msgid "Copying of the temporary G-code to the output G-code failed" +msgstr "Не вдалося скопіювати тимчасовий G-код у вихідний G-код" + +#: src/slic3r/GUI/BackgroundSlicingProcess.cpp:562 +msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" +msgstr "" +"Планування завантаження до `%1%`. Див. Вікно -> Черга завантаження хоста " +"друку" + +#: src/slic3r/GUI/BedShapeDialog.cpp:93 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:240 src/slic3r/GUI/Plater.cpp:162 +#: src/slic3r/GUI/Tab.cpp:2536 msgid "Size" msgstr "Розмір" -#: src/slic3r/GUI/BedShapeDialog.cpp:56 -msgid "Size in X and Y of the rectangular plate." -msgstr "Розмір прямокутної подложки за X та Y." - -#: src/slic3r/GUI/BedShapeDialog.cpp:62 +#: src/slic3r/GUI/BedShapeDialog.cpp:94 msgid "Origin" msgstr "Початок координат" -#: src/slic3r/GUI/BedShapeDialog.cpp:63 +#: src/slic3r/GUI/BedShapeDialog.cpp:95 src/libslic3r/PrintConfig.cpp:771 +msgid "Diameter" +msgstr "Діаметр" + +#: src/slic3r/GUI/BedShapeDialog.cpp:110 +msgid "Size in X and Y of the rectangular plate." +msgstr "Розмір прямокутної подложки за X та Y." + +#: src/slic3r/GUI/BedShapeDialog.cpp:121 msgid "" "Distance of the 0,0 G-code coordinate from the front left corner of the " "rectangle." msgstr "Відстань координат 0,0 G-коду від нижнього лівого кута прямокутника." -#: src/slic3r/GUI/BedShapeDialog.cpp:67 -msgid "Circular" -msgstr "Круговий" - -#: src/slic3r/GUI/BedShapeDialog.cpp:70 src/slic3r/GUI/ConfigWizard.cpp:111 -#: src/slic3r/GUI/ConfigWizard.cpp:544 src/slic3r/GUI/ConfigWizard.cpp:558 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:115 -#: src/slic3r/GUI/RammingChart.cpp:81 src/slic3r/GUI/WipeTowerDialog.cpp:84 -#: src/libslic3r/PrintConfig.cpp:59 src/libslic3r/PrintConfig.cpp:66 -#: src/libslic3r/PrintConfig.cpp:75 src/libslic3r/PrintConfig.cpp:209 -#: src/libslic3r/PrintConfig.cpp:284 src/libslic3r/PrintConfig.cpp:292 -#: src/libslic3r/PrintConfig.cpp:342 src/libslic3r/PrintConfig.cpp:352 -#: src/libslic3r/PrintConfig.cpp:472 src/libslic3r/PrintConfig.cpp:483 -#: src/libslic3r/PrintConfig.cpp:501 src/libslic3r/PrintConfig.cpp:679 -#: src/libslic3r/PrintConfig.cpp:1165 src/libslic3r/PrintConfig.cpp:1226 -#: src/libslic3r/PrintConfig.cpp:1244 src/libslic3r/PrintConfig.cpp:1262 -#: src/libslic3r/PrintConfig.cpp:1314 src/libslic3r/PrintConfig.cpp:1324 -#: src/libslic3r/PrintConfig.cpp:1445 src/libslic3r/PrintConfig.cpp:1453 -#: src/libslic3r/PrintConfig.cpp:1494 src/libslic3r/PrintConfig.cpp:1502 -#: src/libslic3r/PrintConfig.cpp:1512 src/libslic3r/PrintConfig.cpp:1520 -#: src/libslic3r/PrintConfig.cpp:1528 src/libslic3r/PrintConfig.cpp:1611 -#: src/libslic3r/PrintConfig.cpp:1827 src/libslic3r/PrintConfig.cpp:1897 -#: src/libslic3r/PrintConfig.cpp:1931 src/libslic3r/PrintConfig.cpp:2123 -#: src/libslic3r/PrintConfig.cpp:2130 src/libslic3r/PrintConfig.cpp:2137 -#: src/libslic3r/PrintConfig.cpp:2167 src/libslic3r/PrintConfig.cpp:2177 -#: src/libslic3r/PrintConfig.cpp:2187 src/libslic3r/PrintConfig.cpp:2293 -#: src/libslic3r/PrintConfig.cpp:2368 src/libslic3r/PrintConfig.cpp:2377 -#: src/libslic3r/PrintConfig.cpp:2386 src/libslic3r/PrintConfig.cpp:2396 -#: src/libslic3r/PrintConfig.cpp:2440 src/libslic3r/PrintConfig.cpp:2450 -#: src/libslic3r/PrintConfig.cpp:2469 src/libslic3r/PrintConfig.cpp:2479 -#: src/libslic3r/PrintConfig.cpp:2488 src/libslic3r/PrintConfig.cpp:2506 -#: src/libslic3r/PrintConfig.cpp:2521 src/libslic3r/PrintConfig.cpp:2532 -#: src/libslic3r/PrintConfig.cpp:2545 src/libslic3r/PrintConfig.cpp:2555 +#: src/slic3r/GUI/BedShapeDialog.cpp:129 src/slic3r/GUI/ConfigWizard.cpp:242 +#: src/slic3r/GUI/ConfigWizard.cpp:1368 src/slic3r/GUI/ConfigWizard.cpp:1382 +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:88 +#: src/slic3r/GUI/GCodeViewer.cpp:2337 src/slic3r/GUI/GCodeViewer.cpp:2343 +#: src/slic3r/GUI/GCodeViewer.cpp:2351 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:179 +#: src/slic3r/GUI/GUI_ObjectLayers.cpp:145 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:341 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:418 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:486 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:487 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:96 +#: src/slic3r/GUI/WipeTowerDialog.cpp:85 src/libslic3r/PrintConfig.cpp:77 +#: src/libslic3r/PrintConfig.cpp:84 src/libslic3r/PrintConfig.cpp:95 +#: src/libslic3r/PrintConfig.cpp:135 src/libslic3r/PrintConfig.cpp:244 +#: src/libslic3r/PrintConfig.cpp:302 src/libslic3r/PrintConfig.cpp:377 +#: src/libslic3r/PrintConfig.cpp:385 src/libslic3r/PrintConfig.cpp:435 +#: src/libslic3r/PrintConfig.cpp:565 src/libslic3r/PrintConfig.cpp:576 +#: src/libslic3r/PrintConfig.cpp:594 src/libslic3r/PrintConfig.cpp:774 +#: src/libslic3r/PrintConfig.cpp:1258 src/libslic3r/PrintConfig.cpp:1439 +#: src/libslic3r/PrintConfig.cpp:1500 src/libslic3r/PrintConfig.cpp:1518 +#: src/libslic3r/PrintConfig.cpp:1536 src/libslic3r/PrintConfig.cpp:1594 +#: src/libslic3r/PrintConfig.cpp:1604 src/libslic3r/PrintConfig.cpp:1729 +#: src/libslic3r/PrintConfig.cpp:1737 src/libslic3r/PrintConfig.cpp:1778 +#: src/libslic3r/PrintConfig.cpp:1786 src/libslic3r/PrintConfig.cpp:1796 +#: src/libslic3r/PrintConfig.cpp:1804 src/libslic3r/PrintConfig.cpp:1812 +#: src/libslic3r/PrintConfig.cpp:1875 src/libslic3r/PrintConfig.cpp:2141 +#: src/libslic3r/PrintConfig.cpp:2212 src/libslic3r/PrintConfig.cpp:2246 +#: src/libslic3r/PrintConfig.cpp:2375 src/libslic3r/PrintConfig.cpp:2454 +#: src/libslic3r/PrintConfig.cpp:2461 src/libslic3r/PrintConfig.cpp:2468 +#: src/libslic3r/PrintConfig.cpp:2498 src/libslic3r/PrintConfig.cpp:2508 +#: src/libslic3r/PrintConfig.cpp:2518 src/libslic3r/PrintConfig.cpp:2678 +#: src/libslic3r/PrintConfig.cpp:2712 src/libslic3r/PrintConfig.cpp:2851 +#: src/libslic3r/PrintConfig.cpp:2860 src/libslic3r/PrintConfig.cpp:2869 +#: src/libslic3r/PrintConfig.cpp:2879 src/libslic3r/PrintConfig.cpp:2944 +#: src/libslic3r/PrintConfig.cpp:2954 src/libslic3r/PrintConfig.cpp:2966 +#: src/libslic3r/PrintConfig.cpp:2986 src/libslic3r/PrintConfig.cpp:2996 +#: src/libslic3r/PrintConfig.cpp:3006 src/libslic3r/PrintConfig.cpp:3024 +#: src/libslic3r/PrintConfig.cpp:3039 src/libslic3r/PrintConfig.cpp:3053 +#: src/libslic3r/PrintConfig.cpp:3064 src/libslic3r/PrintConfig.cpp:3077 +#: src/libslic3r/PrintConfig.cpp:3122 src/libslic3r/PrintConfig.cpp:3132 +#: src/libslic3r/PrintConfig.cpp:3141 src/libslic3r/PrintConfig.cpp:3151 +#: src/libslic3r/PrintConfig.cpp:3167 src/libslic3r/PrintConfig.cpp:3191 msgid "mm" msgstr "мм" -#: src/slic3r/GUI/BedShapeDialog.cpp:71 src/libslic3r/PrintConfig.cpp:676 -msgid "Diameter" -msgstr "Діаметр" - -#: src/slic3r/GUI/BedShapeDialog.cpp:72 +#: src/slic3r/GUI/BedShapeDialog.cpp:131 msgid "" "Diameter of the print bed. It is assumed that origin (0,0) is located in the " "center." @@ -98,55 +237,106 @@ msgstr "" "Діаметр подложки. Передбачається, що початок координат (0,0) знаходиться в " "центрі." -#: src/slic3r/GUI/BedShapeDialog.cpp:76 src/slic3r/GUI/GUI_Preview.cpp:239 -#: src/libslic3r/GCode/PreviewData.cpp:175 +#: src/slic3r/GUI/BedShapeDialog.cpp:141 +msgid "Rectangular" +msgstr "Прямокутний" + +#: src/slic3r/GUI/BedShapeDialog.cpp:142 +msgid "Circular" +msgstr "Круговий" + +#: src/slic3r/GUI/BedShapeDialog.cpp:143 src/slic3r/GUI/GUI_Preview.cpp:243 +#: src/libslic3r/ExtrusionEntity.cpp:323 src/libslic3r/ExtrusionEntity.cpp:358 msgid "Custom" msgstr "Користувацький" -#: src/slic3r/GUI/BedShapeDialog.cpp:80 +#: src/slic3r/GUI/BedShapeDialog.cpp:145 +msgid "Invalid" +msgstr "Недійсний" + +#: src/slic3r/GUI/BedShapeDialog.cpp:156 src/slic3r/GUI/BedShapeDialog.cpp:222 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2288 +msgid "Shape" +msgstr "Форма" + +#: src/slic3r/GUI/BedShapeDialog.cpp:243 msgid "Load shape from STL..." msgstr "Завантажте форму з STL ..." -#: src/slic3r/GUI/BedShapeDialog.cpp:126 +#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1826 msgid "Settings" msgstr "Налаштування" -#: src/slic3r/GUI/BedShapeDialog.cpp:299 -msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Виберіть файл, щоб імпортувати форму полотна з (STL/OBJ/AMF/PRUSA):" +#: src/slic3r/GUI/BedShapeDialog.cpp:315 +msgid "Texture" +msgstr "Текстура" -#: src/slic3r/GUI/BedShapeDialog.cpp:316 src/slic3r/GUI/GUI_ObjectList.cpp:1252 -msgid "Error! " -msgstr "Помилка! " +#: src/slic3r/GUI/BedShapeDialog.cpp:325 src/slic3r/GUI/BedShapeDialog.cpp:405 +msgid "Load..." +msgstr "Завантажити..." -#: src/slic3r/GUI/BedShapeDialog.cpp:325 +#: src/slic3r/GUI/BedShapeDialog.cpp:333 src/slic3r/GUI/BedShapeDialog.cpp:413 +#: src/slic3r/GUI/Tab.cpp:3484 +msgid "Remove" +msgstr "Видалити" + +#: src/slic3r/GUI/BedShapeDialog.cpp:366 src/slic3r/GUI/BedShapeDialog.cpp:446 +msgid "Not found:" +msgstr "Не знайдено:" + +#: src/slic3r/GUI/BedShapeDialog.cpp:395 +msgid "Model" +msgstr "Модель" + +#: src/slic3r/GUI/BedShapeDialog.cpp:563 +msgid "Choose an STL file to import bed shape from:" +msgstr "Виберіть STL-файл для імпорту форми столу з:" + +#: src/slic3r/GUI/BedShapeDialog.cpp:570 src/slic3r/GUI/BedShapeDialog.cpp:619 +#: src/slic3r/GUI/BedShapeDialog.cpp:642 +msgid "Invalid file format." +msgstr "Недійсний формат файлу." + +#: src/slic3r/GUI/BedShapeDialog.cpp:581 +msgid "Error! Invalid model" +msgstr "Помилка! Недійсна модель" + +#: src/slic3r/GUI/BedShapeDialog.cpp:589 msgid "The selected file contains no geometry." msgstr "Обраний файл не містить геометрії." -#: src/slic3r/GUI/BedShapeDialog.cpp:329 +#: src/slic3r/GUI/BedShapeDialog.cpp:593 msgid "" "The selected file contains several disjoint areas. This is not supported." msgstr "Обраний файл містить декілька непересічних областей. Не підтримується." -#: src/slic3r/GUI/BedShapeDialog.hpp:44 src/slic3r/GUI/ConfigWizard.cpp:507 +#: src/slic3r/GUI/BedShapeDialog.cpp:608 +msgid "Choose a file to import bed texture from (PNG/SVG):" +msgstr "Виберіть файл для імпорту текстури столу (PNG / SVG):" + +#: src/slic3r/GUI/BedShapeDialog.cpp:631 +msgid "Choose an STL file to import bed model from:" +msgstr "Виберіть STL-файл для імпорту моделі столу з:" + +#: src/slic3r/GUI/BedShapeDialog.hpp:98 src/slic3r/GUI/ConfigWizard.cpp:1327 msgid "Bed Shape" -msgstr "Форма полотна" +msgstr "Форма столу" #: src/slic3r/GUI/BonjourDialog.cpp:55 msgid "Network lookup" -msgstr "" +msgstr "Пошук мережі" #: src/slic3r/GUI/BonjourDialog.cpp:72 msgid "Address" -msgstr "" +msgstr "Адреса" #: src/slic3r/GUI/BonjourDialog.cpp:73 msgid "Hostname" -msgstr "" +msgstr "Назва хоста" #: src/slic3r/GUI/BonjourDialog.cpp:74 msgid "Service name" -msgstr "" +msgstr "Назва сервісу" #: src/slic3r/GUI/BonjourDialog.cpp:76 msgid "OctoPrint version" @@ -154,417 +344,1184 @@ msgstr "Версія OctoPrint" #: src/slic3r/GUI/BonjourDialog.cpp:218 msgid "Searching for devices" -msgstr "" +msgstr "Пошук пристроїв" #: src/slic3r/GUI/BonjourDialog.cpp:225 msgid "Finished" -msgstr "" +msgstr "Завершено" -#: src/slic3r/GUI/ButtonsDescription.cpp:15 +#: src/slic3r/GUI/ButtonsDescription.cpp:16 msgid "Buttons And Text Colors Description" -msgstr "" +msgstr "Опис кнопок та кольорів тексту" -#: src/slic3r/GUI/ButtonsDescription.cpp:40 +#: src/slic3r/GUI/ButtonsDescription.cpp:36 msgid "Value is the same as the system value" -msgstr "" +msgstr "Значення таке ж, як системне" -#: src/slic3r/GUI/ButtonsDescription.cpp:57 +#: src/slic3r/GUI/ButtonsDescription.cpp:53 msgid "" "Value was changed and is not equal to the system value or the last saved " "preset" msgstr "" +"Значення було змінено і не дорівнює системному значенню або останньому " +"збереженому пресету" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:17 -msgid "Upgrade" +#: src/slic3r/GUI/ConfigManipulation.cpp:48 +msgid "" +"Zero layer height is not valid.\n" +"\n" +"The layer height will be reset to 0.01." msgstr "" +"Нульового висота шару є недійсною.\n" +"\n" +"Висота шару буде скинута до 0,01." + +#: src/slic3r/GUI/ConfigManipulation.cpp:49 +#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1387 +#: src/libslic3r/PrintConfig.cpp:73 +msgid "Layer height" +msgstr "Висота шару" + +#: src/slic3r/GUI/ConfigManipulation.cpp:60 +msgid "" +"Zero first layer height is not valid.\n" +"\n" +"The first layer height will be reset to 0.01." +msgstr "" +"Нульового висота першого шару є недійсною.\n" +"\n" +"Висота першого шару буде скинута до 0,01." + +#: src/slic3r/GUI/ConfigManipulation.cpp:61 src/libslic3r/PrintConfig.cpp:969 +msgid "First layer height" +msgstr "Висота першого шару" + +#: src/slic3r/GUI/ConfigManipulation.cpp:81 +msgid "" +"The Spiral Vase mode requires:\n" +"- one perimeter\n" +"- no top solid layers\n" +"- 0% fill density\n" +"- no support material\n" +"- Ensure vertical shell thickness enabled\n" +"- Detect thin walls disabled" +msgstr "" +"Режим спіральної вази вимагає:\n" +"- один периметр\n" +"- немає верхніх щільних шарів\n" +"- щільність заповнення 0%\n" +"- немає підтримуючого матеріалу\n" +"- \"Забезпечення товщини вертикальної оболонки\" увімкнено\n" +"- \"Виявлення тонких стінок\" вимкнено" + +#: src/slic3r/GUI/ConfigManipulation.cpp:89 +msgid "Shall I adjust those settings in order to enable Spiral Vase?" +msgstr "" +"Чи потрібно змінити ці налаштування, щоб увімкнути режим Спіральної вази?" + +#: src/slic3r/GUI/ConfigManipulation.cpp:90 +msgid "Spiral Vase" +msgstr "Спіральна ваза" + +#: src/slic3r/GUI/ConfigManipulation.cpp:115 +msgid "" +"The Wipe Tower currently supports the non-soluble supports only\n" +"if they are printed with the current extruder without triggering a tool " +"change.\n" +"(both support_material_extruder and support_material_interface_extruder need " +"to be set to 0)." +msgstr "" +"Вежа витирання в даний момент підтримує лише нерозчинні підтримки,\n" +"якщо вони друкуються з поточним екструдером, не запускаючи зміну " +"інструменту.\n" +"(обидва значення support_material_extruder і " +"support_material_interface_extruder повинні бути встановлені на 0)." + +#: src/slic3r/GUI/ConfigManipulation.cpp:119 +msgid "Shall I adjust those settings in order to enable the Wipe Tower?" +msgstr "Чи потрібно коригувати ці налаштування, щоб увімкнути вежу витирання?" + +#: src/slic3r/GUI/ConfigManipulation.cpp:120 +#: src/slic3r/GUI/ConfigManipulation.cpp:140 +msgid "Wipe Tower" +msgstr "Вежа витирання" + +#: src/slic3r/GUI/ConfigManipulation.cpp:136 +msgid "" +"For the Wipe Tower to work with the soluble supports, the support layers\n" +"need to be synchronized with the object layers." +msgstr "" +"Для того, щоб вежа витирання працювала з розчинними підтримками, шари " +"підтримки\n" +"повинні бути синхронізовані з шаром об'єкта." + +#: src/slic3r/GUI/ConfigManipulation.cpp:139 +msgid "Shall I synchronize support layers in order to enable the Wipe Tower?" +msgstr "" +"Чи потрібно синхронізувати шари підтримки, щоб увімкнути вежу витирання?" + +#: src/slic3r/GUI/ConfigManipulation.cpp:159 +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters" +msgstr "" +"Підтримка працює краще, якщо ввімкнена така функція:\n" +"- Виявлення нависаючих периметрів(перемичок)" + +#: src/slic3r/GUI/ConfigManipulation.cpp:162 +msgid "Shall I adjust those settings for supports?" +msgstr "Чи потрібно змінити ці налаштування для підтримки?" + +#: src/slic3r/GUI/ConfigManipulation.cpp:163 +msgid "Support Generator" +msgstr "Створення підтримки" + +#: src/slic3r/GUI/ConfigManipulation.cpp:198 +msgid "The %1% infill pattern is not supposed to work at 100%% density." +msgstr "Шаблон заповнення %1% не підтримується при щільності 100%%." + +#: src/slic3r/GUI/ConfigManipulation.cpp:201 +msgid "Shall I switch to rectilinear fill pattern?" +msgstr "Чи потрібно змінити його на прямолінійний шаблон заповнення?" + +#: src/slic3r/GUI/ConfigManipulation.cpp:202 +#: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 +#: src/slic3r/GUI/GUI_ObjectList.cpp:668 src/slic3r/GUI/Plater.cpp:389 +#: src/slic3r/GUI/Tab.cpp:1432 src/slic3r/GUI/Tab.cpp:1434 +#: src/libslic3r/PrintConfig.cpp:259 src/libslic3r/PrintConfig.cpp:472 +#: src/libslic3r/PrintConfig.cpp:496 src/libslic3r/PrintConfig.cpp:848 +#: src/libslic3r/PrintConfig.cpp:862 src/libslic3r/PrintConfig.cpp:899 +#: src/libslic3r/PrintConfig.cpp:1076 src/libslic3r/PrintConfig.cpp:1086 +#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1172 +#: src/libslic3r/PrintConfig.cpp:1191 src/libslic3r/PrintConfig.cpp:1928 +#: src/libslic3r/PrintConfig.cpp:1945 +msgid "Infill" +msgstr "Заповнення" + +#: src/slic3r/GUI/ConfigManipulation.cpp:320 +msgid "Head penetration should not be greater than the head width." +msgstr "Проникнення головки не повинно бути більше її ширини." + +#: src/slic3r/GUI/ConfigManipulation.cpp:322 +msgid "Invalid Head penetration" +msgstr "Неприпустиме проникнення головки" + +#: src/slic3r/GUI/ConfigManipulation.cpp:333 +msgid "Pinhead diameter should be smaller than the pillar diameter." +msgstr "Діаметр головки стовпа повинен бути менше діаметра стовпа." + +#: src/slic3r/GUI/ConfigManipulation.cpp:335 +msgid "Invalid pinhead diameter" +msgstr "Неприпустимий діаметр головки" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:19 -msgid "Downgrade" -msgstr "" +msgid "Upgrade" +msgstr "Оновити" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:21 -msgid "Before roll back" -msgstr "" +msgid "Downgrade" +msgstr "Повернути до попередньої версії" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:23 +msgid "Before roll back" +msgstr "Перед відкатом" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:25 src/libslic3r/PrintConfig.cpp:143 msgid "User" -msgstr "" +msgstr "Користувацький" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:26 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:28 +#: src/slic3r/GUI/GUI_Preview.cpp:229 src/libslic3r/ExtrusionEntity.cpp:309 msgid "Unknown" -msgstr "" - -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:38 -msgid "Active: " -msgstr "" +msgstr "Невідомий" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:44 -msgid "slic3r version" -msgstr "версія slic3r" - -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:45 src/slic3r/GUI/Preset.cpp:1250 -msgid "print" -msgstr "" - -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:46 -msgid "filaments" -msgstr "" - -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:47 src/slic3r/GUI/Preset.cpp:1254 -msgid "printer" -msgstr "" - -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 src/slic3r/GUI/Tab.cpp:872 -msgid "vendor" -msgstr "" +msgid "Active" +msgstr "Активний" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:51 +msgid "PrusaSlicer version" +msgstr "Версія PrusaSlicer" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 src/libslic3r/Preset.cpp:1298 +msgid "print" +msgstr "друк" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:56 +msgid "filaments" +msgstr "філаменти" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:59 src/libslic3r/Preset.cpp:1300 +msgid "SLA print" +msgstr "SLA-друк" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/Plater.cpp:696 +#: src/libslic3r/Preset.cpp:1301 +msgid "SLA material" +msgstr "SLA-матеріал" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:62 src/libslic3r/Preset.cpp:1302 +msgid "printer" +msgstr "принтер" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:66 src/slic3r/GUI/Tab.cpp:1304 +msgid "vendor" +msgstr "виробник" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:66 msgid "version" msgstr "версія" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:52 -msgid "min slic3r version" -msgstr "мінімальна версія slic3r" - -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:54 -msgid "max slic3r version" -msgstr "максимальна версія slic3r" - -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:57 -msgid "model" -msgstr "" - -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:57 -msgid "variants" -msgstr "" +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:67 +msgid "min PrusaSlicer version" +msgstr "мінімальна версія PrusaSlicer" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:69 -msgid "Incompatible with this Slic3r" -msgstr "" +msgid "max PrusaSlicer version" +msgstr "максимальна версія PrusaSlicer" #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:72 +msgid "model" +msgstr "модель" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:72 +msgid "variants" +msgstr "варіанти" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:84 +#, c-format +msgid "Incompatible with this %s" +msgstr "Є несумісним з цією версією %s" + +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:87 msgid "Activate" -msgstr "" +msgstr "Активувати" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:98 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:113 msgid "Configuration Snapshots" -msgstr "" +msgstr "Знімки конфігурації" -#: src/slic3r/GUI/ConfigWizard.cpp:111 +#: src/slic3r/GUI/ConfigWizard.cpp:242 msgid "nozzle" -msgstr "" +msgstr "сопло" -#: src/slic3r/GUI/ConfigWizard.cpp:115 +#: src/slic3r/GUI/ConfigWizard.cpp:246 msgid "Alternate nozzles:" -msgstr "" +msgstr "Альтернативні сопла:" -#: src/slic3r/GUI/ConfigWizard.cpp:181 +#: src/slic3r/GUI/ConfigWizard.cpp:310 msgid "All standard" -msgstr "" +msgstr "Всі стандартні" -#: src/slic3r/GUI/ConfigWizard.cpp:182 src/slic3r/GUI/Tab.cpp:2909 +#: src/slic3r/GUI/ConfigWizard.cpp:310 +msgid "Standard" +msgstr "Стандартний" + +#: src/slic3r/GUI/ConfigWizard.cpp:311 src/slic3r/GUI/ConfigWizard.cpp:605 +#: src/slic3r/GUI/Tab.cpp:3565 src/slic3r/GUI/UnsavedChangesDialog.cpp:933 msgid "All" msgstr "Всі" -#: src/slic3r/GUI/ConfigWizard.cpp:183 src/slic3r/GUI/Plater.cpp:414 -#: src/libslic3r/GCode/PreviewData.cpp:162 +#: src/slic3r/GUI/ConfigWizard.cpp:312 src/slic3r/GUI/ConfigWizard.cpp:606 +#: src/slic3r/GUI/DoubleSlider.cpp:1859 src/slic3r/GUI/Plater.cpp:361 +#: src/slic3r/GUI/Plater.cpp:504 msgid "None" msgstr "Жодне" -#: src/slic3r/GUI/ConfigWizard.cpp:284 +#: src/slic3r/GUI/ConfigWizard.cpp:452 #, c-format -msgid "Welcome to the Slic3r %s" -msgstr "Ласкаво просимо до Slic3r %s" +msgid "Welcome to the %s Configuration Assistant" +msgstr "Ласкаво просимо до Асистента конфігурації %s" -#: src/slic3r/GUI/ConfigWizard.cpp:284 +#: src/slic3r/GUI/ConfigWizard.cpp:454 +#, c-format +msgid "Welcome to the %s Configuration Wizard" +msgstr "Ласкаво просимо до Майстру конфігурації %s" + +#: src/slic3r/GUI/ConfigWizard.cpp:456 msgid "Welcome" msgstr "Ласкаво просимо" -#: src/slic3r/GUI/ConfigWizard.cpp:288 src/slic3r/GUI/GUI_App.cpp:600 -#, c-format -msgid "Run %s" -msgstr "" - -#: src/slic3r/GUI/ConfigWizard.cpp:290 +#: src/slic3r/GUI/ConfigWizard.cpp:458 #, c-format msgid "" -"Hello, welcome to Slic3r Prusa Edition! This %s helps you with the initial " -"configuration; just a few settings and you will be ready to print." +"Hello, welcome to %s! This %s helps you with the initial configuration; just " +"a few settings and you will be ready to print." msgstr "" +"Вітаємо, ласкаво просимо до %s! Цей %s допоможе вам в початковій " +"конфігурації; лише кілька налаштувань, і ви будете готові до друку." -#: src/slic3r/GUI/ConfigWizard.cpp:294 -msgid "" -"Remove user profiles - install from scratch (a snapshot will be taken " -"beforehand)" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:463 +msgid "Remove user profiles (a snapshot will be taken beforehand)" +msgstr "Видалити профілі користувачів (знімок буде зроблено заздалегідь)" -#: src/slic3r/GUI/ConfigWizard.cpp:325 +#: src/slic3r/GUI/ConfigWizard.cpp:506 #, c-format msgid "%s Family" -msgstr "" +msgstr "%s Родина" -#: src/slic3r/GUI/ConfigWizard.cpp:362 -msgid "Custom Printer Setup" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:594 +msgid "Printer:" +msgstr "Принтер:" -#: src/slic3r/GUI/ConfigWizard.cpp:362 -msgid "Custom Printer" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:596 +msgid "Vendor:" +msgstr "Виробник:" -#: src/slic3r/GUI/ConfigWizard.cpp:364 -msgid "Define a custom printer profile" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:597 +msgid "Profile:" +msgstr "Профіль:" -#: src/slic3r/GUI/ConfigWizard.cpp:366 -msgid "Custom profile name:" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:669 src/slic3r/GUI/ConfigWizard.cpp:819 +#: src/slic3r/GUI/ConfigWizard.cpp:880 src/slic3r/GUI/ConfigWizard.cpp:1017 +msgid "(All)" +msgstr "(Всі)" -#: src/slic3r/GUI/ConfigWizard.cpp:390 -msgid "Automatic updates" -msgstr "" - -#: src/slic3r/GUI/ConfigWizard.cpp:390 -msgid "Updates" -msgstr "" - -#: src/slic3r/GUI/ConfigWizard.cpp:398 src/slic3r/GUI/Preferences.cpp:59 -msgid "Check for application updates" -msgstr "" - -#: src/slic3r/GUI/ConfigWizard.cpp:401 src/slic3r/GUI/Preferences.cpp:61 +#: src/slic3r/GUI/ConfigWizard.cpp:698 msgid "" -"If enabled, Slic3r checks for new versions of Slic3r PE online. When a new " -"version becomes available a notification is displayed at the next " +"Filaments marked with * are not compatible with some installed " +"printers." +msgstr "" +"Філаменти, позначені *, є несумісні з деякими встановленими " +"принтерами." + +#: src/slic3r/GUI/ConfigWizard.cpp:701 +msgid "All installed printers are compatible with the selected filament." +msgstr "Усі встановлені принтери сумісні з обраним філаментем." + +#: src/slic3r/GUI/ConfigWizard.cpp:721 +msgid "" +"Only the following installed printers are compatible with the selected " +"filament:" +msgstr "Тільки наступні встановлені принтери сумісні з обраним філаментом:" + +#: src/slic3r/GUI/ConfigWizard.cpp:1107 +msgid "Custom Printer Setup" +msgstr "Користувацьке налаштування принтера" + +#: src/slic3r/GUI/ConfigWizard.cpp:1107 +msgid "Custom Printer" +msgstr "Користувацький принтер" + +#: src/slic3r/GUI/ConfigWizard.cpp:1109 +msgid "Define a custom printer profile" +msgstr "Визначте власний профіль принтера" + +#: src/slic3r/GUI/ConfigWizard.cpp:1111 +msgid "Custom profile name:" +msgstr "Користувацьке ім'я пресету:" + +#: src/slic3r/GUI/ConfigWizard.cpp:1136 +msgid "Automatic updates" +msgstr "Автоматичні оновлення" + +#: src/slic3r/GUI/ConfigWizard.cpp:1136 +msgid "Updates" +msgstr "Оновлення" + +#: src/slic3r/GUI/ConfigWizard.cpp:1144 src/slic3r/GUI/Preferences.cpp:94 +msgid "Check for application updates" +msgstr "Перевірте наявність оновлень програми" + +#: src/slic3r/GUI/ConfigWizard.cpp:1148 +#, c-format +msgid "" +"If enabled, %s checks for new application versions online. When a new " +"version becomes available, a notification is displayed at the next " "application startup (never during program usage). This is only a " "notification mechanisms, no automatic installation is done." msgstr "" +"Якщо цей параметр увімкнено, %s перевіряє наявність нової версії онлайн. " +"Коли нова версія стає доступною, сповіщення відображатиметься під час " +"наступного запуску застосування (ніколи не під час використання програми). " +"Це лише механізми сповіщення, автоматична інсталяція не виконується." -#: src/slic3r/GUI/ConfigWizard.cpp:405 src/slic3r/GUI/Preferences.cpp:67 +#: src/slic3r/GUI/ConfigWizard.cpp:1154 src/slic3r/GUI/Preferences.cpp:129 msgid "Update built-in Presets automatically" -msgstr "" +msgstr "Автоматично оновлювати вбудовані пресети" -#: src/slic3r/GUI/ConfigWizard.cpp:408 src/slic3r/GUI/Preferences.cpp:69 +#: src/slic3r/GUI/ConfigWizard.cpp:1158 +#, c-format msgid "" -"If enabled, Slic3r downloads updates of built-in system presets in the " -"background. These updates are downloaded into a separate temporary location. " +"If enabled, %s downloads updates of built-in system presets in the " +"background.These updates are downloaded into a separate temporary location." "When a new preset version becomes available it is offered at application " "startup." msgstr "" +"Якщо увімкнено, %s завантажує оновлення вбудованих системних пресетів у " +"фоновому режимі. Ці оновлення завантажуються в окреме тимчасове місце. Коли " +"з’являється нова попередньо встановлена версія, вона пропонується під час " +"запуску програми." -#: src/slic3r/GUI/ConfigWizard.cpp:409 +#: src/slic3r/GUI/ConfigWizard.cpp:1161 msgid "" "Updates are never applied without user's consent and never overwrite user's " "customized settings." msgstr "" +"Оновлення ніколи не застосовуються без згоди користувача та ніколи не " +"перезаписують власні налаштування користувача." -#: src/slic3r/GUI/ConfigWizard.cpp:414 +#: src/slic3r/GUI/ConfigWizard.cpp:1166 msgid "" "Additionally a backup snapshot of the whole configuration is created before " "an update is applied." msgstr "" +"Крім того, перед застосуванням оновлення створюється резервний знімок всієї " +"конфігурації." -#: src/slic3r/GUI/ConfigWizard.cpp:421 +#: src/slic3r/GUI/ConfigWizard.cpp:1173 src/slic3r/GUI/GUI_ObjectList.cpp:1825 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4567 src/slic3r/GUI/Plater.cpp:3116 +#: src/slic3r/GUI/Plater.cpp:4001 src/slic3r/GUI/Plater.cpp:4032 +msgid "Reload from disk" +msgstr "Перезавантажити з диска" + +#: src/slic3r/GUI/ConfigWizard.cpp:1176 +msgid "" +"Export full pathnames of models and parts sources into 3mf and amf files" +msgstr "" +"Експортуйте повні назви шляхів джерел моделей та частей у файли 3MF та AMF" + +#: src/slic3r/GUI/ConfigWizard.cpp:1180 +msgid "" +"If enabled, allows the Reload from disk command to automatically find and " +"load the files when invoked.\n" +"If not enabled, the Reload from disk command will ask to select each file " +"using an open file dialog." +msgstr "" +"Якщо ввімкнено, дозволяє команді «Перезавантажити з диска» автоматично " +"знаходити та завантажувати файли при виклику.\n" +"Якщо не ввімкнено, команда «Перезавантажити з диска» попросить вибрати кожен " +"файл за допомогою діалогового вікна відкритого файлу." + +#: src/slic3r/GUI/ConfigWizard.cpp:1190 +msgid "Files association" +msgstr "Асоціація файлів" + +#: src/slic3r/GUI/ConfigWizard.cpp:1192 src/slic3r/GUI/Preferences.cpp:112 +msgid "Associate .3mf files to PrusaSlicer" +msgstr "Асоціювати 3MF-файли з PrusaSlicer" + +#: src/slic3r/GUI/ConfigWizard.cpp:1193 src/slic3r/GUI/Preferences.cpp:119 +msgid "Associate .stl files to PrusaSlicer" +msgstr "Асоціювати stl-файли з PrusaSlicer" + +#: src/slic3r/GUI/ConfigWizard.cpp:1204 +msgid "View mode" +msgstr "Режим перегляду" + +#: src/slic3r/GUI/ConfigWizard.cpp:1206 +msgid "" +"PrusaSlicer's user interfaces comes in three variants:\n" +"Simple, Advanced, and Expert.\n" +"The Simple mode shows only the most frequently used settings relevant for " +"regular 3D printing. The other two offer progressively more sophisticated " +"fine-tuning, they are suitable for advanced and expert users, respectively." +msgstr "" +"Користувацький інтерфейс PrusaSlicer поставляються в трьох варіантах:\n" +"Простий, Розширений та Експертний.\n" +"У простому режимі відображаються лише найбільш часто використовувані " +"налаштування, що стосуються звичайного 3D-друку. Два інших пропонують " +"поступово більш досконалу точну настройку, вони підходять для більш " +"досвідчених користувачів." + +#: src/slic3r/GUI/ConfigWizard.cpp:1211 +msgid "Simple mode" +msgstr "Простий режим" + +#: src/slic3r/GUI/ConfigWizard.cpp:1212 +msgid "Advanced mode" +msgstr "Розширений режим" + +#: src/slic3r/GUI/ConfigWizard.cpp:1213 +msgid "Expert mode" +msgstr "Експертний режим" + +#: src/slic3r/GUI/ConfigWizard.cpp:1219 +msgid "The size of the object can be specified in inches" +msgstr "Розмір предмета можна вказати в дюймах" + +#: src/slic3r/GUI/ConfigWizard.cpp:1220 +msgid "Use inches" +msgstr "Використовувати дюйми" + +#: src/slic3r/GUI/ConfigWizard.cpp:1254 msgid "Other Vendors" -msgstr "" +msgstr "Інші постачальники" -#: src/slic3r/GUI/ConfigWizard.cpp:423 -msgid "Pick another vendor supported by Slic3r PE:" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:1258 +#, c-format +msgid "Pick another vendor supported by %s" +msgstr "Виберіть іншого постачальника, який підтримує %s" -#: src/slic3r/GUI/ConfigWizard.cpp:469 +#: src/slic3r/GUI/ConfigWizard.cpp:1289 msgid "Firmware Type" -msgstr "" +msgstr "Тип прошивки" -#: src/slic3r/GUI/ConfigWizard.cpp:469 src/slic3r/GUI/Tab.cpp:1870 +#: src/slic3r/GUI/ConfigWizard.cpp:1289 src/slic3r/GUI/Tab.cpp:2172 msgid "Firmware" msgstr "Прошивка" -#: src/slic3r/GUI/ConfigWizard.cpp:473 +#: src/slic3r/GUI/ConfigWizard.cpp:1293 msgid "Choose the type of firmware used by your printer." -msgstr "" +msgstr "Виберіть тип прошивки, що використовуються вашим принтером." -#: src/slic3r/GUI/ConfigWizard.cpp:507 +#: src/slic3r/GUI/ConfigWizard.cpp:1327 msgid "Bed Shape and Size" -msgstr "" +msgstr "Форма та розмір столу" -#: src/slic3r/GUI/ConfigWizard.cpp:510 +#: src/slic3r/GUI/ConfigWizard.cpp:1330 msgid "Set the shape of your printer's bed." -msgstr "" +msgstr "Встановіть форму столу свого принтеру." -#: src/slic3r/GUI/ConfigWizard.cpp:524 +#: src/slic3r/GUI/ConfigWizard.cpp:1350 msgid "Filament and Nozzle Diameters" -msgstr "" +msgstr "Діаметри філатенту та сопла" -#: src/slic3r/GUI/ConfigWizard.cpp:524 +#: src/slic3r/GUI/ConfigWizard.cpp:1350 msgid "Print Diameters" -msgstr "" +msgstr "Діаметри друку" -#: src/slic3r/GUI/ConfigWizard.cpp:540 +#: src/slic3r/GUI/ConfigWizard.cpp:1364 msgid "Enter the diameter of your printer's hot end nozzle." -msgstr "" +msgstr "Введіть діаметр кінчику екструдерного сопла." -#: src/slic3r/GUI/ConfigWizard.cpp:543 +#: src/slic3r/GUI/ConfigWizard.cpp:1367 msgid "Nozzle Diameter:" -msgstr "" +msgstr "Діаметр сопла:" -#: src/slic3r/GUI/ConfigWizard.cpp:553 +#: src/slic3r/GUI/ConfigWizard.cpp:1377 msgid "Enter the diameter of your filament." -msgstr "" +msgstr "Введіть діаметр вашого філаметну." -#: src/slic3r/GUI/ConfigWizard.cpp:554 +#: src/slic3r/GUI/ConfigWizard.cpp:1378 msgid "" "Good precision is required, so use a caliper and do multiple measurements " "along the filament, then compute the average." msgstr "" +"Необхідна висока точність, тому використовуйте калібрувальник і виконайте " +"декілька вимірювань вздовж філаменту, потім обчисліть середнє значення." -#: src/slic3r/GUI/ConfigWizard.cpp:557 +#: src/slic3r/GUI/ConfigWizard.cpp:1381 msgid "Filament Diameter:" -msgstr "" +msgstr "Діаметр філаменту:" -#: src/slic3r/GUI/ConfigWizard.cpp:575 -msgid "Extruder and Bed Temperatures" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:1415 +msgid "Nozzle and Bed Temperatures" +msgstr "Температура сопла та столу" -#: src/slic3r/GUI/ConfigWizard.cpp:575 +#: src/slic3r/GUI/ConfigWizard.cpp:1415 msgid "Temperatures" -msgstr "" +msgstr "Температури" -#: src/slic3r/GUI/ConfigWizard.cpp:591 +#: src/slic3r/GUI/ConfigWizard.cpp:1431 msgid "Enter the temperature needed for extruding your filament." -msgstr "" +msgstr "Введіть температуру, необхідну для екструдування вашого філаменту." -#: src/slic3r/GUI/ConfigWizard.cpp:592 +#: src/slic3r/GUI/ConfigWizard.cpp:1432 msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." -msgstr "" +msgstr "Зазвичай - 160-230°C для PLA та 215-250°C для ABS." -#: src/slic3r/GUI/ConfigWizard.cpp:595 +#: src/slic3r/GUI/ConfigWizard.cpp:1435 msgid "Extrusion Temperature:" -msgstr "" +msgstr "Температура екструзії:" -#: src/slic3r/GUI/ConfigWizard.cpp:596 src/slic3r/GUI/ConfigWizard.cpp:610 +#: src/slic3r/GUI/ConfigWizard.cpp:1436 src/slic3r/GUI/ConfigWizard.cpp:1450 +#: src/libslic3r/PrintConfig.cpp:202 src/libslic3r/PrintConfig.cpp:950 +#: src/libslic3r/PrintConfig.cpp:994 src/libslic3r/PrintConfig.cpp:2294 msgid "°C" -msgstr "" +msgstr "°C" -#: src/slic3r/GUI/ConfigWizard.cpp:605 +#: src/slic3r/GUI/ConfigWizard.cpp:1445 msgid "" "Enter the bed temperature needed for getting your filament to stick to your " "heated bed." msgstr "" +"Введіть температуру столу, необхідну для того, щоб ваш філамент добре " +"кріпився до нагрітого столу." -#: src/slic3r/GUI/ConfigWizard.cpp:606 +#: src/slic3r/GUI/ConfigWizard.cpp:1446 msgid "" "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " "no heated bed." msgstr "" +"Зазвичай - 60°C для PLA та 110°C для ABS. Залиште рівним нулю, якщо стіл " +"нерозігрітий." -#: src/slic3r/GUI/ConfigWizard.cpp:609 +#: src/slic3r/GUI/ConfigWizard.cpp:1449 msgid "Bed Temperature:" -msgstr "" +msgstr "Температура столу:" -#: src/slic3r/GUI/ConfigWizard.cpp:1001 +#: src/slic3r/GUI/ConfigWizard.cpp:1909 src/slic3r/GUI/ConfigWizard.cpp:2582 +msgid "Filaments" +msgstr "Філаменти" + +#: src/slic3r/GUI/ConfigWizard.cpp:1909 src/slic3r/GUI/ConfigWizard.cpp:2584 +msgid "SLA Materials" +msgstr "SLA-матеріали" + +#: src/slic3r/GUI/ConfigWizard.cpp:1963 +msgid "FFF Technology Printers" +msgstr "Принтери технології FFF" + +#: src/slic3r/GUI/ConfigWizard.cpp:1968 +msgid "SLA Technology Printers" +msgstr "Принтери технології SLA" + +#: src/slic3r/GUI/ConfigWizard.cpp:2274 src/slic3r/GUI/DoubleSlider.cpp:2245 +#: src/slic3r/GUI/DoubleSlider.cpp:2265 src/slic3r/GUI/GUI.cpp:244 +msgid "Notice" +msgstr "Зауваження" + +#: src/slic3r/GUI/ConfigWizard.cpp:2295 +msgid "The following FFF printer models have no filament selected:" +msgstr "Наступні моделі FFF-принтерів не мають вибраного філаменту:" + +#: src/slic3r/GUI/ConfigWizard.cpp:2299 +msgid "Do you want to select default filaments for these FFF printer models?" +msgstr "" +"Ви хочете вибрати філаменти за замовчуванням для цих моделей FFF-принтерів?" + +#: src/slic3r/GUI/ConfigWizard.cpp:2313 +msgid "The following SLA printer models have no materials selected:" +msgstr "Наступні моделі SLA-принтерів не мають вибраного матеріалу:" + +#: src/slic3r/GUI/ConfigWizard.cpp:2317 +msgid "Do you want to select default SLA materials for these printer models?" +msgstr "" +"Ви хочете вибрати матеріали за замовчуванням для цих моделей SLA-принтерів?" + +#: src/slic3r/GUI/ConfigWizard.cpp:2545 msgid "Select all standard printers" -msgstr "" +msgstr "Виберіть усі стандартні принтери" -#: src/slic3r/GUI/ConfigWizard.cpp:1004 +#: src/slic3r/GUI/ConfigWizard.cpp:2548 msgid "< &Back" -msgstr "" +msgstr "< Назад" -#: src/slic3r/GUI/ConfigWizard.cpp:1005 +#: src/slic3r/GUI/ConfigWizard.cpp:2549 msgid "&Next >" -msgstr "" +msgstr "Далі >" -#: src/slic3r/GUI/ConfigWizard.cpp:1006 +#: src/slic3r/GUI/ConfigWizard.cpp:2550 msgid "&Finish" -msgstr "" +msgstr "Завершити" -#: src/slic3r/GUI/ConfigWizard.cpp:1007 src/slic3r/GUI/FirmwareDialog.cpp:142 -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:37 -#: src/slic3r/GUI/ProgressStatusBar.cpp:28 +#: src/slic3r/GUI/ConfigWizard.cpp:2551 src/slic3r/GUI/FirmwareDialog.cpp:151 +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:248 +#: src/slic3r/GUI/ProgressStatusBar.cpp:26 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:656 msgid "Cancel" -msgstr "" +msgstr "Скасувати" -#: src/slic3r/GUI/ConfigWizard.cpp:1021 +#: src/slic3r/GUI/ConfigWizard.cpp:2564 msgid "Prusa FFF Technology Printers" -msgstr "" +msgstr "Принтери технології FFF" -#: src/slic3r/GUI/ConfigWizard.cpp:1024 +#: src/slic3r/GUI/ConfigWizard.cpp:2567 msgid "Prusa MSLA Technology Printers" -msgstr "" +msgstr "Принтери технології MSLA" -#: src/slic3r/GUI/ConfigWizard.cpp:1111 -msgid "Configuration Wizard" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:2582 +msgid "Filament Profiles Selection" +msgstr "Вибір профілів філаменту" -#: src/slic3r/GUI/ConfigWizard.cpp:1112 -msgid "Configuration &Wizard" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:2582 src/slic3r/GUI/ConfigWizard.cpp:2584 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4144 +msgid "Type:" +msgstr "Тип:" -#: src/slic3r/GUI/ConfigWizard.cpp:1114 +#: src/slic3r/GUI/ConfigWizard.cpp:2584 +msgid "SLA Material Profiles Selection" +msgstr "Вибір профілів SLA-матеріалу" + +#: src/slic3r/GUI/ConfigWizard.cpp:2701 msgid "Configuration Assistant" -msgstr "" +msgstr "Асистент конфігурації" -#: src/slic3r/GUI/ConfigWizard.cpp:1115 +#: src/slic3r/GUI/ConfigWizard.cpp:2702 msgid "Configuration &Assistant" -msgstr "" +msgstr "Асистент конфігурації" -#: src/slic3r/GUI/Field.cpp:112 -msgid "default value" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:2704 +msgid "Configuration Wizard" +msgstr "Майстер конфігурації" -#: src/slic3r/GUI/Field.cpp:115 -msgid "parameter name" -msgstr "" +#: src/slic3r/GUI/ConfigWizard.cpp:2705 +msgid "Configuration &Wizard" +msgstr "Майстер конфігурації" -#: src/slic3r/GUI/Field.cpp:143 -#, c-format -msgid "%s doesn't support percentage" -msgstr "" +#: src/slic3r/GUI/DoubleSlider.cpp:97 +msgid "Place bearings in slots and resume printing" +msgstr "Розмістіть необхідні деталі в гніздах і відновіть друк" -#: src/slic3r/GUI/Field.cpp:157 src/slic3r/GUI/Field.cpp:180 -msgid "Invalid numeric input." -msgstr "" +#: src/slic3r/GUI/DoubleSlider.cpp:1224 +msgid "One layer mode" +msgstr "Одношаровий режим" -#: src/slic3r/GUI/Field.cpp:162 -msgid "Input value is out of range" -msgstr "" +#: src/slic3r/GUI/DoubleSlider.cpp:1226 +msgid "Discard all custom changes" +msgstr "Відхилити всі користувацькі зміни" -#: src/slic3r/GUI/Field.cpp:188 +#: src/slic3r/GUI/DoubleSlider.cpp:1230 src/slic3r/GUI/DoubleSlider.cpp:1995 +msgid "Jump to move" +msgstr "Перейти до руху" + +#: src/slic3r/GUI/DoubleSlider.cpp:1233 #, c-format msgid "" -"Do you mean %d%% instead of %d %s?\n" -"Select YES if you want to change this value to %d%%, \n" -"or NO if you are sure that %d %s is a correct value." +"Jump to height %s\n" +"Set ruler mode\n" +"or Set extruder sequence for the entire print" msgstr "" +"Перейти на висоту %s\n" +"Налаштувати режим лінійки\n" +"або Налаштувати послідовність екструдерів для поточного тіску" -#: src/slic3r/GUI/Field.cpp:191 +#: src/slic3r/GUI/DoubleSlider.cpp:1236 +#, c-format +msgid "" +"Jump to height %s\n" +"or Set ruler mode" +msgstr "" +"Перейти на висоту %s\n" +"або Налаштувати режим лінійки" + +#: src/slic3r/GUI/DoubleSlider.cpp:1241 +msgid "Edit current color - Right click the colored slider segment" +msgstr "" +"Редагувати поточний колір - Клацніть правою кнопкою миші на кольоровий " +"сегмент повзунка" + +#: src/slic3r/GUI/DoubleSlider.cpp:1251 +msgid "Print mode" +msgstr "Режим друку" + +#: src/slic3r/GUI/DoubleSlider.cpp:1265 +msgid "Add extruder change - Left click" +msgstr "Додати зміну екструдеру - ліва кнопка миші" + +#: src/slic3r/GUI/DoubleSlider.cpp:1267 +msgid "" +"Add color change - Left click for predefined color or Shift + Left click for " +"custom color selection" +msgstr "" +"Додати зміну кольору - ліва кнопка миші для попередньо визначеного кольору " +"або Shift + ліва кнопка миші для властного вибору кольору" + +#: src/slic3r/GUI/DoubleSlider.cpp:1269 +msgid "Add color change - Left click" +msgstr "Додати зміну кольору - ліва кнопка миші" + +#: src/slic3r/GUI/DoubleSlider.cpp:1270 +msgid "or press \"+\" key" +msgstr "або натисніть клавішу \"+\"" + +#: src/slic3r/GUI/DoubleSlider.cpp:1272 +msgid "Add another code - Ctrl + Left click" +msgstr "Додайте інший код - Ctrl + ліва кнопка миші" + +#: src/slic3r/GUI/DoubleSlider.cpp:1273 +msgid "Add another code - Right click" +msgstr "Додайте інший код - права кнопка миші" + +#: src/slic3r/GUI/DoubleSlider.cpp:1279 +msgid "" +"The sequential print is on.\n" +"It's impossible to apply any custom G-code for objects printing " +"sequentually.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Послідовний друк увімкнено.\n" +"Неможливо застосувати будь-який власний G-код для послідовного друку " +"об'єктів.\n" +"Цей код не буде оброблятися під час створення G-коду." + +#: src/slic3r/GUI/DoubleSlider.cpp:1288 +msgid "Color change (\"%1%\")" +msgstr "Зміну кольору (\"%1%\")" + +#: src/slic3r/GUI/DoubleSlider.cpp:1289 +msgid "Color change (\"%1%\") for Extruder %2%" +msgstr "Зміну кольору (\"%1%\") для екструдеру %2%" + +#: src/slic3r/GUI/DoubleSlider.cpp:1291 +msgid "Pause print (\"%1%\")" +msgstr "Пауза друку (\"%1%\")" + +#: src/slic3r/GUI/DoubleSlider.cpp:1293 +msgid "Custom template (\"%1%\")" +msgstr "Користувацький шаблон (\"%1%\")" + +#: src/slic3r/GUI/DoubleSlider.cpp:1295 +msgid "Extruder (tool) is changed to Extruder \"%1%\"" +msgstr "Екструдер (інструмент) змінено на Екструдер \"%1%\"" + +#: src/slic3r/GUI/DoubleSlider.cpp:1302 +msgid "Note" +msgstr "Примітка" + +#: src/slic3r/GUI/DoubleSlider.cpp:1304 +msgid "" +"G-code associated to this tick mark is in a conflict with print mode.\n" +"Editing it will cause changes of Slider data." +msgstr "" +"G-код, пов'язаний з цим маркером, суперечить режиму друку.\n" +"Редагування призведе до змін даних повзунка." + +#: src/slic3r/GUI/DoubleSlider.cpp:1307 +msgid "" +"There is a color change for extruder that won't be used till the end of " +"print job.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Змінено колір екструдера, який не використовуватиметься до кінця завдання " +"друку.\n" +"Цей код не буде оброблятися під час створення G-коду." + +#: src/slic3r/GUI/DoubleSlider.cpp:1310 +msgid "" +"There is an extruder change set to the same extruder.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Існує зміна екструдера, встановлена на той самий екструдер.\n" +"Цей код не буде оброблятися під час створення G-коду." + +#: src/slic3r/GUI/DoubleSlider.cpp:1313 +msgid "" +"There is a color change for extruder that has not been used before.\n" +"Check your settings to avoid redundant color changes." +msgstr "" +"Змінюється колір екструдера, який раніше не застосовувався.\n" +"Перевірте свої налаштування, щоб уникнути зайвих змін кольору." + +#: src/slic3r/GUI/DoubleSlider.cpp:1318 +msgid "Delete tick mark - Left click or press \"-\" key" +msgstr "" +"Видалити маркер - клацніть лівою кнопкою миші або натисніть клавішу \"-\"" + +#: src/slic3r/GUI/DoubleSlider.cpp:1320 +msgid "Edit tick mark - Ctrl + Left click" +msgstr "Змінити маркер - Ctrl+Ліва кнопка миші" + +#: src/slic3r/GUI/DoubleSlider.cpp:1321 +msgid "Edit tick mark - Right click" +msgstr "Змінити маркер - Права кнопка миші" + +#: src/slic3r/GUI/DoubleSlider.cpp:1417 src/slic3r/GUI/DoubleSlider.cpp:1451 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1864 +#, c-format +msgid "Extruder %d" +msgstr "Екструдер %d" + +#: src/slic3r/GUI/DoubleSlider.cpp:1418 src/slic3r/GUI/GUI_ObjectList.cpp:1865 +msgid "active" +msgstr "активний" + +#: src/slic3r/GUI/DoubleSlider.cpp:1427 +msgid "Switch code to Change extruder" +msgstr "Переключити код на \"Змінити екструдер\"" + +#: src/slic3r/GUI/DoubleSlider.cpp:1427 src/slic3r/GUI/GUI_ObjectList.cpp:1832 +msgid "Change extruder" +msgstr "Змінити екструдер" + +#: src/slic3r/GUI/DoubleSlider.cpp:1428 +msgid "Change extruder (N/A)" +msgstr "Змінити екструдер (Недоступний)" + +#: src/slic3r/GUI/DoubleSlider.cpp:1430 +msgid "Use another extruder" +msgstr "Використати інший екструдер" + +#: src/slic3r/GUI/DoubleSlider.cpp:1452 +msgid "used" +msgstr "використовується" + +#: src/slic3r/GUI/DoubleSlider.cpp:1460 +msgid "Switch code to Color change (%1%) for:" +msgstr "Переключити код на \"Змінити колір\" (%1%) для:" + +#: src/slic3r/GUI/DoubleSlider.cpp:1461 +msgid "Add color change (%1%) for:" +msgstr "Додати зміну кольору (%1%) для:" + +#: src/slic3r/GUI/DoubleSlider.cpp:1797 +msgid "Add color change" +msgstr "Додати зміну кольору" + +#: src/slic3r/GUI/DoubleSlider.cpp:1808 +msgid "Add pause print" +msgstr "Додати паузу друку" + +#: src/slic3r/GUI/DoubleSlider.cpp:1812 +msgid "Add custom template" +msgstr "Додати власний шаблон" + +#: src/slic3r/GUI/DoubleSlider.cpp:1815 +msgid "Add custom G-code" +msgstr "Додати власний G-код" + +#: src/slic3r/GUI/DoubleSlider.cpp:1833 +msgid "Edit color" +msgstr "Редагувати колір" + +#: src/slic3r/GUI/DoubleSlider.cpp:1834 +msgid "Edit pause print message" +msgstr "Редагувати повідомлення під час паузи друку" + +#: src/slic3r/GUI/DoubleSlider.cpp:1835 +msgid "Edit custom G-code" +msgstr "Редагувати власний G-код" + +#: src/slic3r/GUI/DoubleSlider.cpp:1841 +msgid "Delete color change" +msgstr "Видалити зміну кольору" + +#: src/slic3r/GUI/DoubleSlider.cpp:1842 +msgid "Delete tool change" +msgstr "Видалити зміну інструменту" + +#: src/slic3r/GUI/DoubleSlider.cpp:1843 +msgid "Delete pause print" +msgstr "Видалити паузу друку" + +#: src/slic3r/GUI/DoubleSlider.cpp:1844 +msgid "Delete custom G-code" +msgstr "Видалити власний G-код" + +#: src/slic3r/GUI/DoubleSlider.cpp:1854 src/slic3r/GUI/DoubleSlider.cpp:1995 +msgid "Jump to height" +msgstr "Перейти на висоту" + +#: src/slic3r/GUI/DoubleSlider.cpp:1859 +msgid "Hide ruler" +msgstr "Сховати лінійку" + +#: src/slic3r/GUI/DoubleSlider.cpp:1863 +msgid "Show object height" +msgstr "Показувати висоту об’єкта" + +#: src/slic3r/GUI/DoubleSlider.cpp:1863 +msgid "Show object height on the ruler" +msgstr "Показувати висоту об’єкта на лінійці" + +#: src/slic3r/GUI/DoubleSlider.cpp:1867 +msgid "Show estimated print time" +msgstr "Показувати приблизний час друку" + +#: src/slic3r/GUI/DoubleSlider.cpp:1867 +msgid "Show estimated print time on the ruler" +msgstr "Показувати приблизний час друку на лінійці" + +#: src/slic3r/GUI/DoubleSlider.cpp:1871 +msgid "Ruler mode" +msgstr "Режим лінійки" + +#: src/slic3r/GUI/DoubleSlider.cpp:1871 +msgid "Set ruler mode" +msgstr "Встановити режим лінійки" + +#: src/slic3r/GUI/DoubleSlider.cpp:1876 +msgid "Set extruder sequence for the entire print" +msgstr "Встановити послідовність екструдерів для всього друку" + +#: src/slic3r/GUI/DoubleSlider.cpp:1962 +msgid "Enter custom G-code used on current layer" +msgstr "Введіть власний G-код, для використання на поточному шарі" + +#: src/slic3r/GUI/DoubleSlider.cpp:1963 +msgid "Custom G-code on current layer (%1% mm)." +msgstr "Користувацький G-код на поточному шарі (%1% мм)." + +#: src/slic3r/GUI/DoubleSlider.cpp:1978 +msgid "Enter short message shown on Printer display when a print is paused" +msgstr "" +"Введіть коротке повідомлення, що відображатиметься на дисплеї принтера піж " +"час паузи друку" + +#: src/slic3r/GUI/DoubleSlider.cpp:1979 +msgid "Message for pause print on current layer (%1% mm)." +msgstr "Повідомлення для паузи друку на поточному шарі (%1% мм)." + +#: src/slic3r/GUI/DoubleSlider.cpp:1994 +msgid "Enter the move you want to jump to" +msgstr "Введіть рух, до якого ви хочете перейти" + +#: src/slic3r/GUI/DoubleSlider.cpp:1994 +msgid "Enter the height you want to jump to" +msgstr "Введіть висоту, на яку ви хочете перейти" + +#: src/slic3r/GUI/DoubleSlider.cpp:2239 +msgid "The last color change data was saved for a single extruder printing." +msgstr "" +"Дані про останню зміну кольору були збережені для одно-екструдерного друку." + +#: src/slic3r/GUI/DoubleSlider.cpp:2240 src/slic3r/GUI/DoubleSlider.cpp:2255 +msgid "The last color change data was saved for a multi extruder printing." +msgstr "" +"Дані про останню зміну кольору були збережені для багато-екструдерного друку." + +#: src/slic3r/GUI/DoubleSlider.cpp:2242 +msgid "Your current changes will delete all saved color changes." +msgstr "Ваші поточні зміни видалять усі збережені зміни кольору." + +#: src/slic3r/GUI/DoubleSlider.cpp:2243 src/slic3r/GUI/DoubleSlider.cpp:2263 +msgid "Are you sure you want to continue?" +msgstr "Ви впевнені, що хочете продовжити?" + +#: src/slic3r/GUI/DoubleSlider.cpp:2256 +msgid "" +"Select YES if you want to delete all saved tool changes, \n" +"NO if you want all tool changes switch to color changes, \n" +"or CANCEL to leave it unchanged." +msgstr "" +"Виберіть ТАК, якщо ви хочете видалити всі збережені зміни інструменту,\n" +"НІ, якщо ви хочете, щоб усі зміни інструменту було змінено на зміну " +"кольору,\n" +"або СКАСУВАТИ, щоб залишити це без змін." + +#: src/slic3r/GUI/DoubleSlider.cpp:2259 +msgid "Do you want to delete all saved tool changes?" +msgstr "Ви хочете видалити всі збережені зміни інструменту?" + +#: src/slic3r/GUI/DoubleSlider.cpp:2261 +msgid "" +"The last color change data was saved for a multi extruder printing with tool " +"changes for whole print." +msgstr "" +"Дані про останню зміну кольору були збережені для багато-екструдерного друку " +"зі зміною інструменту для цілого друку." + +#: src/slic3r/GUI/DoubleSlider.cpp:2262 +msgid "Your current changes will delete all saved extruder (tool) changes." +msgstr "" +"Ваші поточні зміни видалять усі збережені зміни екструдера (інструменту)." + +#: src/slic3r/GUI/ExtraRenderers.cpp:297 src/slic3r/GUI/GUI_ObjectList.cpp:512 +#: src/slic3r/GUI/GUI_ObjectList.cpp:524 src/slic3r/GUI/GUI_ObjectList.cpp:1033 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4582 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4592 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4627 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:209 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:266 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:291 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:499 src/libslic3r/PrintConfig.cpp:552 +msgid "default" +msgstr "за замовчанням" + +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:24 +msgid "Set extruder sequence" +msgstr "Встановити послідовність екструдерів" + +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:40 +msgid "Set extruder change for every" +msgstr "Встановіть зміну екструдера для кожних" + +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:53 +#: src/libslic3r/PrintConfig.cpp:418 src/libslic3r/PrintConfig.cpp:1089 +#: src/libslic3r/PrintConfig.cpp:1718 src/libslic3r/PrintConfig.cpp:1883 +#: src/libslic3r/PrintConfig.cpp:1950 src/libslic3r/PrintConfig.cpp:2157 +#: src/libslic3r/PrintConfig.cpp:2203 +msgid "layers" +msgstr "шару(ів)" + +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:137 +msgid "Set extruder(tool) sequence" +msgstr "Встановити послідовність екструдерів (інструментів)" + +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:183 +msgid "Remove extruder from sequence" +msgstr "Видалити екструдер з послідовності" + +#: src/slic3r/GUI/ExtruderSequenceDialog.cpp:193 +msgid "Add extruder to sequence" +msgstr "Додати екструдер до послідовності" + +#: src/slic3r/GUI/Field.cpp:197 +msgid "default value" +msgstr "значення за замовчанням" + +#: src/slic3r/GUI/Field.cpp:200 +msgid "parameter name" +msgstr "назва параметра" + +#: src/slic3r/GUI/Field.cpp:211 src/slic3r/GUI/OptionsGroup.cpp:781 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:886 +msgid "N/A" +msgstr "Н/Д" + +#: src/slic3r/GUI/Field.cpp:233 +#, c-format +msgid "%s doesn't support percentage" +msgstr "%s не підтримує відсотки" + +#: src/slic3r/GUI/Field.cpp:253 src/slic3r/GUI/Field.cpp:307 +#: src/slic3r/GUI/Field.cpp:1520 src/slic3r/GUI/GUI_ObjectLayers.cpp:413 +msgid "Invalid numeric input." +msgstr "Недійсне числове значення." + +#: src/slic3r/GUI/Field.cpp:264 +#, c-format +msgid "" +"Input value is out of range\n" +"Are you sure that %s is a correct value and that you want to continue?" +msgstr "" +"Вхідне значення виходить за межі діапазону\n" +"Ви впевнені, що %s є правильним значенням і хочете продовжити?" + +#: src/slic3r/GUI/Field.cpp:266 src/slic3r/GUI/Field.cpp:326 msgid "Parameter validation" -msgstr "" +msgstr "Перевірка параметрів" -#: src/slic3r/GUI/FirmwareDialog.cpp:141 +#: src/slic3r/GUI/Field.cpp:279 src/slic3r/GUI/Field.cpp:373 +#: src/slic3r/GUI/Field.cpp:1532 +msgid "Input value is out of range" +msgstr "Вхідне значення виходить за межі діапазону" + +#: src/slic3r/GUI/Field.cpp:323 +#, c-format +msgid "" +"Do you mean %s%% instead of %s %s?\n" +"Select YES if you want to change this value to %s%%, \n" +"or NO if you are sure that %s %s is a correct value." +msgstr "" +"Ви маєте на увазі %s%% замість %s %s?\n" +"Виберіть ТАК, якщо ви хочете змінити це значення на %s%%,\n" +"або НІ, якщо ви впевнені, що %s %s є правильним значенням." + +#: src/slic3r/GUI/Field.cpp:381 +msgid "" +"Invalid input format. Expected vector of dimensions in the following format: " +"\"%1%\"" +msgstr "" +"Недійсний формат введення. Очікується вектор розмірів у наступному форматі: " +"\"%1%\"" + +#: src/slic3r/GUI/FirmwareDialog.cpp:150 msgid "Flash!" -msgstr "" +msgstr "Прошити!" -#: src/slic3r/GUI/FirmwareDialog.cpp:143 +#: src/slic3r/GUI/FirmwareDialog.cpp:152 msgid "Flashing in progress. Please do not disconnect the printer!" -msgstr "" +msgstr "Триває прошивка. Будь ласка, не від'єднуй принтер!" -#: src/slic3r/GUI/FirmwareDialog.cpp:187 -msgid "Flashing failed: " -msgstr "" +#: src/slic3r/GUI/FirmwareDialog.cpp:199 +msgid "Flashing failed" +msgstr "Помилка прошивки" -#: src/slic3r/GUI/FirmwareDialog.cpp:268 +#: src/slic3r/GUI/FirmwareDialog.cpp:282 msgid "Flashing succeeded!" -msgstr "" +msgstr "Прошивка вдалася!" -#: src/slic3r/GUI/FirmwareDialog.cpp:269 +#: src/slic3r/GUI/FirmwareDialog.cpp:283 msgid "Flashing failed. Please see the avrdude log below." -msgstr "" +msgstr "Помилка прошивки. Будь ласка, переглянте журнал avrdude нижче." -#: src/slic3r/GUI/FirmwareDialog.cpp:270 +#: src/slic3r/GUI/FirmwareDialog.cpp:284 msgid "Flashing cancelled." -msgstr "" +msgstr "Прошивку скасовано." -#: src/slic3r/GUI/FirmwareDialog.cpp:308 +#: src/slic3r/GUI/FirmwareDialog.cpp:332 #, c-format msgid "" "This firmware hex file does not match the printer model.\n" @@ -574,1779 +1531,4036 @@ msgid "" "Do you want to continue and flash this hex file anyway?\n" "Please only continue if you are sure this is the right thing to do." msgstr "" +"Цей hex-файл не відповідає моделі принтера.\n" +"Даний hex-файл призначений для: %s\n" +"Повідомлено для принтеру: %s\n" +"\n" +"Продовжити роботу та все одно прошити цей hex-файл?\n" +"Будь ласка, продовжуйте, тільки якщо ви впевнені, що це правильно робити." -#: src/slic3r/GUI/FirmwareDialog.cpp:395 src/slic3r/GUI/FirmwareDialog.cpp:431 +#: src/slic3r/GUI/FirmwareDialog.cpp:419 src/slic3r/GUI/FirmwareDialog.cpp:454 #, c-format msgid "" "Multiple %s devices found. Please only connect one at a time for flashing." msgstr "" +"Знайдено кілька пристроїв %s . Будь ласка, підключайте лише один пристрій " +"для прошивки." -#: src/slic3r/GUI/FirmwareDialog.cpp:412 +#: src/slic3r/GUI/FirmwareDialog.cpp:436 #, c-format msgid "" "The %s device was not found.\n" "If the device is connected, please press the Reset button next to the USB " "connector ..." msgstr "" +"Пристрій %s не знайдено.\n" +"Якщо пристрій підключений, натисніть кнопку Скинути поруч з USB-роз'ємом ..." -#: src/slic3r/GUI/FirmwareDialog.cpp:525 +#: src/slic3r/GUI/FirmwareDialog.cpp:548 #, c-format msgid "The %s device could not have been found" -msgstr "" +msgstr "Пристрою %s не знайдено" -#: src/slic3r/GUI/FirmwareDialog.cpp:603 +#: src/slic3r/GUI/FirmwareDialog.cpp:645 #, c-format msgid "Error accessing port at %s: %s" -msgstr "" +msgstr "Помилка доступу до порту на %s: %s" -#: src/slic3r/GUI/FirmwareDialog.cpp:605 +#: src/slic3r/GUI/FirmwareDialog.cpp:647 #, c-format msgid "Error: %s" -msgstr "" +msgstr "Помилка: %s" -#: src/slic3r/GUI/FirmwareDialog.cpp:735 +#: src/slic3r/GUI/FirmwareDialog.cpp:777 msgid "Firmware flasher" -msgstr "" +msgstr "Пепепрошивка" -#: src/slic3r/GUI/FirmwareDialog.cpp:762 +#: src/slic3r/GUI/FirmwareDialog.cpp:802 msgid "Firmware image:" -msgstr "" +msgstr "Імідж прошивки:" -#: src/slic3r/GUI/FirmwareDialog.cpp:766 +#: src/slic3r/GUI/FirmwareDialog.cpp:805 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:289 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:364 +msgid "Browse" +msgstr "Переглянути" + +#: src/slic3r/GUI/FirmwareDialog.cpp:807 msgid "Serial port:" -msgstr "" +msgstr "Послідовний порт:" -#: src/slic3r/GUI/FirmwareDialog.cpp:768 +#: src/slic3r/GUI/FirmwareDialog.cpp:809 msgid "Autodetected" -msgstr "" +msgstr "Автоматично виявлено" -#: src/slic3r/GUI/FirmwareDialog.cpp:769 +#: src/slic3r/GUI/FirmwareDialog.cpp:810 msgid "Rescan" -msgstr "" +msgstr "Пересканувати" -#: src/slic3r/GUI/FirmwareDialog.cpp:776 +#: src/slic3r/GUI/FirmwareDialog.cpp:817 msgid "Progress:" -msgstr "" +msgstr "Прогрес:" -#: src/slic3r/GUI/FirmwareDialog.cpp:779 +#: src/slic3r/GUI/FirmwareDialog.cpp:820 msgid "Status:" -msgstr "" +msgstr "Статус:" -#: src/slic3r/GUI/FirmwareDialog.cpp:780 +#: src/slic3r/GUI/FirmwareDialog.cpp:821 msgid "Ready" -msgstr "" +msgstr "Готово" -#: src/slic3r/GUI/FirmwareDialog.cpp:800 +#: src/slic3r/GUI/FirmwareDialog.cpp:841 msgid "Advanced: Output log" -msgstr "" +msgstr "Розширений: журнал виводу" -#: src/slic3r/GUI/FirmwareDialog.cpp:811 -#: src/slic3r/GUI/PrintHostDialogs.cpp:161 +#: src/slic3r/GUI/FirmwareDialog.cpp:852 +#: src/slic3r/GUI/Mouse3DController.cpp:551 +#: src/slic3r/GUI/PrintHostDialogs.cpp:189 msgid "Close" -msgstr "" +msgstr "Закрити" -#: src/slic3r/GUI/FirmwareDialog.cpp:859 +#: src/slic3r/GUI/FirmwareDialog.cpp:902 msgid "" "Are you sure you want to cancel firmware flashing?\n" "This could leave your printer in an unusable state!" msgstr "" +"Ви впевнені, що хочете скасувати перепрошивку?\n" +"Це може привести ваш принтер у непридатний стан!" -#: src/slic3r/GUI/FirmwareDialog.cpp:860 +#: src/slic3r/GUI/FirmwareDialog.cpp:903 msgid "Confirmation" -msgstr "" +msgstr "Підтвердження" -#: src/slic3r/GUI/FirmwareDialog.cpp:863 +#: src/slic3r/GUI/FirmwareDialog.cpp:906 msgid "Cancelling..." -msgstr "" - -#: src/slic3r/GUI/GLCanvas3D.cpp:709 -msgid "Detected object outside print volume" -msgstr "" - -#: src/slic3r/GUI/GLCanvas3D.cpp:710 -msgid "Detected toolpath outside print volume" -msgstr "" - -#: src/slic3r/GUI/GLCanvas3D.cpp:711 -msgid "Some objects are not visible when editing supports" -msgstr "" - -#: src/slic3r/GUI/GLCanvas3D.cpp:713 -msgid "" -"Detected object outside print volume\n" -"Resolve a clash to continue slicing/export process correctly" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:35 -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:195 -msgid "Rotate lower part upwards" -msgstr "Повернути нижню частину вгору" - -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:36 -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:198 -msgid "Perform cut" -msgstr "Виконати розріз" - -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:43 -msgid "Cut object:" -msgstr "Розрізати об'єкт:" - -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:88 -msgid "Cut [C]" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:188 src/libslic3r/PrintConfig.cpp:3006 -msgid "Cut" -msgstr "Розрізати" - -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:193 -msgid "Keep upper part" -msgstr "Залишити верхню частину" - -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:194 -msgid "Keep lower part" -msgstr "Залишити нижню частину" - -#: src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp:32 -msgid "Place on face [F]" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoMove.cpp:51 -msgid "Move [M]" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoMove.cpp:176 -msgid "Position (mm)" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoMove.cpp:176 -msgid "Displacement (mm)" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:458 -msgid "Rotate [R]" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:491 -msgid "Rotation (deg)" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoScale.cpp:51 -msgid "Scale [S]" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoScale.cpp:276 -msgid "Scale (%)" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:597 -msgid "Left mouse click - add point" -msgstr "Ліва кнопка миші - додати точку" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:598 -msgid "Right mouse click - remove point" -msgstr "Права кнопка миші - видалити точку" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:599 -msgid "Shift + Left (+ drag) - select point(s)" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:606 -msgid "Head diameter: " -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:618 -msgid "Lock supports under new islands" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:622 -msgid "Remove selected points" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:626 -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:679 -msgid "Remove all points" -msgstr "Видалити всі точки" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:631 -msgid "Apply changes" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:636 -msgid "Discard changes" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:644 -msgid "Minimal points distance: " -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:655 -msgid "Support points density: " -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:669 -msgid "Auto-generate points [A]" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:675 -msgid "Manual editing [M]" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:738 -msgid "SLA Support Points [L]" -msgstr "Точки SLA підтримки [L]" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:767 -msgid "Do you want to save your manually edited support points ?\n" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:768 -msgid "Save changes?" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:897 -msgid "" -"Autogeneration will erase all manually edited points.\n" -"\n" -"Are you sure you want to do it?\n" -msgstr "" - -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:899 src/slic3r/GUI/GUI.cpp:288 -#: src/slic3r/GUI/WipeTowerDialog.cpp:44 src/slic3r/GUI/WipeTowerDialog.cpp:328 -msgid "Warning" -msgstr "Застереження" - -#: src/slic3r/GUI/GUI.cpp:147 src/slic3r/GUI/Tab.cpp:2720 -msgid "It's impossible to print multi-part object(s) with SLA technology." -msgstr "" - -#: src/slic3r/GUI/GUI.cpp:148 -msgid "Please check and fix your object list." -msgstr "" - -#: src/slic3r/GUI/GUI.cpp:149 src/slic3r/GUI/GUI_App.cpp:679 -#: src/slic3r/GUI/Tab.cpp:2722 -msgid "Attention!" -msgstr "Увага!" - -#: src/slic3r/GUI/GUI.cpp:282 -msgid "Notice" -msgstr "Зауваження" - -#: src/slic3r/GUI/GUI_App.cpp:318 -msgid "Changing of an application language" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:326 src/slic3r/GUI/GUI_App.cpp:335 -msgid "Recreating" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:339 -msgid "Loading of a current presets" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:347 -msgid "Loading of a mode view" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:429 -msgid "Choose one file (3MF):" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:441 -msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Виберіть один чи кілька файлів (STL/OBJ/AMF/PRUSA):" - -#: src/slic3r/GUI/GUI_App.cpp:454 -msgid "Array of language names and identifiers should have the same size." -msgstr "Масив імен мов та їх ідентифікаторів має бути однакового розміру." - -#: src/slic3r/GUI/GUI_App.cpp:464 -msgid "Select the language" -msgstr "Оберіть мову" - -#: src/slic3r/GUI/GUI_App.cpp:464 -msgid "Language" -msgstr "Мова" - -#: src/slic3r/GUI/GUI_App.cpp:534 src/slic3r/GUI/GUI_ObjectList.cpp:1067 -#: src/libslic3r/PrintConfig.cpp:298 -msgid "Default" -msgstr "За замовчуванням" - -#: src/slic3r/GUI/GUI_App.cpp:603 -msgid "&Configuration Snapshots" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:603 -msgid "Inspect / activate configuration snapshots" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:604 -msgid "Take Configuration &Snapshot" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:604 -msgid "Capture a configuration snapshot" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:607 -msgid "&Preferences" -msgstr "&Преференції" - -#: src/slic3r/GUI/GUI_App.cpp:613 -msgid "Application preferences" -msgstr "Преференції застосування" - -#: src/slic3r/GUI/GUI_App.cpp:616 src/slic3r/GUI/wxExtensions.cpp:2446 -msgid "Simple" -msgstr "Простий" - -#: src/slic3r/GUI/GUI_App.cpp:616 -msgid "Simple View Mode" -msgstr "Простий режим перегляду" - -#: src/slic3r/GUI/GUI_App.cpp:617 src/slic3r/GUI/GUI_ObjectList.cpp:73 -#: src/slic3r/GUI/Tab.cpp:977 src/slic3r/GUI/Tab.cpp:992 -#: src/slic3r/GUI/Tab.cpp:1090 src/slic3r/GUI/Tab.cpp:1093 -#: src/slic3r/GUI/Tab.cpp:1466 src/slic3r/GUI/Tab.cpp:1890 -#: src/slic3r/GUI/Tab.cpp:3347 src/slic3r/GUI/wxExtensions.cpp:2447 -#: src/libslic3r/PrintConfig.cpp:72 src/libslic3r/PrintConfig.cpp:186 -#: src/libslic3r/PrintConfig.cpp:349 src/libslic3r/PrintConfig.cpp:987 -#: src/libslic3r/PrintConfig.cpp:2173 -msgid "Advanced" -msgstr "Розширений" - -#: src/slic3r/GUI/GUI_App.cpp:617 -msgid "Advanced View Mode" -msgstr "Розширений режим перегляду" - -#: src/slic3r/GUI/GUI_App.cpp:618 src/slic3r/GUI/wxExtensions.cpp:2448 -msgid "Expert" -msgstr "Експерт" - -#: src/slic3r/GUI/GUI_App.cpp:618 -msgid "Expert View Mode" -msgstr "Режим перегляду Експерт" - -#: src/slic3r/GUI/GUI_App.cpp:623 -msgid "Mode" -msgstr "Режим" - -#: src/slic3r/GUI/GUI_App.cpp:623 -msgid "Slic3r View Mode" -msgstr "Режим перегляду Slic3r'у" - -#: src/slic3r/GUI/GUI_App.cpp:625 -msgid "Change Application &Language" -msgstr "Змінити &мову застосування" - -#: src/slic3r/GUI/GUI_App.cpp:627 -msgid "Flash printer &firmware" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:627 -msgid "Upload a firmware image into an Arduino based printer" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:639 -msgid "Taking configuration snapshot" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:639 -msgid "Snapshot name" -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:676 -msgid "Application will be restarted after language change." -msgstr "Застосування буде перезапущене після зміни мови." - -#: src/slic3r/GUI/GUI_App.cpp:677 -msgid "3D-Scene will be cleaned." -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:678 -msgid "Please, check your changes before." -msgstr "" - -#: src/slic3r/GUI/GUI_App.cpp:706 -msgid "&Configuration" -msgstr "&Конфігурація" - -#: src/slic3r/GUI/GUI_App.cpp:726 -msgid "You have unsaved changes " -msgstr "У вас є незбережені зміни " - -#: src/slic3r/GUI/GUI_App.cpp:726 -msgid ". Discard changes and continue anyway?" -msgstr ". Відхилити зміни і продовжити в будь-якому випадку?" - -#: src/slic3r/GUI/GUI_App.cpp:727 -msgid "Unsaved Presets" -msgstr "Незбереженні налаштування" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:28 src/slic3r/GUI/GUI_ObjectList.cpp:65 -#: src/libslic3r/PrintConfig.cpp:56 src/libslic3r/PrintConfig.cpp:149 -#: src/libslic3r/PrintConfig.cpp:380 src/libslic3r/PrintConfig.cpp:437 -#: src/libslic3r/PrintConfig.cpp:445 src/libslic3r/PrintConfig.cpp:841 -#: src/libslic3r/PrintConfig.cpp:1025 src/libslic3r/PrintConfig.cpp:1304 -#: src/libslic3r/PrintConfig.cpp:1370 src/libslic3r/PrintConfig.cpp:1551 -#: src/libslic3r/PrintConfig.cpp:1986 src/libslic3r/PrintConfig.cpp:2042 -msgid "Layers and Perimeters" -msgstr "Шари та периметри" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:29 src/slic3r/GUI/GUI_ObjectList.cpp:66 -#: src/slic3r/GUI/Plater.cpp:431 src/slic3r/GUI/Tab.cpp:981 -#: src/slic3r/GUI/Tab.cpp:982 src/slic3r/GUI/Tab.cpp:1311 -#: src/libslic3r/PrintConfig.cpp:166 src/libslic3r/PrintConfig.cpp:388 -#: src/libslic3r/PrintConfig.cpp:728 src/libslic3r/PrintConfig.cpp:742 -#: src/libslic3r/PrintConfig.cpp:779 src/libslic3r/PrintConfig.cpp:932 -#: src/libslic3r/PrintConfig.cpp:942 src/libslic3r/PrintConfig.cpp:960 -#: src/libslic3r/PrintConfig.cpp:978 src/libslic3r/PrintConfig.cpp:997 -#: src/libslic3r/PrintConfig.cpp:1658 src/libslic3r/PrintConfig.cpp:1675 -msgid "Infill" -msgstr "Заповнення" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:30 src/slic3r/GUI/GUI_ObjectList.cpp:67 -#: src/slic3r/GUI/GUI_Preview.cpp:236 src/slic3r/GUI/Tab.cpp:1010 -#: src/slic3r/GUI/Tab.cpp:1011 src/libslic3r/PrintConfig.cpp:333 -#: src/libslic3r/PrintConfig.cpp:1431 src/libslic3r/PrintConfig.cpp:1779 -#: src/libslic3r/PrintConfig.cpp:1785 src/libslic3r/PrintConfig.cpp:1793 -#: src/libslic3r/PrintConfig.cpp:1805 src/libslic3r/PrintConfig.cpp:1815 -#: src/libslic3r/PrintConfig.cpp:1823 src/libslic3r/PrintConfig.cpp:1838 -#: src/libslic3r/PrintConfig.cpp:1859 src/libslic3r/PrintConfig.cpp:1870 -#: src/libslic3r/PrintConfig.cpp:1886 src/libslic3r/PrintConfig.cpp:1895 -#: src/libslic3r/PrintConfig.cpp:1904 src/libslic3r/PrintConfig.cpp:1915 -#: src/libslic3r/PrintConfig.cpp:1929 src/libslic3r/PrintConfig.cpp:1937 -#: src/libslic3r/PrintConfig.cpp:1938 src/libslic3r/PrintConfig.cpp:1947 -#: src/libslic3r/PrintConfig.cpp:1955 src/libslic3r/PrintConfig.cpp:1969 -#: src/libslic3r/GCode/PreviewData.cpp:172 -msgid "Support material" -msgstr "Підтримка" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:33 src/slic3r/GUI/GUI_ObjectList.cpp:69 -#: src/slic3r/GUI/Tab.cpp:1070 src/slic3r/GUI/Tab.cpp:1794 -#: src/libslic3r/PrintConfig.cpp:455 src/libslic3r/PrintConfig.cpp:953 -#: src/libslic3r/PrintConfig.cpp:1339 src/libslic3r/PrintConfig.cpp:1667 -#: src/libslic3r/PrintConfig.cpp:1851 src/libslic3r/PrintConfig.cpp:1877 -#: src/libslic3r/PrintConfig.cpp:2149 src/libslic3r/PrintConfig.cpp:2157 -msgid "Extruders" -msgstr "Екструдери" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:39 -msgid "Pad and Support" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:68 src/slic3r/GUI/GUI_Preview.cpp:215 -#: src/slic3r/GUI/Tab.cpp:1035 src/libslic3r/PrintConfig.cpp:198 -#: src/libslic3r/PrintConfig.cpp:425 src/libslic3r/PrintConfig.cpp:870 -#: src/libslic3r/PrintConfig.cpp:998 src/libslic3r/PrintConfig.cpp:1360 -#: src/libslic3r/PrintConfig.cpp:1597 src/libslic3r/PrintConfig.cpp:1646 -#: src/libslic3r/PrintConfig.cpp:1697 src/libslic3r/PrintConfig.cpp:2028 -msgid "Speed" -msgstr "Швидкість" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:70 src/libslic3r/PrintConfig.cpp:415 -#: src/libslic3r/PrintConfig.cpp:522 src/libslic3r/PrintConfig.cpp:829 -#: src/libslic3r/PrintConfig.cpp:961 src/libslic3r/PrintConfig.cpp:1348 -#: src/libslic3r/PrintConfig.cpp:1687 src/libslic3r/PrintConfig.cpp:1860 -#: src/libslic3r/PrintConfig.cpp:2017 -msgid "Extrusion Width" -msgstr "Ширина екструзії" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:75 src/slic3r/GUI/Plater.cpp:410 -#: src/slic3r/GUI/Tab.cpp:3309 src/slic3r/GUI/Tab.cpp:3310 -#: src/libslic3r/PrintConfig.cpp:2359 src/libslic3r/PrintConfig.cpp:2366 -#: src/libslic3r/PrintConfig.cpp:2375 src/libslic3r/PrintConfig.cpp:2384 -#: src/libslic3r/PrintConfig.cpp:2394 src/libslic3r/PrintConfig.cpp:2420 -#: src/libslic3r/PrintConfig.cpp:2427 src/libslic3r/PrintConfig.cpp:2438 -#: src/libslic3r/PrintConfig.cpp:2448 src/libslic3r/PrintConfig.cpp:2457 -#: src/libslic3r/PrintConfig.cpp:2467 src/libslic3r/PrintConfig.cpp:2476 -#: src/libslic3r/PrintConfig.cpp:2486 src/libslic3r/PrintConfig.cpp:2496 -#: src/libslic3r/PrintConfig.cpp:2504 -msgid "Supports" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:76 src/slic3r/GUI/Tab.cpp:3337 -#: src/slic3r/GUI/Tab.cpp:3338 src/libslic3r/PrintConfig.cpp:2512 -#: src/libslic3r/PrintConfig.cpp:2519 src/libslic3r/PrintConfig.cpp:2530 -#: src/libslic3r/PrintConfig.cpp:2540 src/libslic3r/PrintConfig.cpp:2553 -#: src/libslic3r/PrintConfig.cpp:2562 -msgid "Pad" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:173 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:45 -msgid "Name" -msgstr "Ім'я" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:201 -msgid "Right button click the icon to change the object settings" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:209 -#, c-format -msgid "Auto-repaired (%d errors):\n" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:212 -msgid "degenerate facets" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:213 -msgid "edges fixed" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:214 -msgid "facets removed" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:215 -msgid "facets added" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:216 -msgid "facets reversed" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:217 -msgid "backwards edges" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:231 -msgid "Right button click the icon to fix STL through Netfabb" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:278 src/slic3r/GUI/Tab.cpp:1430 -#: src/libslic3r/PrintConfig.cpp:454 +msgstr "Скасування..." + +#: src/slic3r/GUI/GCodeViewer.cpp:239 +msgid "Tool position" +msgstr "Позиція інструменту" + +#: src/slic3r/GUI/GCodeViewer.cpp:1016 +msgid "Generating toolpaths" +msgstr "Створення траєкторій" + +#: src/slic3r/GUI/GCodeViewer.cpp:1405 +msgid "Generating vertex buffer" +msgstr "Створення буфера вершин" + +#: src/slic3r/GUI/GCodeViewer.cpp:1496 +msgid "Generating index buffers" +msgstr "Формування буферів індексів" + +#: src/slic3r/GUI/GCodeViewer.cpp:2225 +msgid "Click to hide" +msgstr "Клацніть, щоб сховати" + +#: src/slic3r/GUI/GCodeViewer.cpp:2225 +msgid "Click to show" +msgstr "Клацніть, щоб показати" + +#: src/slic3r/GUI/GCodeViewer.cpp:2337 +msgid "up to" +msgstr "аж до" + +#: src/slic3r/GUI/GCodeViewer.cpp:2343 +msgid "above" +msgstr "вище" + +#: src/slic3r/GUI/GCodeViewer.cpp:2351 +msgid "from" +msgstr "від" + +#: src/slic3r/GUI/GCodeViewer.cpp:2351 +msgid "to" +msgstr "до" + +#: src/slic3r/GUI/GCodeViewer.cpp:2379 src/slic3r/GUI/GCodeViewer.cpp:2387 +#: src/slic3r/GUI/GUI_Preview.cpp:214 src/slic3r/GUI/GUI_Preview.cpp:533 +#: src/slic3r/GUI/GUI_Preview.cpp:942 +msgid "Feature type" +msgstr "Тип ознаки" + +#: src/slic3r/GUI/GCodeViewer.cpp:2379 src/slic3r/GUI/GCodeViewer.cpp:2387 +#: src/slic3r/GUI/RammingChart.cpp:76 +msgid "Time" +msgstr "Час" + +#: src/slic3r/GUI/GCodeViewer.cpp:2387 +msgid "Percentage" +msgstr "Процент" + +#: src/slic3r/GUI/GCodeViewer.cpp:2390 +msgid "Height (mm)" +msgstr "Висота (мм)" + +#: src/slic3r/GUI/GCodeViewer.cpp:2391 +msgid "Width (mm)" +msgstr "Ширина (мм)" + +#: src/slic3r/GUI/GCodeViewer.cpp:2392 +msgid "Speed (mm/s)" +msgstr "Швидкість (мм/с)" + +#: src/slic3r/GUI/GCodeViewer.cpp:2393 +msgid "Fan Speed (%)" +msgstr "Швидкість вентилятора (%)" + +#: src/slic3r/GUI/GCodeViewer.cpp:2394 +msgid "Volumetric flow rate (mm³/s)" +msgstr "Об'ємна швидкість потоку (мм³/с)" + +#: src/slic3r/GUI/GCodeViewer.cpp:2395 src/slic3r/GUI/GUI_Preview.cpp:220 +#: src/slic3r/GUI/GUI_Preview.cpp:326 src/slic3r/GUI/GUI_Preview.cpp:471 +#: src/slic3r/GUI/GUI_Preview.cpp:532 src/slic3r/GUI/GUI_Preview.cpp:878 +#: src/slic3r/GUI/GUI_Preview.cpp:942 +msgid "Tool" +msgstr "Інструмент" + +#: src/slic3r/GUI/GCodeViewer.cpp:2396 src/slic3r/GUI/GUI_Preview.cpp:221 +#: src/slic3r/GUI/GUI_Preview.cpp:530 src/slic3r/GUI/GUI_Preview.cpp:941 +msgid "Color Print" +msgstr "Кольоровий друк" + +#: src/slic3r/GUI/GCodeViewer.cpp:2432 src/slic3r/GUI/GCodeViewer.cpp:2467 +#: src/slic3r/GUI/GCodeViewer.cpp:2472 src/slic3r/GUI/GUI_ObjectList.cpp:312 +#: src/slic3r/GUI/wxExtensions.cpp:519 src/libslic3r/PrintConfig.cpp:547 msgid "Extruder" msgstr "Екструдер" -#: src/slic3r/GUI/GUI_ObjectList.cpp:683 src/slic3r/GUI/GUI_ObjectList.cpp:963 -#: src/slic3r/GUI/GUI_ObjectList.cpp:969 src/slic3r/GUI/GUI_ObjectList.cpp:1199 +#: src/slic3r/GUI/GCodeViewer.cpp:2443 +msgid "Default color" +msgstr "Колір за замовчуванням" + +#: src/slic3r/GUI/GCodeViewer.cpp:2467 +msgid "default color" +msgstr "колір за замовчуванням" + +#: src/slic3r/GUI/GCodeViewer.cpp:2562 src/slic3r/GUI/GCodeViewer.cpp:2608 +msgid "Color change" +msgstr "Зміна кольору" + +#: src/slic3r/GUI/GCodeViewer.cpp:2581 src/slic3r/GUI/GCodeViewer.cpp:2606 +msgid "Print" +msgstr "Друк" + +#: src/slic3r/GUI/GCodeViewer.cpp:2607 src/slic3r/GUI/GCodeViewer.cpp:2624 +msgid "Pause" +msgstr "Пауза" + +#: src/slic3r/GUI/GCodeViewer.cpp:2612 src/slic3r/GUI/GCodeViewer.cpp:2615 +msgid "Event" +msgstr "Подія" + +#: src/slic3r/GUI/GCodeViewer.cpp:2612 src/slic3r/GUI/GCodeViewer.cpp:2615 +msgid "Remaining time" +msgstr "Час, що залишився" + +#: src/slic3r/GUI/GCodeViewer.cpp:2615 +msgid "Duration" +msgstr "Тривалість" + +#: src/slic3r/GUI/GCodeViewer.cpp:2650 src/slic3r/GUI/GUI_Preview.cpp:1023 +#: src/libslic3r/PrintConfig.cpp:2380 +msgid "Travel" +msgstr "Пересування" + +#: src/slic3r/GUI/GCodeViewer.cpp:2653 +msgid "Movement" +msgstr "Переміщення" + +#: src/slic3r/GUI/GCodeViewer.cpp:2654 +msgid "Extrusion" +msgstr "Екструзія" + +#: src/slic3r/GUI/GCodeViewer.cpp:2655 src/slic3r/GUI/Tab.cpp:1694 +#: src/slic3r/GUI/Tab.cpp:2582 +msgid "Retraction" +msgstr "Переривання" + +#: src/slic3r/GUI/GCodeViewer.cpp:2672 src/slic3r/GUI/GCodeViewer.cpp:2675 +#: src/slic3r/GUI/GUI_Preview.cpp:1024 +msgid "Wipe" +msgstr "Витирання" + +#: src/slic3r/GUI/GCodeViewer.cpp:2706 src/slic3r/GUI/GUI_Preview.cpp:248 +#: src/slic3r/GUI/GUI_Preview.cpp:262 +msgid "Options" +msgstr "Параметри" + +#: src/slic3r/GUI/GCodeViewer.cpp:2709 src/slic3r/GUI/GUI_Preview.cpp:1025 +msgid "Retractions" +msgstr "Переривання" + +#: src/slic3r/GUI/GCodeViewer.cpp:2710 src/slic3r/GUI/GUI_Preview.cpp:1026 +msgid "Deretractions" +msgstr "Зниження" + +#: src/slic3r/GUI/GCodeViewer.cpp:2711 src/slic3r/GUI/GUI_Preview.cpp:1027 +msgid "Tool changes" +msgstr "Зміна інструменту" + +#: src/slic3r/GUI/GCodeViewer.cpp:2712 src/slic3r/GUI/GUI_Preview.cpp:1028 +msgid "Color changes" +msgstr "Зміни кольору" + +#: src/slic3r/GUI/GCodeViewer.cpp:2713 src/slic3r/GUI/GUI_Preview.cpp:1029 +msgid "Print pauses" +msgstr "Паузи друку" + +#: src/slic3r/GUI/GCodeViewer.cpp:2714 src/slic3r/GUI/GUI_Preview.cpp:1030 +msgid "Custom G-codes" +msgstr "Користувацькі G-коди" + +#: src/slic3r/GUI/GCodeViewer.cpp:2725 src/slic3r/GUI/GCodeViewer.cpp:2749 +#: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/PrintConfig.cpp:117 +msgid "Printer" +msgstr "Принтер" + +#: src/slic3r/GUI/GCodeViewer.cpp:2727 src/slic3r/GUI/GCodeViewer.cpp:2754 +#: src/slic3r/GUI/Plater.cpp:693 +msgid "Print settings" +msgstr "Параметри друку" + +#: src/slic3r/GUI/GCodeViewer.cpp:2730 src/slic3r/GUI/GCodeViewer.cpp:2760 +#: src/slic3r/GUI/Plater.cpp:694 src/slic3r/GUI/Tab.cpp:1794 +#: src/slic3r/GUI/Tab.cpp:1795 +msgid "Filament" +msgstr "Філамент" + +#: src/slic3r/GUI/GCodeViewer.cpp:2785 src/slic3r/GUI/GCodeViewer.cpp:2790 +#: src/slic3r/GUI/Plater.cpp:242 src/slic3r/GUI/Plater.cpp:1135 +#: src/slic3r/GUI/Plater.cpp:1220 +msgid "Estimated printing time" +msgstr "Приблизний час друку" + +#: src/slic3r/GUI/GCodeViewer.cpp:2785 +msgid "Normal mode" +msgstr "Нормальний режим" + +#: src/slic3r/GUI/GCodeViewer.cpp:2790 +msgid "Stealth mode" +msgstr "Тихий режим" + +#: src/slic3r/GUI/GCodeViewer.cpp:2817 +msgid "Show stealth mode" +msgstr "Показати тихий режим" + +#: src/slic3r/GUI/GCodeViewer.cpp:2821 +msgid "Show normal mode" +msgstr "Показати нормальний режим" + +#: src/slic3r/GUI/GLCanvas3D.cpp:236 src/slic3r/GUI/GLCanvas3D.cpp:4610 +msgid "Variable layer height" +msgstr "Змінна висота шарів" + +#: src/slic3r/GUI/GLCanvas3D.cpp:238 +msgid "Left mouse button:" +msgstr "Ліва кнопка миші:" + +#: src/slic3r/GUI/GLCanvas3D.cpp:240 +msgid "Add detail" +msgstr "Додати деталь" + +#: src/slic3r/GUI/GLCanvas3D.cpp:242 +msgid "Right mouse button:" +msgstr "Права кнопка миші:" + +#: src/slic3r/GUI/GLCanvas3D.cpp:244 +msgid "Remove detail" +msgstr "Видалити деталь" + +#: src/slic3r/GUI/GLCanvas3D.cpp:246 +msgid "Shift + Left mouse button:" +msgstr "Shift + Ліва кнопка миші:" + +#: src/slic3r/GUI/GLCanvas3D.cpp:248 +msgid "Reset to base" +msgstr "Скинути до базової висоти шару" + +#: src/slic3r/GUI/GLCanvas3D.cpp:250 +msgid "Shift + Right mouse button:" +msgstr "Shift + Права кнопка миші:" + +#: src/slic3r/GUI/GLCanvas3D.cpp:252 +msgid "Smoothing" +msgstr "Згладжування" + +#: src/slic3r/GUI/GLCanvas3D.cpp:254 +msgid "Mouse wheel:" +msgstr "Колесо миші:" + +#: src/slic3r/GUI/GLCanvas3D.cpp:256 +msgid "Increase/decrease edit area" +msgstr "Збільшити/зменшити області редагування" + +#: src/slic3r/GUI/GLCanvas3D.cpp:259 +msgid "Adaptive" +msgstr "Адаптивний" + +#: src/slic3r/GUI/GLCanvas3D.cpp:265 +msgid "Quality / Speed" +msgstr "Якість / Швидкість" + +#: src/slic3r/GUI/GLCanvas3D.cpp:268 +msgid "Higher print quality versus higher print speed." +msgstr "Вища якість друку порівняно з вищою швидкістю друку." + +#: src/slic3r/GUI/GLCanvas3D.cpp:279 +msgid "Smooth" +msgstr "Згладити" + +#: src/slic3r/GUI/GLCanvas3D.cpp:285 src/libslic3r/PrintConfig.cpp:571 +msgid "Radius" +msgstr "Радіус" + +#: src/slic3r/GUI/GLCanvas3D.cpp:295 +msgid "Keep min" +msgstr "Залишити мін" + +#: src/slic3r/GUI/GLCanvas3D.cpp:304 src/slic3r/GUI/GLCanvas3D.cpp:4050 +msgid "Reset" +msgstr "Скинути" + +#: src/slic3r/GUI/GLCanvas3D.cpp:566 +msgid "Variable layer height - Manual edit" +msgstr "Змінна висота шарів - Ручне редагування" + +#: src/slic3r/GUI/GLCanvas3D.cpp:634 +msgid "An object outside the print area was detected." +msgstr "Виявлено об'єкт за межами області друку." + +#: src/slic3r/GUI/GLCanvas3D.cpp:635 +msgid "A toolpath outside the print area was detected." +msgstr "Виявлено траєкторію за межами області друку." + +#: src/slic3r/GUI/GLCanvas3D.cpp:636 +msgid "SLA supports outside the print area were detected." +msgstr "Виявлено SLA-підтримки за межами області друку." + +#: src/slic3r/GUI/GLCanvas3D.cpp:637 +msgid "Some objects are not visible." +msgstr "Деякі об'єкти не видно." + +#: src/slic3r/GUI/GLCanvas3D.cpp:639 +msgid "" +"An object outside the print area was detected.\n" +"Resolve the current problem to continue slicing." +msgstr "" +"Виявлено об’єкт за межами області друку.\n" +"Вирішіть поточну проблему, щоб продовжувати нарізання." + +#: src/slic3r/GUI/GLCanvas3D.cpp:949 +msgid "Seq." +msgstr "Послід." + +#: src/slic3r/GUI/GLCanvas3D.cpp:1455 +msgid "Variable layer height - Reset" +msgstr "Змінна висота шарів - Скасувати" + +#: src/slic3r/GUI/GLCanvas3D.cpp:1463 +msgid "Variable layer height - Adaptive" +msgstr "Змінна висота шарів - Адаптивний" + +#: src/slic3r/GUI/GLCanvas3D.cpp:1471 +msgid "Variable layer height - Smooth all" +msgstr "Змінна висота шарів - Згладити все" + +#: src/slic3r/GUI/GLCanvas3D.cpp:1876 +msgid "Mirror Object" +msgstr "Віддзеркалити об'єкт" + +#: src/slic3r/GUI/GLCanvas3D.cpp:2746 +#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:520 +msgid "Gizmo-Move" +msgstr "Gizmo переміщення" + +#: src/slic3r/GUI/GLCanvas3D.cpp:2832 +#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:522 +msgid "Gizmo-Rotate" +msgstr "Gizmo обертання" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3388 +msgid "Move Object" +msgstr "Перемістити об'єкт" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3858 src/slic3r/GUI/GLCanvas3D.cpp:4571 +msgid "Switch to Settings" +msgstr "Перейдіть до налаштувань" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3859 src/slic3r/GUI/GLCanvas3D.cpp:4571 +msgid "Print Settings Tab" +msgstr "Вкладка параметрів друку" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4572 +msgid "Filament Settings Tab" +msgstr "Вкладка параметрів філаменту" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4572 +msgid "Material Settings Tab" +msgstr "Вкладка параметрів матеріалу" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3861 src/slic3r/GUI/GLCanvas3D.cpp:4573 +msgid "Printer Settings Tab" +msgstr "Вкладка параметрів принтеру" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3909 +msgid "Undo History" +msgstr "Скасувати історію" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3909 +msgid "Redo History" +msgstr "Повторити історію" + +#: src/slic3r/GUI/GLCanvas3D.cpp:3930 #, c-format -msgid "Quick Add Settings (%s)" -msgstr "" +msgid "Undo %1$d Action" +msgid_plural "Undo %1$d Actions" +msgstr[0] "Скасувати %1$d дію" +msgstr[1] "Скасувати %1$d дії" +msgstr[2] "Скасувати %1$d дій" -#: src/slic3r/GUI/GUI_ObjectList.cpp:746 -msgid "Select showing settings" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:3930 +#, c-format +msgid "Redo %1$d Action" +msgid_plural "Redo %1$d Actions" +msgstr[0] "Повторити %1$d дію" +msgstr[1] "Повторити %1$d дії" +msgstr[2] "Повторити %1$d дій" -#: src/slic3r/GUI/GUI_ObjectList.cpp:874 -msgid "Load" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:3950 src/slic3r/GUI/GLCanvas3D.cpp:4589 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:98 src/slic3r/GUI/Search.cpp:351 +msgid "Search" +msgstr "Пошук" -#: src/slic3r/GUI/GUI_ObjectList.cpp:879 src/slic3r/GUI/GUI_ObjectList.cpp:911 -#: src/slic3r/GUI/GUI_ObjectList.cpp:914 -msgid "Box" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:3964 src/slic3r/GUI/GLCanvas3D.cpp:3972 +#: src/slic3r/GUI/Search.cpp:358 +msgid "Enter a search term" +msgstr "Введіть пошуковий термін" -#: src/slic3r/GUI/GUI_ObjectList.cpp:879 -msgid "Cylinder" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:4003 +msgid "Arrange options" +msgstr "Параметри розташування" -#: src/slic3r/GUI/GUI_ObjectList.cpp:879 -msgid "Sphere" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:4033 +msgid "Press %1%left mouse button to enter the exact value" +msgstr "Натисніть %1%ліву кнопку миші, щоб ввести точне значення" -#: src/slic3r/GUI/GUI_ObjectList.cpp:879 -msgid "Slab" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:4035 +msgid "Spacing" +msgstr "Відстань" -#: src/slic3r/GUI/GUI_ObjectList.cpp:890 src/slic3r/GUI/GUI_ObjectList.cpp:906 -msgid "Add part" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:4042 +msgid "Enable rotations (slow)" +msgstr "Увімкнути обертання (повільно)" -#: src/slic3r/GUI/GUI_ObjectList.cpp:891 -msgid "Add modifier" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:4060 src/slic3r/GUI/GLCanvas3D.cpp:4481 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 src/slic3r/GUI/Plater.cpp:1648 +msgid "Arrange" +msgstr "Розташувати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:892 src/slic3r/GUI/GUI_ObjectList.cpp:910 -msgid "Add support enforcer" -msgstr "" +#: src/slic3r/GUI/GLCanvas3D.cpp:4455 +msgid "Add..." +msgstr "Додати..." -#: src/slic3r/GUI/GUI_ObjectList.cpp:893 src/slic3r/GUI/GUI_ObjectList.cpp:913 -msgid "Add support blocker" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:934 -msgid "Split to parts" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:942 -msgid "Add settings" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:1009 -msgid "Change type" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:1016 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1153 -msgid "Set as a Separated Object" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:1024 -msgid "Rename" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:1034 -msgid "Fix through the Netfabb" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:1041 src/slic3r/GUI/Plater.cpp:2861 -msgid "Export as STL" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:1048 -msgid "Change extruder" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:1073 -msgid "Select new extruder for the object/part" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:1079 src/slic3r/GUI/Plater.cpp:2825 -#: src/slic3r/GUI/Plater.cpp:2843 src/slic3r/GUI/Tab.cpp:2860 +#: src/slic3r/GUI/GLCanvas3D.cpp:4463 src/slic3r/GUI/GUI_ObjectList.cpp:1878 +#: src/slic3r/GUI/Plater.cpp:3998 src/slic3r/GUI/Plater.cpp:4022 +#: src/slic3r/GUI/Tab.cpp:3484 msgid "Delete" msgstr "Видалити" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1153 +#: src/slic3r/GUI/GLCanvas3D.cpp:4472 src/slic3r/GUI/KBShortcutsDialog.cpp:88 +#: src/slic3r/GUI/Plater.cpp:5107 +msgid "Delete all" +msgstr "Видалити все" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4481 src/slic3r/GUI/KBShortcutsDialog.cpp:121 +msgid "Arrange selection" +msgstr "Розташувати вибране" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4481 +msgid "Click right mouse button to show arrangement options" +msgstr "Клацніть правою кнопкою миші, щоб показати параметри розташування" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4503 +msgid "Copy" +msgstr "Копіювати" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4512 +msgid "Paste" +msgstr "Вставити" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4524 src/slic3r/GUI/Plater.cpp:3857 +#: src/slic3r/GUI/Plater.cpp:3869 src/slic3r/GUI/Plater.cpp:4007 +msgid "Add instance" +msgstr "Додати екземпляр" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4535 src/slic3r/GUI/Plater.cpp:4009 +msgid "Remove instance" +msgstr "Видалити екземпляр" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4548 +msgid "Split to objects" +msgstr "Розділити на об'єкти" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4558 src/slic3r/GUI/GUI_ObjectList.cpp:1650 +msgid "Split to parts" +msgstr "Розділити на частини" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4660 src/slic3r/GUI/KBShortcutsDialog.cpp:89 +#: src/slic3r/GUI/MainFrame.cpp:1125 +msgid "Undo" +msgstr "Скасувати" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4660 src/slic3r/GUI/GLCanvas3D.cpp:4699 +msgid "Click right mouse button to open/close History" +msgstr "Клацніть правою кнопкою миші, щоб відкрити/закрити історію" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4683 +msgid "Next Undo action: %1%" +msgstr "Скасувати дію: %1%" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4699 src/slic3r/GUI/KBShortcutsDialog.cpp:90 +#: src/slic3r/GUI/MainFrame.cpp:1128 +msgid "Redo" +msgstr "Повторити" + +#: src/slic3r/GUI/GLCanvas3D.cpp:4721 +msgid "Next Redo action: %1%" +msgstr "Повторити дію: %1%" + +#: src/slic3r/GUI/GLCanvas3D.cpp:6345 +msgid "Selection-Add from rectangle" +msgstr "Виділення - Додано прямокутником" + +#: src/slic3r/GUI/GLCanvas3D.cpp:6364 +msgid "Selection-Remove from rectangle" +msgstr "Виділення - Видалено прямокутником" + +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:54 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:151 src/libslic3r/PrintConfig.cpp:3690 +msgid "Cut" +msgstr "Розрізати" + +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:179 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:341 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:418 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:486 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:487 +msgid "in" +msgstr "дюйм" + +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:185 +msgid "Keep upper part" +msgstr "Залишити верхню частину" + +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:186 +msgid "Keep lower part" +msgstr "Залишити нижню частину" + +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:187 +msgid "Rotate lower part upwards" +msgstr "Повернути нижню частину вгору" + +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:192 +msgid "Perform cut" +msgstr "Виконати розріз" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:33 +msgid "Paint-on supports" +msgstr "Малювання підтримок" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:42 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:49 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:25 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:57 +msgid "Clipping of view" +msgstr "Відсікання площиною" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:43 +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:50 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:26 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:58 +msgid "Reset direction" +msgstr "Скинути напрямок" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:44 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:27 +msgid "Brush size" +msgstr "Розмір пензля" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:45 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:28 +msgid "Brush shape" +msgstr "Форма пензля" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:46 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:29 +msgid "Left mouse button" +msgstr "Ліва кнопка миші" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:47 +msgid "Enforce supports" +msgstr "Забезпечити підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:48 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:31 +msgid "Right mouse button" +msgstr "Права кнопка миші" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:49 +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:373 +msgid "Block supports" +msgstr "Блокувати підтрики" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:50 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:33 +msgid "Shift + Left mouse button" +msgstr "Shift + Ліва кнопка миші" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:51 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:34 +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:368 +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:378 +msgid "Remove selection" +msgstr "Видалити виділене" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:52 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:35 +msgid "Remove all selection" +msgstr "Видалити все, що виділено" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:53 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:36 +msgid "Circle" +msgstr "Коло" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:54 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:37 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +msgid "Sphere" +msgstr "Сфера" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:129 +msgid "Autoset by angle" +msgstr "Автоматичне встановлення під кутом" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:136 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:118 +msgid "Reset selection" +msgstr "Скинути вибір" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:160 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:141 +msgid "Alt + Mouse wheel" +msgstr "Alt + Колесо миші" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:178 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:159 +msgid "Paints all facets inside, regardless of their orientation." +msgstr "Малює всі грані всередині, незалежно від їх орієнтації." + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:192 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:173 +msgid "Ignores facets facing away from the camera." +msgstr "Ігнорує грані, відвернуті від камери." + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:225 +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:203 +msgid "Ctrl + Mouse wheel" +msgstr "Ctrl + Колесо миші" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:233 +msgid "Autoset custom supports" +msgstr "Автоматичне встановлення власних підтримок" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:235 +msgid "Threshold:" +msgstr "Порог нависання:" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:242 +msgid "Enforce" +msgstr "Забезпечити" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:245 +msgid "Block" +msgstr "Блокувати" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:295 +msgid "Block supports by angle" +msgstr "Блокувати підтрики під кутом" + +#: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:296 +msgid "Add supports by angle" +msgstr "Додати підтримки під кутом" + +#: src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp:40 +msgid "Place on face" +msgstr "Поверхнею на стіл" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:40 +msgid "Hollow this object" +msgstr "Випорожнити цей об'єкт" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:41 +msgid "Preview hollowed and drilled model" +msgstr "Попередній перегляд порожнистої та просвердленої моделі" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:42 +msgid "Offset" +msgstr "Зміщення" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:43 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:56 +msgid "Quality" +msgstr "Якість" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:44 +#: src/libslic3r/PrintConfig.cpp:3183 +msgid "Closing distance" +msgstr "Відстань закриття" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:45 +msgid "Hole diameter" +msgstr "Діаметр отвору" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:46 +msgid "Hole depth" +msgstr "Глибина отвору" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:47 +msgid "Remove selected holes" +msgstr "Видалити вибрані отвори" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:48 +msgid "Remove all holes" +msgstr "Видалити всі отвори" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:51 +msgid "Show supports" +msgstr "Показувати підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:308 +msgid "Add drainage hole" +msgstr "Додати дренажний отвір" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:424 +msgid "Delete drainage hole" +msgstr "Видалити дренажний отвір" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:624 +msgid "Hollowing parameter change" +msgstr "Зміна параметру порожнистості" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:693 +msgid "Change drainage hole diameter" +msgstr "Змініть діаметр дренажного отвору" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:785 +msgid "Hollow and drill" +msgstr "Порожнистість та свердління" + +#: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:835 +msgid "Move drainage hole" +msgstr "Перемістити дренажний отвір" + +#: src/slic3r/GUI/Gizmos/GLGizmoMove.cpp:64 +msgid "Move" +msgstr "Пересунути" + +#: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:461 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:527 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:546 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:562 +#: src/libslic3r/PrintConfig.cpp:3739 +msgid "Rotate" +msgstr "Обертати" + +#: src/slic3r/GUI/Gizmos/GLGizmoScale.cpp:78 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:238 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:547 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:563 +#: src/libslic3r/PrintConfig.cpp:3754 +msgid "Scale" +msgstr "Масштаб" + +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:30 +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:381 +msgid "Enforce seam" +msgstr "Забезпечити шов" + +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:32 +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:383 +msgid "Block seam" +msgstr "Блокувати шов" + +#: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:46 +msgid "Seam painting" +msgstr "Малювання шва" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:47 +msgid "Head diameter" +msgstr "Діаметр головки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:48 +msgid "Lock supports under new islands" +msgstr "Зафіксувати підтримки під новими островами" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:49 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1218 +msgid "Remove selected points" +msgstr "Видалити вибрані точки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:50 +msgid "Remove all points" +msgstr "Видалити всі точки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:51 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1221 +msgid "Apply changes" +msgstr "Застосувати зміни" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:52 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1222 +msgid "Discard changes" +msgstr "Відхилити зміни" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:53 +msgid "Minimal points distance" +msgstr "Мінімальна відстань точок" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:54 +#: src/libslic3r/PrintConfig.cpp:3013 +msgid "Support points density" +msgstr "Щільність точок підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:55 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1224 +msgid "Auto-generate points" +msgstr "Генерувати точки автоматично" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:56 +msgid "Manual editing" +msgstr "Ручне редагування" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:374 +msgid "Add support point" +msgstr "Додати точку підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:514 +msgid "Delete support point" +msgstr "Видалити точку підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:694 +msgid "Change point head diameter" +msgstr "Змінити діаметр головки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:762 +msgid "Support parameter change" +msgstr "Зміна параметрів підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:869 +msgid "SLA Support Points" +msgstr "Точки SLA-підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:897 +msgid "SLA gizmo turned on" +msgstr "Ввімкнути SLA гізмо" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:911 +msgid "Do you want to save your manually edited support points?" +msgstr "Ви хочете зберегти відредаговані вручну точки підтримки?" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:912 +msgid "Save changes?" +msgstr "Зберегти зміни?" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:924 +msgid "SLA gizmo turned off" +msgstr "Вимкнути SLA гізмо" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:955 +msgid "Move support point" +msgstr "Перемістити точку підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1048 +msgid "Support points edit" +msgstr "Редагування точок підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1127 +msgid "Autogeneration will erase all manually edited points." +msgstr "Автогенерація видалить всі відредаговані вручну точки." + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1128 +msgid "Are you sure you want to do it?" +msgstr "Ви впевнені, що хочете це зробити?" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:256 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:557 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:581 +#: src/slic3r/GUI/WipeTowerDialog.cpp:45 src/slic3r/GUI/WipeTowerDialog.cpp:366 +msgid "Warning" +msgstr "Застереження" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1134 +msgid "Autogenerate support points" +msgstr "Автогенерувати точки підтримки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1181 +msgid "SLA gizmo keyboard shortcuts" +msgstr "Комбінації клавіш для SLA гізма" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1192 +msgid "Note: some shortcuts work in (non)editing mode only." +msgstr "Примітка: деякі скорочення працюють лише в режимі (не)редагування." + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1210 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1213 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1214 +msgid "Left click" +msgstr "Ліва кнопка миші" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1210 +msgid "Add point" +msgstr "Додати точку" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1211 +msgid "Right click" +msgstr "Клік на праву кнопку миші" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1211 +msgid "Remove point" +msgstr "Видалити точку" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1212 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1215 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1216 +msgid "Drag" +msgstr "Перетягування" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1212 +msgid "Move point" +msgstr "Перемістити точку" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1213 +msgid "Add point to selection" +msgstr "Додати точку до виділення" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1214 +msgid "Remove point from selection" +msgstr "Видалити точку з виділення" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1215 +msgid "Select by rectangle" +msgstr "Виділення прямокутником" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1216 +msgid "Deselect by rectangle" +msgstr "Скасування вибору прямокутником" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1217 +msgid "Select all points" +msgstr "Виділити усі точки" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 +msgid "Mouse wheel" +msgstr "Колесо миші" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 +msgid "Move clipping plane" +msgstr "Перемістити площину відсікання" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1220 +msgid "Reset clipping plane" +msgstr "Скинути площину відсікання" + +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1223 +msgid "Switch to editing mode" +msgstr "Перейти в режим редагування" + +#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:521 +msgid "Gizmo-Scale" +msgstr "Gizmo масштабування" + +#: src/slic3r/GUI/Gizmos/GLGizmosManager.cpp:630 +msgid "Gizmo-Place on Face" +msgstr "Gizmo \"Поверхнею на стіл\"" + +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:39 +msgid "Entering Paint-on supports" +msgstr "Увійти до режиму малювання підтримок" + +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:40 +msgid "Entering Seam painting" +msgstr "Увійти до режиму малювання шву" + +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:47 +msgid "Leaving Seam painting" +msgstr "Вийти з режиму малювання шву" + +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:48 +msgid "Leaving Paint-on supports" +msgstr "Вийти з режиму малювання підтримок" + +#: src/slic3r/GUI/Gizmos/GLGizmoPainterBase.cpp:371 +msgid "Add supports" +msgstr "Додати підтримки" + +#: src/slic3r/GUI/GUI_App.cpp:239 +msgid "is based on Slic3r by Alessandro Ranellucci and the RepRap community." +msgstr "заснований на Slic3r від Alessandro Ranellucci та спільноти RepRap." + +#: src/slic3r/GUI/GUI_App.cpp:241 +msgid "" +"Contributions by Vojtech Bubnik, Enrico Turri, Oleksandra Iushchenko, Tamas " +"Meszaros, Lukas Matena, Vojtech Kral, David Kocik and numerous others." +msgstr "" +"Розробки від Henrik Brix Andersen, Nicolas Dandrimont, Mark Hindess, Petr " +"Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik та багатьох " +"інших." + +#: src/slic3r/GUI/GUI_App.cpp:242 +msgid "Artwork model by Nora Al-Badri and Jan Nikolai Nelles" +msgstr "Модель ілюстрації виконано Nora Al-Badri та Jan Nikolai Nelles" + +#: src/slic3r/GUI/GUI_App.cpp:382 +msgid "" +"Starting with %1% 2.3, configuration directory on Linux has changed " +"(according to XDG Base Directory Specification) to \n" +"%2%.\n" +"\n" +"This directory did not exist yet (maybe you run the new version for the " +"first time).\n" +"However, an old %1% configuration directory was detected in \n" +"%3%.\n" +"\n" +"Consider moving the contents of the old directory to the new location in " +"order to access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old " +"location again.\n" +"\n" +"What do you want to do now?" +msgstr "" +"Починаючи з %1% 2.3, каталог конфігурації в Linux змінився (відповідно до " +"специфікації базового каталогу XDG) на\n" +"%2%.\n" +"\n" +"Цей каталог ще не існував (можливо, ви запускаєте нову версію вперше).\n" +"Однак у %3% був виявлений старий каталог конфігурації %1%.\n" +"\n" +"Подумайте про переміщення вмісту старого каталогу в нове місце, щоб отримати " +"доступ до ваших профілів тощо.\n" +"Зверніть увагу, що якщо ви вирішите знизити версію %1% у майбутньому, він " +"знову використовуватиме старе місце.\n" +"\n" +"Що ви хочете робити зараз?" + +#: src/slic3r/GUI/GUI_App.cpp:390 +#, c-format +msgid "%s - BREAKING CHANGE" +msgstr "%s - ЗЛАМАНА ЗМІНА" + +#: src/slic3r/GUI/GUI_App.cpp:392 +msgid "Quit, I will move my data now" +msgstr "Вийти, я зараз перенесу свої дані" + +#: src/slic3r/GUI/GUI_App.cpp:392 +msgid "Start the application" +msgstr "Запустити програму" + +#: src/slic3r/GUI/GUI_App.cpp:580 +#, c-format +msgid "" +"%s has encountered an error. It was likely caused by running out of memory. " +"If you are sure you have enough RAM on your system, this may also be a bug " +"and we would be glad if you reported it.\n" +"\n" +"The application will now terminate." +msgstr "" +"%s виявив помилку. Ймовірно, це було пов’язано з закінченням пам’яті. Якщо " +"ви впевнені, що у вашій системі достатньо оперативної пам'яті, це також може " +"бути помилкою, і ми будемо раді, якщо ви нам про це повідомите.\n" +"\n" +"Тепер застосування буде припинено." + +#: src/slic3r/GUI/GUI_App.cpp:583 +msgid "Fatal error" +msgstr "Критична помилка" + +#: src/slic3r/GUI/GUI_App.cpp:587 +msgid "" +"PrusaSlicer has encountered a localization error. Please report to " +"PrusaSlicer team, what language was active and in which scenario this issue " +"happened. Thank you.\n" +"\n" +"The application will now terminate." +msgstr "" +"Виникла помилка локалізації. Будь ласка, повідомте команді PrusaSlicer, яка " +"мова була активною та за якого сценарію сталася ця проблема. Дякую.\n" +"\n" +"Тепер застосування буде припинено." + +#: src/slic3r/GUI/GUI_App.cpp:590 +msgid "Critical error" +msgstr "Критична помилка" + +#: src/slic3r/GUI/GUI_App.cpp:711 +msgid "" +"Error parsing PrusaSlicer config file, it is probably corrupted. Try to " +"manually delete the file to recover from the error. Your user profiles will " +"not be affected." +msgstr "" +"Помилка під час розбору файлу конфігурації PrusaSlicer, можливо, він " +"пошкоджений. Спробуйте вручну видалити файл, щоб оговтатися від помилки. Це " +"не вплине на профілі користувачів." + +#: src/slic3r/GUI/GUI_App.cpp:717 +msgid "" +"Error parsing PrusaGCodeViewer config file, it is probably corrupted. Try to " +"manually delete the file to recover from the error." +msgstr "" +"Помилка під час розбору файлу конфігурації PrusaGCodeViewer, можливо, він " +"пошкоджений. Спробуйте вручну видалити файл, щоб оговтатися від помилки." + +#: src/slic3r/GUI/GUI_App.cpp:771 +#, c-format +msgid "" +"%s\n" +"Do you want to continue?" +msgstr "" +"%s\n" +"Бажаєте продовжити?" + +#: src/slic3r/GUI/GUI_App.cpp:773 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 +msgid "Remember my choice" +msgstr "Пам'ятати мій вибір" + +#: src/slic3r/GUI/GUI_App.cpp:808 +msgid "Loading configuration" +msgstr "Завантаження конфігурації" + +#: src/slic3r/GUI/GUI_App.cpp:876 +msgid "Preparing settings tabs" +msgstr "Підготовка вкладок параметрів" + +#: src/slic3r/GUI/GUI_App.cpp:1115 +msgid "" +"You have the following presets with saved options for \"Print Host upload\"" +msgstr "" +"У вас є наступні пресети із збереженими параметрами для \"Завантаження хоста " +"друку(\"Print Host upload\")\"" + +#: src/slic3r/GUI/GUI_App.cpp:1119 +msgid "" +"But since this version of PrusaSlicer we don't show this information in " +"Printer Settings anymore.\n" +"Settings will be available in physical printers settings." +msgstr "" +"Від поточної версії PrusaSlicer ми більше не відображаємо цю інформацію в " +"параметрах принтера.\n" +"Ці параметри будуть доступні у налаштуваннях фізичних принтерів." + +#: src/slic3r/GUI/GUI_App.cpp:1121 +msgid "" +"By default new Printer devices will be named as \"Printer N\" during its " +"creation.\n" +"Note: This name can be changed later from the physical printers settings" +msgstr "" +"За замовчуванням нові друкуючі пристрої будуть названі \"Printer N\" під час " +"їх створення.\n" +"Примітка: Цю назву можна змінити пізніше в налаштуваннях фізичних принтерів" + +#: src/slic3r/GUI/GUI_App.cpp:1124 src/slic3r/GUI/PhysicalPrinterDialog.cpp:626 +msgid "Information" +msgstr "Інформація" + +#: src/slic3r/GUI/GUI_App.cpp:1137 src/slic3r/GUI/GUI_App.cpp:1148 +msgid "Recreating" +msgstr "Пере-створення" + +#: src/slic3r/GUI/GUI_App.cpp:1153 +msgid "Loading of current presets" +msgstr "Завантаження поточних пресетів" + +#: src/slic3r/GUI/GUI_App.cpp:1158 +msgid "Loading of a mode view" +msgstr "Завантаження режиму перегляду" + +#: src/slic3r/GUI/GUI_App.cpp:1234 +msgid "Choose one file (3MF/AMF):" +msgstr "Виберіть один файл (3MF/AMF):" + +#: src/slic3r/GUI/GUI_App.cpp:1246 +msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Виберіть один чи кілька файлів (STL/OBJ/AMF/PRUSA):" + +#: src/slic3r/GUI/GUI_App.cpp:1258 +msgid "Choose one file (GCODE/.GCO/.G/.ngc/NGC):" +msgstr "Виберіть один файл (GCODE/.GCO/.G/.ngc/NGC):" + +#: src/slic3r/GUI/GUI_App.cpp:1269 +msgid "Changing of an application language" +msgstr "Зміна мови застосування" + +#: src/slic3r/GUI/GUI_App.cpp:1392 +msgid "Select the language" +msgstr "Оберіть мову" + +#: src/slic3r/GUI/GUI_App.cpp:1392 +msgid "Language" +msgstr "Мова" + +#: src/slic3r/GUI/GUI_App.cpp:1541 +msgid "modified" +msgstr "модифікований" + +#: src/slic3r/GUI/GUI_App.cpp:1590 +#, c-format +msgid "Run %s" +msgstr "Запустити %s" + +#: src/slic3r/GUI/GUI_App.cpp:1594 +msgid "&Configuration Snapshots" +msgstr "Знімки конфігурації" + +#: src/slic3r/GUI/GUI_App.cpp:1594 +msgid "Inspect / activate configuration snapshots" +msgstr "Перегляньте / активізуйте знімки конфігурації" + +#: src/slic3r/GUI/GUI_App.cpp:1595 +msgid "Take Configuration &Snapshot" +msgstr "Зробіть знімок конфігурації" + +#: src/slic3r/GUI/GUI_App.cpp:1595 +msgid "Capture a configuration snapshot" +msgstr "Зробіть знімок конфігурації" + +#: src/slic3r/GUI/GUI_App.cpp:1596 +msgid "Check for updates" +msgstr "Перевірити наявність оновлень" + +#: src/slic3r/GUI/GUI_App.cpp:1596 +msgid "Check for configuration updates" +msgstr "Перевірити наявність оновлень конфігурації" + +#: src/slic3r/GUI/GUI_App.cpp:1599 +msgid "&Preferences" +msgstr "&Преференції" + +#: src/slic3r/GUI/GUI_App.cpp:1605 +msgid "Application preferences" +msgstr "Преференції застосування" + +#: src/slic3r/GUI/GUI_App.cpp:1610 src/slic3r/GUI/wxExtensions.cpp:685 +msgid "Simple" +msgstr "Простий" + +#: src/slic3r/GUI/GUI_App.cpp:1610 +msgid "Simple View Mode" +msgstr "Простий режим перегляду" + +#: src/slic3r/GUI/GUI_App.cpp:1612 src/slic3r/GUI/wxExtensions.cpp:687 +msgctxt "Mode" +msgid "Advanced" +msgstr "Розширений" + +#: src/slic3r/GUI/GUI_App.cpp:1612 +msgid "Advanced View Mode" +msgstr "Розширений режим перегляду" + +#: src/slic3r/GUI/GUI_App.cpp:1613 src/slic3r/GUI/wxExtensions.cpp:688 +msgid "Expert" +msgstr "Експерт" + +#: src/slic3r/GUI/GUI_App.cpp:1613 +msgid "Expert View Mode" +msgstr "Режим перегляду Експерт" + +#: src/slic3r/GUI/GUI_App.cpp:1618 +msgid "Mode" +msgstr "Режим" + +#: src/slic3r/GUI/GUI_App.cpp:1618 +#, c-format +msgid "%s View Mode" +msgstr "Режим перегляду %s" + +#: src/slic3r/GUI/GUI_App.cpp:1621 +msgid "&Language" +msgstr "Мова" + +#: src/slic3r/GUI/GUI_App.cpp:1624 +msgid "Flash printer &firmware" +msgstr "Прошити принтер" + +#: src/slic3r/GUI/GUI_App.cpp:1624 +msgid "Upload a firmware image into an Arduino based printer" +msgstr "Завантажте імідж прошивки на Arduino-принтер" + +#: src/slic3r/GUI/GUI_App.cpp:1640 +msgid "Taking configuration snapshot" +msgstr "Знімок конфігурації" + +#: src/slic3r/GUI/GUI_App.cpp:1640 +msgid "Snapshot name" +msgstr "Назва знімку" + +#: src/slic3r/GUI/GUI_App.cpp:1669 +msgid "Failed to activate configuration snapshot." +msgstr "Не вдалося активувати знімок конфігурації." + +#: src/slic3r/GUI/GUI_App.cpp:1719 +msgid "Language selection" +msgstr "Вибір мови" + +#: src/slic3r/GUI/GUI_App.cpp:1721 +msgid "" +"Switching the language will trigger application restart.\n" +"You will lose content of the plater." +msgstr "" +"Переключення мови спричинить перезапуск програми.\n" +"Ви втратите вміст платеру." + +#: src/slic3r/GUI/GUI_App.cpp:1723 +msgid "Do you want to proceed?" +msgstr "Ви хочете продовжити?" + +#: src/slic3r/GUI/GUI_App.cpp:1750 +msgid "&Configuration" +msgstr "&Конфігурація" + +#: src/slic3r/GUI/GUI_App.cpp:1781 +msgid "The preset(s) modifications are successfully saved" +msgstr "Модифікації пресетів успішно збережено" + +#: src/slic3r/GUI/GUI_App.cpp:1802 +msgid "The uploads are still ongoing" +msgstr "Завантаження все ще триває" + +#: src/slic3r/GUI/GUI_App.cpp:1802 +msgid "Stop them and continue anyway?" +msgstr "Зупинити їх і продовжувати в будь-якому випадку?" + +#: src/slic3r/GUI/GUI_App.cpp:1805 +msgid "Ongoing uploads" +msgstr "Триває завантаження" + +#: src/slic3r/GUI/GUI_App.cpp:2019 src/slic3r/GUI/Tab.cpp:3242 +msgid "It's impossible to print multi-part object(s) with SLA technology." +msgstr "" +"За технологією SLA неможливо надрукувати об'єкти, що складаються з декількох " +"частин." + +#: src/slic3r/GUI/GUI_App.cpp:2020 +msgid "Please check and fix your object list." +msgstr "Будь ласка, перевірте та виправте свій список об'єктів." + +#: src/slic3r/GUI/GUI_App.cpp:2021 src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 +#: src/slic3r/GUI/Plater.cpp:2359 src/slic3r/GUI/Tab.cpp:3244 +msgid "Attention!" +msgstr "Увага!" + +#: src/slic3r/GUI/GUI_App.cpp:2038 +msgid "Select a gcode file:" +msgstr "Виберіть файл G-коду:" + +#: src/slic3r/GUI/GUI_Init.cpp:73 src/slic3r/GUI/GUI_Init.cpp:76 +msgid "PrusaSlicer GUI initialization failed" +msgstr "Помилка ініціалізації графічного інтерфейсу PrusaSlicer" + +#: src/slic3r/GUI/GUI_Init.cpp:76 +msgid "Fatal error, exception catched: %1%" +msgstr "Фатальна помилка, вилучений виняток: %1%" + +#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 +msgid "Start at height" +msgstr "Початкова висота" + +#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 +msgid "Stop at height" +msgstr "Кінцева висота" + +#: src/slic3r/GUI/GUI_ObjectLayers.cpp:161 +msgid "Remove layer range" +msgstr "Видалити діапазон шарів" + +#: src/slic3r/GUI/GUI_ObjectLayers.cpp:165 +msgid "Add layer range" +msgstr "Додати діапазон шарів" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:34 src/slic3r/GUI/GUI_ObjectList.cpp:92 +#: src/slic3r/GUI/GUI_ObjectList.cpp:667 src/libslic3r/PrintConfig.cpp:74 +#: src/libslic3r/PrintConfig.cpp:189 src/libslic3r/PrintConfig.cpp:231 +#: src/libslic3r/PrintConfig.cpp:240 src/libslic3r/PrintConfig.cpp:464 +#: src/libslic3r/PrintConfig.cpp:530 src/libslic3r/PrintConfig.cpp:538 +#: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1219 +#: src/libslic3r/PrintConfig.cpp:1584 src/libslic3r/PrintConfig.cpp:1650 +#: src/libslic3r/PrintConfig.cpp:1835 src/libslic3r/PrintConfig.cpp:2302 +#: src/libslic3r/PrintConfig.cpp:2361 src/libslic3r/PrintConfig.cpp:2370 +msgid "Layers and Perimeters" +msgstr "Шари та периметри" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/slic3r/GUI/GUI_ObjectList.cpp:95 +#: src/slic3r/GUI/GUI_ObjectList.cpp:670 src/slic3r/GUI/GUI_Preview.cpp:240 +#: src/slic3r/GUI/Tab.cpp:1472 src/slic3r/GUI/Tab.cpp:1474 +#: src/libslic3r/ExtrusionEntity.cpp:320 src/libslic3r/ExtrusionEntity.cpp:352 +#: src/libslic3r/PrintConfig.cpp:426 src/libslic3r/PrintConfig.cpp:1715 +#: src/libslic3r/PrintConfig.cpp:2093 src/libslic3r/PrintConfig.cpp:2099 +#: src/libslic3r/PrintConfig.cpp:2107 src/libslic3r/PrintConfig.cpp:2119 +#: src/libslic3r/PrintConfig.cpp:2129 src/libslic3r/PrintConfig.cpp:2137 +#: src/libslic3r/PrintConfig.cpp:2152 src/libslic3r/PrintConfig.cpp:2173 +#: src/libslic3r/PrintConfig.cpp:2185 src/libslic3r/PrintConfig.cpp:2201 +#: src/libslic3r/PrintConfig.cpp:2210 src/libslic3r/PrintConfig.cpp:2219 +#: src/libslic3r/PrintConfig.cpp:2230 src/libslic3r/PrintConfig.cpp:2244 +#: src/libslic3r/PrintConfig.cpp:2252 src/libslic3r/PrintConfig.cpp:2253 +#: src/libslic3r/PrintConfig.cpp:2262 src/libslic3r/PrintConfig.cpp:2270 +#: src/libslic3r/PrintConfig.cpp:2284 +msgid "Support material" +msgstr "Підтримка" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:39 src/slic3r/GUI/GUI_ObjectList.cpp:99 +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/libslic3r/PrintConfig.cpp:2480 +#: src/libslic3r/PrintConfig.cpp:2488 +msgid "Wipe options" +msgstr "Параметри витирання" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:45 +msgid "Pad and Support" +msgstr "Подушка та підтримки" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:51 +msgid "Add part" +msgstr "Додати частину" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:52 +msgid "Add modifier" +msgstr "Додати модифікатор" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:53 +msgid "Add support enforcer" +msgstr "Додати примусову підтримку" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:54 +msgid "Add support blocker" +msgstr "Додати блокувальник підтримок" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:94 src/slic3r/GUI/GUI_ObjectList.cpp:669 +#: src/slic3r/GUI/GUI_Preview.cpp:236 src/slic3r/GUI/Tab.cpp:1442 +#: src/libslic3r/ExtrusionEntity.cpp:316 src/libslic3r/ExtrusionEntity.cpp:344 +#: src/libslic3r/PrintConfig.cpp:1226 src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1246 src/libslic3r/PrintConfig.cpp:1256 +#: src/libslic3r/PrintConfig.cpp:1264 src/libslic3r/PrintConfig.cpp:1266 +msgid "Ironing" +msgstr "Прасування" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:96 src/slic3r/GUI/GUI_ObjectList.cpp:671 +#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/Tab.cpp:1498 +#: src/libslic3r/PrintConfig.cpp:291 src/libslic3r/PrintConfig.cpp:518 +#: src/libslic3r/PrintConfig.cpp:1012 src/libslic3r/PrintConfig.cpp:1192 +#: src/libslic3r/PrintConfig.cpp:1265 src/libslic3r/PrintConfig.cpp:1640 +#: src/libslic3r/PrintConfig.cpp:1916 src/libslic3r/PrintConfig.cpp:1968 +#: src/libslic3r/PrintConfig.cpp:2346 +msgid "Speed" +msgstr "Швидкість" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:97 src/slic3r/GUI/GUI_ObjectList.cpp:672 +#: src/slic3r/GUI/Tab.cpp:1534 src/slic3r/GUI/Tab.cpp:2112 +#: src/libslic3r/PrintConfig.cpp:548 src/libslic3r/PrintConfig.cpp:1146 +#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:1937 +#: src/libslic3r/PrintConfig.cpp:2165 src/libslic3r/PrintConfig.cpp:2192 +msgid "Extruders" +msgstr "Екструдери" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:98 src/slic3r/GUI/GUI_ObjectList.cpp:673 +#: src/libslic3r/PrintConfig.cpp:507 src/libslic3r/PrintConfig.cpp:616 +#: src/libslic3r/PrintConfig.cpp:957 src/libslic3r/PrintConfig.cpp:1154 +#: src/libslic3r/PrintConfig.cpp:1627 src/libslic3r/PrintConfig.cpp:1957 +#: src/libslic3r/PrintConfig.cpp:2174 src/libslic3r/PrintConfig.cpp:2334 +msgid "Extrusion Width" +msgstr "Ширина екструзії" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:102 src/slic3r/GUI/GUI_ObjectList.cpp:677 +#: src/slic3r/GUI/Tab.cpp:1428 src/slic3r/GUI/Tab.cpp:1452 +#: src/slic3r/GUI/Tab.cpp:1555 src/slic3r/GUI/Tab.cpp:1558 +#: src/slic3r/GUI/Tab.cpp:1855 src/slic3r/GUI/Tab.cpp:2197 +#: src/slic3r/GUI/Tab.cpp:4114 src/libslic3r/PrintConfig.cpp:92 +#: src/libslic3r/PrintConfig.cpp:132 src/libslic3r/PrintConfig.cpp:279 +#: src/libslic3r/PrintConfig.cpp:1097 src/libslic3r/PrintConfig.cpp:1181 +#: src/libslic3r/PrintConfig.cpp:2504 src/libslic3r/PrintConfig.cpp:2676 +msgid "Advanced" +msgstr "Розширений" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:104 src/slic3r/GUI/GUI_ObjectList.cpp:679 +#: src/slic3r/GUI/Plater.cpp:357 src/slic3r/GUI/Tab.cpp:4048 +#: src/slic3r/GUI/Tab.cpp:4049 src/libslic3r/PrintConfig.cpp:2842 +#: src/libslic3r/PrintConfig.cpp:2849 src/libslic3r/PrintConfig.cpp:2858 +#: src/libslic3r/PrintConfig.cpp:2867 src/libslic3r/PrintConfig.cpp:2877 +#: src/libslic3r/PrintConfig.cpp:2887 src/libslic3r/PrintConfig.cpp:2924 +#: src/libslic3r/PrintConfig.cpp:2931 src/libslic3r/PrintConfig.cpp:2942 +#: src/libslic3r/PrintConfig.cpp:2952 src/libslic3r/PrintConfig.cpp:2961 +#: src/libslic3r/PrintConfig.cpp:2974 src/libslic3r/PrintConfig.cpp:2984 +#: src/libslic3r/PrintConfig.cpp:2993 src/libslic3r/PrintConfig.cpp:3003 +#: src/libslic3r/PrintConfig.cpp:3014 src/libslic3r/PrintConfig.cpp:3022 +msgid "Supports" +msgstr "Підтримки" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:105 src/slic3r/GUI/GUI_ObjectList.cpp:680 +#: src/slic3r/GUI/Plater.cpp:500 src/slic3r/GUI/Tab.cpp:4089 +#: src/slic3r/GUI/Tab.cpp:4090 src/slic3r/GUI/Tab.cpp:4161 +#: src/libslic3r/PrintConfig.cpp:3030 src/libslic3r/PrintConfig.cpp:3037 +#: src/libslic3r/PrintConfig.cpp:3051 src/libslic3r/PrintConfig.cpp:3062 +#: src/libslic3r/PrintConfig.cpp:3072 src/libslic3r/PrintConfig.cpp:3094 +#: src/libslic3r/PrintConfig.cpp:3105 src/libslic3r/PrintConfig.cpp:3112 +#: src/libslic3r/PrintConfig.cpp:3119 src/libslic3r/PrintConfig.cpp:3130 +#: src/libslic3r/PrintConfig.cpp:3139 src/libslic3r/PrintConfig.cpp:3148 +msgid "Pad" +msgstr "Подушка" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:106 src/slic3r/GUI/Tab.cpp:4107 +#: src/slic3r/GUI/Tab.cpp:4108 src/libslic3r/SLA/Hollowing.cpp:45 +#: src/libslic3r/SLA/Hollowing.cpp:57 src/libslic3r/SLA/Hollowing.cpp:66 +#: src/libslic3r/SLA/Hollowing.cpp:75 src/libslic3r/PrintConfig.cpp:3158 +#: src/libslic3r/PrintConfig.cpp:3165 src/libslic3r/PrintConfig.cpp:3175 +#: src/libslic3r/PrintConfig.cpp:3184 +msgid "Hollowing" +msgstr "Випорожнення" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:300 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:161 +msgid "Name" +msgstr "Ім'я" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:316 src/slic3r/GUI/GUI_ObjectList.cpp:457 +msgid "Editing" +msgstr "Редагування" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:402 +#, c-format +msgid "Auto-repaired (%d errors):" +msgstr "Авто-відновлення (%d помилок):" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:409 +msgid "degenerate facets" +msgstr "вироджені грані" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:410 +msgid "edges fixed" +msgstr "виправлено країв" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:411 +msgid "facets removed" +msgstr "вилучено граней" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:412 +msgid "facets added" +msgstr "додано граней" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:413 +msgid "facets reversed" +msgstr "змінено граней" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:414 +msgid "backwards edges" +msgstr "повернуто країв" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:422 +msgid "Right button click the icon to fix STL through Netfabb" +msgstr "Клацніть правою кнопкою миші, щоб виправити STL за допомогою Netfabb" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:459 +msgid "Right button click the icon to change the object settings" +msgstr "" +"Клацніть правою кнопкою миші на піктограмі, щоб змінити налаштування об'єкта" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:461 +msgid "Click the icon to change the object settings" +msgstr "Клацніть на піктограмі, щоб змінити налаштування об'єкта" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:465 +msgid "Right button click the icon to change the object printable property" +msgstr "" +"Клацніть правою кнопкою миші на піктограмі, щоб змінити властивість друку " +"для об'єкта" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:467 +msgid "Click the icon to change the object printable property" +msgstr "Клацніть на піктограмі, щоб змінити властивість друку для об'єкта" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:590 +msgid "Change Extruder" +msgstr "Змінити екструдер" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:605 +msgid "Rename Object" +msgstr "Перейменувати об'єкт" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:605 +msgid "Rename Sub-object" +msgstr "Перейменувати підоб'єкт" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1247 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4372 +msgid "Instances to Separated Objects" +msgstr "Змінити екземпляри на окремі об'єкти" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1262 +msgid "Volumes in Object reordered" +msgstr "Об’єкт впорядковано" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1262 +msgid "Object reordered" +msgstr "Об’єкт впорядковано" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1338 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1693 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1699 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2081 +#, c-format +msgid "Quick Add Settings (%s)" +msgstr "Швидке додання налаштувань (%s)" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1428 +msgid "Select showing settings" +msgstr "Виберіть налаштування для показу" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1477 +msgid "Add Settings for Layers" +msgstr "Додати налаштування для шарів" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1478 +msgid "Add Settings for Sub-object" +msgstr "Додати налаштування для підоб'єкту" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1479 +msgid "Add Settings for Object" +msgstr "Додати налаштування для об'єкту" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1549 +msgid "Add Settings Bundle for Height range" +msgstr "Додати пакет налаштувань для діапазону висот" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1550 +msgid "Add Settings Bundle for Sub-object" +msgstr "Додати пакет налаштувань для підоб'єкту" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1551 +msgid "Add Settings Bundle for Object" +msgstr "Додати пакет налаштувань для об'єкту" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1590 +msgid "Load" +msgstr "Завантажити" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1627 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1631 +msgid "Box" +msgstr "Коробка" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +msgid "Cylinder" +msgstr "Циліндр" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +msgid "Slab" +msgstr "Плита" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1663 +msgid "Height range Modifier" +msgstr "Модифікатор діапазону висот" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1672 +msgid "Add settings" +msgstr "Додати налаштування" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1750 +msgid "Change type" +msgstr "Змінити тип" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1760 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1772 +msgid "Set as a Separated Object" +msgstr "Встановити як окремий об’єкт" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1772 msgid "Set as a Separated Objects" -msgstr "" +msgstr "Встановити як окремі об’єкти" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1374 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1782 +msgid "Printable" +msgstr "Для друку" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1797 +msgid "Rename" +msgstr "Перейменувати" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1808 +msgid "Fix through the Netfabb" +msgstr "Виправити за допомогою NetFabb" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1818 src/slic3r/GUI/Plater.cpp:4035 +msgid "Export as STL" +msgstr "Експортувати як STL" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1825 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4567 src/slic3r/GUI/Plater.cpp:4001 +msgid "Reload the selected volumes from disk" +msgstr "Перезавантажити вибрані часті з диска" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1832 +msgid "Set extruder for selected items" +msgstr "Встановити екструдер для вибраних елементів" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1864 src/libslic3r/PrintConfig.cpp:391 +msgid "Default" +msgstr "За замовчуванням" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1884 +msgid "Scale to print volume" +msgstr "Масштабувати під область друку" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1884 +msgid "Scale the selected object to fit the print volume" +msgstr "Масштабуйте вибраний об'єкт відповідно до об'єму столу" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1913 src/slic3r/GUI/Plater.cpp:5224 +msgid "Convert from imperial units" +msgstr "Конвертувати з імперських одиниць" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1915 src/slic3r/GUI/Plater.cpp:5224 +msgid "Revert conversion from imperial units" +msgstr "Повернути конвертацію з імперських одиниць" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1944 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1952 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2630 src/libslic3r/PrintConfig.cpp:3730 +msgid "Merge" +msgstr "Об’єднати" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1944 +msgid "Merge objects to the one multipart object" +msgstr "Об'єднати об'єкти в один багаточастковий об'єкт" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:1952 +msgid "Merge objects to the one single object" +msgstr "Об’єднайте об’єкти в один єдиний об’єкт" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2026 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2283 +msgid "Add Shape" +msgstr "Додати форму" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2111 +msgid "Load Part" +msgstr "Завантажити частину" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2150 +msgid "Error!" +msgstr "Помилка!" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2225 +msgid "Add Generic Subobject" +msgstr "Додати загальний підоб'єкт" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2254 msgid "Generic" -msgstr "" +msgstr "Загальний" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1516 -msgid "You can't delete the last solid part from object." -msgstr "" +#: src/slic3r/GUI/GUI_ObjectList.cpp:2380 +msgid "Delete Settings" +msgstr "Видалити налаштування" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1533 -msgid "You can't delete the last intance from object." -msgstr "" +#: src/slic3r/GUI/GUI_ObjectList.cpp:2402 +msgid "Delete All Instances from Object" +msgstr "Видалити всі екземпляри з об’єкта" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1560 src/slic3r/GUI/Plater.cpp:2219 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2418 +msgid "Delete Height Range" +msgstr "Видалити діапазон висот" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2450 +msgid "From Object List You can't delete the last solid part from object." +msgstr "" +"Зі списку об’єктів Ви не можете видалити останню суцільну частину з об’єкта." + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2454 +msgid "Delete Subobject" +msgstr "Видалити підоб'єкт" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2469 +msgid "Last instance of an object cannot be deleted." +msgstr "Не можна видалити останній екземпляр з об'єкту." + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2473 +msgid "Delete Instance" +msgstr "Видалити екземпляр" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2497 src/slic3r/GUI/Plater.cpp:2865 msgid "" "The selected object couldn't be split because it contains only one part." msgstr "" "Вибраний об'єкт не можна розділити, оскільки він містить лише одну частину." -#: src/slic3r/GUI/GUI_ObjectList.cpp:1676 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2501 +msgid "Split to Parts" +msgstr "Розділити на частини" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2637 +msgid "Merged" +msgstr "Об’єднано" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2721 +msgid "Merge all parts to the one single object" +msgstr "Об’єднати всі частини в єдиний об’єкт" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2753 +msgid "Add Layers" +msgstr "Додати шари" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2907 msgid "Group manipulation" -msgstr "" +msgstr "Маніпулювання групою" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1688 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2919 msgid "Object manipulation" -msgstr "" +msgstr "Маніпулювання об'єктом" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1698 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2932 msgid "Object Settings to modify" -msgstr "" +msgstr "Параметри об'єкту, які можна змінювати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1702 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2936 msgid "Part Settings to modify" -msgstr "" +msgstr "Параметри частини, які можна змінювати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1711 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2941 +msgid "Layer range Settings to modify" +msgstr "Пакет налаштувань для діапазону висот" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2947 msgid "Part manipulation" -msgstr "" +msgstr "Маніпулювання частиною" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1717 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2953 msgid "Instance manipulation" -msgstr "" +msgstr "Маніпулювання екземпляром" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2240 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2960 +msgid "Height ranges" +msgstr "Діапазони висот" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:2960 +msgid "Settings for height range" +msgstr "Налаштування діапазону висот" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3144 +msgid "Delete Selected Item" +msgstr "Видалити вибраний елемент" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3332 +msgid "Delete Selected" +msgstr "Видалити вибране" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3408 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3436 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3456 +msgid "Add Height Range" +msgstr "Додати діапазон висот" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3502 +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"The next layer range is too thin to be split to two\n" +"without violating the minimum layer height." +msgstr "" +"Не вдається вставити новий діапазон шарів після поточного діапазону шарів.\n" +"Діапазон наступного шару занадто тонкий, щоб його можна було розділити на " +"два\n" +"без порушення мінімальної висоти шару." + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3506 +msgid "" +"Cannot insert a new layer range between the current and the next layer " +"range.\n" +"The gap between the current layer range and the next layer range\n" +"is thinner than the minimum layer height allowed." +msgstr "" +"Не вдається вставити новий діапазон шарів між поточним та наступним " +"діапазоном шарів.\n" +"Розрив між діапазоном поточного шару та діапазоном наступного шару\n" +"тонше мінімально допустимої висоти шару." + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3511 +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"Current layer range overlaps with the next layer range." +msgstr "" +"Не вдається вставити новий діапазон шарів після поточного діапазону шарів.\n" +"Діапазон поточного шару перекривається з діапазоном наступного шару." + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3570 +msgid "Edit Height Range" +msgstr "Редагування діапазону висот" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3865 +msgid "Selection-Remove from list" +msgstr "Виділення - Видалено зі списку" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:3873 +msgid "Selection-Add from list" +msgstr "Виділення - Додано зі списку" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:4008 msgid "Object or Instance" -msgstr "" +msgstr "\"Об’єкт\" або \"Екземпляр\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2240 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 msgid "Part" -msgstr "" +msgstr "\"Частина\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2242 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 +msgid "Layer" +msgstr "\"Шар\"" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:4011 msgid "Unsupported selection" -msgstr "" +msgstr "Непідтримуваний вибір" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2243 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4012 #, c-format msgid "You started your selection with %s Item." -msgstr "" +msgstr "Ви розпочали свій вибір з елемента %s." -#: src/slic3r/GUI/GUI_ObjectList.cpp:2244 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4013 #, c-format msgid "In this mode you can select only other %s Items%s" -msgstr "" +msgstr "В цьому режимі ви можете вибирати тільки інші %s %s" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2247 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4016 msgid "of a current Object" -msgstr "" +msgstr "поточного \"Об'єкта\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2252 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2325 src/slic3r/GUI/Plater.cpp:117 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4021 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4096 src/slic3r/GUI/Plater.cpp:143 msgid "Info" msgstr "Інфо" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2366 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4137 msgid "You can't change a type of the last solid part of the object." -msgstr "" +msgstr "Ви не можете змінити тип останньої твердої частини об’єкта." -#: src/slic3r/GUI/GUI_ObjectList.cpp:2373 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +msgid "Modifier" +msgstr "Модифікатор" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +msgid "Support Enforcer" +msgstr "Примусова підтримка" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +msgid "Support Blocker" +msgstr "Блокувальник підтримок" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:4144 msgid "Select type of part" -msgstr "" +msgstr "Змінити тип частини" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2538 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4149 +msgid "Change Part Type" +msgstr "Змінити тип деталі" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:4394 msgid "Enter new name" -msgstr "" +msgstr "Введіть нову назву" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2538 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4394 msgid "Renaming" -msgstr "" +msgstr "Перейменування" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2554 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2632 src/slic3r/GUI/Tab.cpp:3191 -#: src/slic3r/GUI/Tab.cpp:3195 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4410 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4537 +#: src/slic3r/GUI/SavePresetDialog.cpp:101 +#: src/slic3r/GUI/SavePresetDialog.cpp:109 msgid "The supplied name is not valid;" -msgstr "" +msgstr "Надане ім'я недійсне;" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2555 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2633 src/slic3r/GUI/Tab.cpp:3192 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4411 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4538 +#: src/slic3r/GUI/SavePresetDialog.cpp:102 msgid "the following characters are not allowed:" -msgstr "" +msgstr "такі символи не допускаються:" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2653 -msgid "Set extruder for selected items" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:2654 -msgid "Select extruder number for selected objects and/or parts" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectList.cpp:2667 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4586 msgid "Select extruder number:" -msgstr "" +msgstr "Виберіть номер екструдера:" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2668 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4587 msgid "This extruder will be set for selected items" -msgstr "" +msgstr "Цей екструдер буде встановлений для вибраних елементів" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:25 -msgid "Object Manipulation" -msgstr "" +#: src/slic3r/GUI/GUI_ObjectList.cpp:4612 +msgid "Change Extruders" +msgstr "Змінити екструдери" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:47 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4709 src/slic3r/GUI/Selection.cpp:1485 +msgid "Set Printable" +msgstr "Встановити \"Для друку\"" + +#: src/slic3r/GUI/GUI_ObjectList.cpp:4709 src/slic3r/GUI/Selection.cpp:1485 +msgid "Set Unprintable" +msgstr "Встановити \"Не для друку\"" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:68 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:111 +msgid "World coordinates" +msgstr "Світові координати" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:69 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:112 +msgid "Local coordinates" +msgstr "Локальні координати" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:88 +msgid "Select coordinate space, in which the transformation will be performed." +msgstr "Виберіть простір координат, в якому буде виконуватися перетворення." + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:163 src/libslic3r/GCode.cpp:537 msgid "Object name" -msgstr "" +msgstr "Назва об'єкту" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:115 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:160 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:223 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:505 msgid "Position" -msgstr "" +msgstr "Позиція" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:116 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:161 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:224 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:506 +#: src/slic3r/GUI/Mouse3DController.cpp:486 +#: src/slic3r/GUI/Mouse3DController.cpp:507 msgid "Rotation" -msgstr "" +msgstr "Обертання" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:117 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:201 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:221 -#: src/libslic3r/PrintConfig.cpp:3070 -msgid "Scale" +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:271 +#, c-format +msgid "Toggle %c axis mirroring" +msgstr "Переключити дзеркальне відображення за осею %c" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:305 +msgid "Set Mirror" +msgstr "Встановити віддзеркалення" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:345 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:357 +msgid "Drop to bed" +msgstr "Поставити на стіл" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:372 +msgid "Reset rotation" +msgstr "Скинути обертання" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:394 +msgid "Reset Rotation" +msgstr "Скинути обертання" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:407 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:409 +msgid "Reset scale" +msgstr "Скинути масштаб" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:423 +msgid "Inches" +msgstr "Дюймів" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:507 +msgid "Scale factors" msgstr "Масштаб" -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:162 -msgid "Scale factors" -msgstr "" - -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:200 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:220 -#: src/libslic3r/PrintConfig.cpp:3055 -msgid "Rotate" -msgstr "Повернути" - -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:219 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:561 msgid "Translate" -msgstr "" +msgstr "Перемістити" -#: src/slic3r/GUI/GUI_ObjectSettings.cpp:58 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:625 +msgid "" +"You cannot use non-uniform scaling mode for multiple objects/parts selection" +msgstr "" +"Не можна використовувати нерівномірний режим масштабування, коли вибрано " +"кілька об’єктів/частей" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:797 +msgid "Set Position" +msgstr "Встановити позицію" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:828 +msgid "Set Orientation" +msgstr "Встановити орієнтацію" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:893 +msgid "Set Scale" +msgstr "Встановити масштаб" + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:925 +msgid "" +"The currently manipulated object is tilted (rotation angles are not " +"multiples of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World " +"coordinate system,\n" +"once the rotation is embedded into the object coordinates." +msgstr "" +"В даний час маніпульований об'єкт нахилений (кути повороту не кратні 90 °).\n" +"Нерівномірне масштабування нахилених предметів можливе лише у світовій " +"системі координат,\n" +"як тільки обертання буде вбудовано в координати об’єкта." + +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:928 +msgid "" +"This operation is irreversible.\n" +"Do you want to proceed?" +msgstr "" +"Ця операція незворотна.\n" +"Ви хочете продовжити?" + +#: src/slic3r/GUI/GUI_ObjectSettings.cpp:62 msgid "Additional Settings" -msgstr "" +msgstr "Додаткові налаштування" -#: src/slic3r/GUI/GUI_Preview.cpp:209 +#: src/slic3r/GUI/GUI_ObjectSettings.cpp:98 +msgid "Remove parameter" +msgstr "Видалити параметр" + +#: src/slic3r/GUI/GUI_ObjectSettings.cpp:104 +#, c-format +msgid "Delete Option %s" +msgstr "Видалити параметр %s" + +#: src/slic3r/GUI/GUI_ObjectSettings.cpp:157 +#, c-format +msgid "Change Option %s" +msgstr "Змінити параметр %s" + +#: src/slic3r/GUI/GUI_Preview.cpp:212 msgid "View" msgstr "Вид" -#: src/slic3r/GUI/GUI_Preview.cpp:212 src/slic3r/GUI/GUI_Preview.cpp:525 -#: src/libslic3r/GCode/PreviewData.cpp:394 -msgid "Feature type" -msgstr "Тип ознаки" - -#: src/slic3r/GUI/GUI_Preview.cpp:213 src/libslic3r/PrintConfig.cpp:467 +#: src/slic3r/GUI/GUI_Preview.cpp:215 src/libslic3r/PrintConfig.cpp:560 msgid "Height" msgstr "Висота" -#: src/slic3r/GUI/GUI_Preview.cpp:214 src/libslic3r/PrintConfig.cpp:2135 +#: src/slic3r/GUI/GUI_Preview.cpp:216 src/libslic3r/PrintConfig.cpp:2466 msgid "Width" msgstr "Ширина" -#: src/slic3r/GUI/GUI_Preview.cpp:216 +#: src/slic3r/GUI/GUI_Preview.cpp:218 src/slic3r/GUI/Tab.cpp:1840 +msgid "Fan speed" +msgstr "Швидкість вентилятора" + +#: src/slic3r/GUI/GUI_Preview.cpp:219 msgid "Volumetric flow rate" -msgstr "" +msgstr "Об'ємна швидкість потоку" -#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/GUI_Preview.cpp:315 -#: src/slic3r/GUI/GUI_Preview.cpp:469 src/slic3r/GUI/GUI_Preview.cpp:525 -#: src/slic3r/GUI/GUI_Preview.cpp:701 src/libslic3r/GCode/PreviewData.cpp:404 -msgid "Tool" -msgstr "Інструмент" - -#: src/slic3r/GUI/GUI_Preview.cpp:218 src/slic3r/GUI/GUI_Preview.cpp:523 -#: src/libslic3r/GCode/PreviewData.cpp:406 -msgid "Color Print" -msgstr "" - -#: src/slic3r/GUI/GUI_Preview.cpp:221 +#: src/slic3r/GUI/GUI_Preview.cpp:224 msgid "Show" msgstr "Показати" -#: src/slic3r/GUI/GUI_Preview.cpp:224 src/slic3r/GUI/GUI_Preview.cpp:225 +#: src/slic3r/GUI/GUI_Preview.cpp:227 src/slic3r/GUI/GUI_Preview.cpp:245 msgid "Feature types" msgstr "Типи ознак" -#: src/slic3r/GUI/GUI_Preview.cpp:227 src/libslic3r/GCode/PreviewData.cpp:163 +#: src/slic3r/GUI/GUI_Preview.cpp:230 src/libslic3r/ExtrusionEntity.cpp:310 +#: src/libslic3r/ExtrusionEntity.cpp:332 msgid "Perimeter" msgstr "Периметр" -#: src/slic3r/GUI/GUI_Preview.cpp:228 src/libslic3r/GCode/PreviewData.cpp:164 +#: src/slic3r/GUI/GUI_Preview.cpp:231 src/libslic3r/ExtrusionEntity.cpp:311 +#: src/libslic3r/ExtrusionEntity.cpp:334 msgid "External perimeter" msgstr "Зовнішній периметр" -#: src/slic3r/GUI/GUI_Preview.cpp:229 src/libslic3r/GCode/PreviewData.cpp:165 +#: src/slic3r/GUI/GUI_Preview.cpp:232 src/libslic3r/ExtrusionEntity.cpp:312 +#: src/libslic3r/ExtrusionEntity.cpp:336 msgid "Overhang perimeter" msgstr "Нависаючий периметр" -#: src/slic3r/GUI/GUI_Preview.cpp:230 src/libslic3r/GCode/PreviewData.cpp:166 +#: src/slic3r/GUI/GUI_Preview.cpp:233 src/libslic3r/ExtrusionEntity.cpp:313 +#: src/libslic3r/ExtrusionEntity.cpp:338 msgid "Internal infill" msgstr "Внутрішнє наповнення" -#: src/slic3r/GUI/GUI_Preview.cpp:231 src/libslic3r/PrintConfig.cpp:1686 -#: src/libslic3r/PrintConfig.cpp:1696 src/libslic3r/GCode/PreviewData.cpp:167 +#: src/slic3r/GUI/GUI_Preview.cpp:234 src/libslic3r/ExtrusionEntity.cpp:314 +#: src/libslic3r/ExtrusionEntity.cpp:340 src/libslic3r/PrintConfig.cpp:1956 +#: src/libslic3r/PrintConfig.cpp:1967 msgid "Solid infill" msgstr "Суцільне наповнення" -#: src/slic3r/GUI/GUI_Preview.cpp:232 src/libslic3r/PrintConfig.cpp:2016 -#: src/libslic3r/PrintConfig.cpp:2027 src/libslic3r/GCode/PreviewData.cpp:168 +#: src/slic3r/GUI/GUI_Preview.cpp:235 src/libslic3r/ExtrusionEntity.cpp:315 +#: src/libslic3r/ExtrusionEntity.cpp:342 src/libslic3r/PrintConfig.cpp:2333 +#: src/libslic3r/PrintConfig.cpp:2345 msgid "Top solid infill" msgstr "Верхнє суцільне наповнення" -#: src/slic3r/GUI/GUI_Preview.cpp:233 src/libslic3r/GCode/PreviewData.cpp:169 +#: src/slic3r/GUI/GUI_Preview.cpp:237 src/libslic3r/ExtrusionEntity.cpp:317 +#: src/libslic3r/ExtrusionEntity.cpp:346 msgid "Bridge infill" msgstr "Мостове наповнення" -#: src/slic3r/GUI/GUI_Preview.cpp:234 src/libslic3r/PrintConfig.cpp:869 -#: src/libslic3r/GCode/PreviewData.cpp:170 +#: src/slic3r/GUI/GUI_Preview.cpp:238 src/libslic3r/ExtrusionEntity.cpp:318 +#: src/libslic3r/ExtrusionEntity.cpp:348 src/libslic3r/PrintConfig.cpp:1011 msgid "Gap fill" msgstr "Заповнення розриву" -#: src/slic3r/GUI/GUI_Preview.cpp:235 src/slic3r/GUI/Tab.cpp:1001 -#: src/libslic3r/GCode/PreviewData.cpp:171 +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/slic3r/GUI/Tab.cpp:1462 +#: src/libslic3r/ExtrusionEntity.cpp:319 src/libslic3r/ExtrusionEntity.cpp:350 msgid "Skirt" msgstr "Плінтус" -#: src/slic3r/GUI/GUI_Preview.cpp:237 src/libslic3r/PrintConfig.cpp:1903 -#: src/libslic3r/GCode/PreviewData.cpp:173 +#: src/slic3r/GUI/GUI_Preview.cpp:241 src/libslic3r/ExtrusionEntity.cpp:321 +#: src/libslic3r/ExtrusionEntity.cpp:354 src/libslic3r/PrintConfig.cpp:2218 msgid "Support material interface" msgstr "Інтерфейс підтримуючого матеріалу" -#: src/slic3r/GUI/GUI_Preview.cpp:238 src/slic3r/GUI/Tab.cpp:1081 -#: src/libslic3r/GCode/PreviewData.cpp:174 +#: src/slic3r/GUI/GUI_Preview.cpp:242 src/slic3r/GUI/Tab.cpp:1545 +#: src/libslic3r/ExtrusionEntity.cpp:322 src/libslic3r/ExtrusionEntity.cpp:356 msgid "Wipe tower" -msgstr "Вежа вичищування" +msgstr "Вежа витирання" -#: src/slic3r/GUI/GUI_Preview.cpp:243 src/libslic3r/PrintConfig.cpp:2049 -msgid "Travel" -msgstr "Пересування" - -#: src/slic3r/GUI/GUI_Preview.cpp:244 -msgid "Retractions" -msgstr "Переривання" - -#: src/slic3r/GUI/GUI_Preview.cpp:245 -msgid "Unretractions" -msgstr "Непереривання" - -#: src/slic3r/GUI/GUI_Preview.cpp:246 +#: src/slic3r/GUI/GUI_Preview.cpp:1031 msgid "Shells" msgstr "Оболонки" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:13 -msgid "Slic3r Prusa Edition - Keyboard Shortcuts" +#: src/slic3r/GUI/GUI_Preview.cpp:1032 +msgid "Tool marker" +msgstr "Маркер інструменту" + +#: src/slic3r/GUI/GUI_Preview.cpp:1033 +msgid "Legend/Estimated printing time" +msgstr "Легенда / Приблизний час друку" + +#: src/slic3r/GUI/ImGuiWrapper.cpp:804 src/slic3r/GUI/Search.cpp:389 +msgid "Use for search" +msgstr "Використовуйте для пошуку" + +#: src/slic3r/GUI/ImGuiWrapper.cpp:805 src/slic3r/GUI/Search.cpp:383 +msgid "Category" +msgstr "Категорія" + +#: src/slic3r/GUI/ImGuiWrapper.cpp:807 src/slic3r/GUI/Search.cpp:385 +msgid "Search in English" +msgstr "Шукати англійською мовою" + +#: src/slic3r/GUI/Jobs/ArrangeJob.cpp:145 +msgid "Arranging" +msgstr "Розташування" + +#: src/slic3r/GUI/Jobs/ArrangeJob.cpp:175 +msgid "Could not arrange model objects! Some geometries may be invalid." msgstr "" +"Не вдалося розташувати об’єкти моделі! Деякі геометрії можуть бути невірними." + +#: src/slic3r/GUI/Jobs/ArrangeJob.cpp:181 +msgid "Arranging canceled." +msgstr "Розташування скасовано." + +#: src/slic3r/GUI/Jobs/ArrangeJob.cpp:182 +msgid "Arranging done." +msgstr "Розташування виконано." + +#: src/slic3r/GUI/Jobs/Job.cpp:75 +msgid "ERROR: not enough resources to execute a new job." +msgstr "ПОМИЛКА: недостатньо ресурсів для виконання нового завдання." + +#: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:41 +msgid "Searching for optimal orientation" +msgstr "Пошук оптимальної орієнтації" + +#: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:73 +msgid "Orientation search canceled." +msgstr "Пошук орієнтації скасовано." + +#: src/slic3r/GUI/Jobs/RotoptimizeJob.cpp:74 +msgid "Orientation found." +msgstr "Орієнтація знайдена." + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:35 +msgid "Choose SLA archive:" +msgstr "Виберіть SLA-архів:" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:39 +msgid "Import file" +msgstr "Імпорт файлу" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:46 +msgid "Import model and profile" +msgstr "Імпорт моделі та профілю" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:47 +msgid "Import profile only" +msgstr "Імпорт тільки профілю" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:48 +msgid "Import model only" +msgstr "Імпорт тільки моделі" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:59 +msgid "Accurate" +msgstr "Точний" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:60 +msgid "Balanced" +msgstr "Збалансований" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:61 +msgid "Quick" +msgstr "Швидко" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:135 +msgid "Importing SLA archive" +msgstr "Імпорт SLA-архіву" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:159 +msgid "Importing canceled." +msgstr "Імпорт скасовано." + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:160 +msgid "Importing done." +msgstr "Імпорт виконано." + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:208 src/slic3r/GUI/Plater.cpp:2357 +msgid "You cannot load SLA project with a multi-part object on the bed" +msgstr "" +"Ви не можете завантажувати SLA-проект, що містить об'єкт, який складається з " +"кількох частин" + +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:209 src/slic3r/GUI/Plater.cpp:2358 +#: src/slic3r/GUI/Tab.cpp:3243 +msgid "Please check your object list before preset changing." +msgstr "" +"Будь ласка, перевірте свій список об'єктів перед тим, як змінити пресет." + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:17 src/slic3r/GUI/MainFrame.cpp:894 +msgid "Keyboard Shortcuts" +msgstr "Гарячі клавіши" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:69 +msgid "New project, clear plater" +msgstr "Новий проект, очистити платер" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:70 +msgid "Open project STL/OBJ/AMF/3MF with config, clear plater" +msgstr "Відкрити проект STL / OBJ / AMF / 3MF з конфігурацією, очистити стіл" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:71 +msgid "Save project (3mf)" +msgstr "Зберегти проект (3mf)" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:72 +msgid "Save project as (3mf)" +msgstr "Зберегти проект як (3mf)" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:73 +msgid "(Re)slice" +msgstr "(Пере)Нарізати" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:75 +msgid "Import STL/OBJ/AMF/3MF without config, keep plater" +msgstr "Імпорт STL/OBJ/AMF/3MF без конфігурації зі збереженням платеру" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:76 +msgid "Import Config from ini/amf/3mf/gcode" +msgstr "Імпорт конфігурації з INI/AMF/3MF/GCODE" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:77 +msgid "Load Config from ini/amf/3mf/gcode and merge" +msgstr "Завантажити конфігурацію з INI/AMF/3MF/GCODE та об’єднати" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:79 src/slic3r/GUI/Plater.cpp:770 +#: src/slic3r/GUI/Plater.cpp:6054 src/libslic3r/PrintConfig.cpp:3635 +msgid "Export G-code" +msgstr "Експорт G-коду" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6055 +msgid "Send G-code" +msgstr "Надіслання G-коду" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:81 +msgid "Export config" +msgstr "Експорт конфігурації" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:82 src/slic3r/GUI/Plater.cpp:758 +msgid "Export to SD card / Flash drive" +msgstr "Експорт на SD-карту/флешку" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:83 +msgid "Eject SD card / Flash drive" +msgstr "Від'єднати SD-карту/флешку" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:85 +msgid "Select all objects" +msgstr "Вибрати всі об'єкти" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:86 +msgid "Deselect all" +msgstr "Скасувати весь вибір" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:87 +msgid "Delete selected" +msgstr "Видалити вибране" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:91 +msgid "Copy to clipboard" +msgstr "Скопіювати в буфер обміну" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:92 +msgid "Paste from clipboard" +msgstr "Вставити з буферу обміну" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:94 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:96 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:187 +msgid "Reload plater from disk" +msgstr "Перезавантажити стіл з диска" #: src/slic3r/GUI/KBShortcutsDialog.cpp:100 -msgid "Open project STL/OBJ/AMF/3MF with config, delete bed" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 -msgid "Import STL/OBJ/AMF/3MF without config, keep bed" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 -msgid "Load Config from .ini/amf/3mf/gcode" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 src/slic3r/GUI/Plater.cpp:725 -#: src/slic3r/GUI/Plater.cpp:3673 src/libslic3r/PrintConfig.cpp:2957 -msgid "Export G-code" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 -msgid "Save project (3MF)" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 -msgid "Load Config from .ini/amf/3mf/gcode and merge" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 -msgid "(Re)slice" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 -msgid "Quick slice" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:108 src/slic3r/GUI/MainFrame.cpp:326 -msgid "Repeat last quick slice" -msgstr "Повторити останнє швидке нарізання" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 msgid "Select Plater Tab" msgstr "Вибрати вкладку Plater" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 -msgid "Quick slice and Save as" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:111 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:101 msgid "Select Print Settings Tab" msgstr "Вибрати вкладку параметрів друку" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:102 msgid "Select Filament Settings Tab" msgstr "Вибрати вкладку параметрів філаменту" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:113 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:103 msgid "Select Printer Settings Tab" msgstr "Вибрати вкладку параметрів принтеру" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:104 msgid "Switch to 3D" -msgstr "" +msgstr "Переключити на 3D" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:115 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:105 msgid "Switch to Preview" -msgstr "" +msgstr "Переключити на Перегляд" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:116 src/slic3r/GUI/Preferences.cpp:10 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:106 +#: src/slic3r/GUI/PrintHostDialogs.cpp:165 +msgid "Print host upload queue" +msgstr "Черга завантаження хоста друку" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:107 src/slic3r/GUI/MainFrame.cpp:65 +#: src/slic3r/GUI/MainFrame.cpp:1191 +msgid "Open new instance" +msgstr "Відкрити новий екземпляр" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:109 +msgid "Camera view" +msgstr "Вид камери" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:110 +msgid "Show/Hide object/instance labels" +msgstr "Показати/сховати мітки об’єктів/екземплярів" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:112 src/slic3r/GUI/Preferences.cpp:13 msgid "Preferences" msgstr "Преференції" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 -#: src/slic3r/GUI/PrintHostDialogs.cpp:134 -msgid "Print host upload queue" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:118 -msgid "Camera view " -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:119 -msgid "Add Instance to selected object " -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 -msgid "Remove Instance from selected object" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:121 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:114 msgid "Show keyboard shortcuts list" -msgstr "" +msgstr "Показати список гарячих клавіш" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:117 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:191 +msgid "Commands" +msgstr "Команди" #: src/slic3r/GUI/KBShortcutsDialog.cpp:122 -msgid "Select multiple object/Move multiple object" -msgstr "" +msgid "Add Instance of the selected object" +msgstr "Додати екземпляр вибраного об’єкта" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:123 +msgid "Remove Instance of the selected object" +msgstr "Видалити екземпляр вибраного об’єкта" #: src/slic3r/GUI/KBShortcutsDialog.cpp:124 -msgid "Main Shortcuts" +msgid "" +"Press to select multiple objects\n" +"or move multiple objects with mouse" msgstr "" +"Натисніть, щоб вибрати кілька об'єктів\n" +"або переміщуйте кілька об’єктів за допомогою миші" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:125 +msgid "Press to activate selection rectangle" +msgstr "Натисніть, щоб активувати прямокутник виділення" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:126 +msgid "Press to activate deselection rectangle" +msgstr "Натисніть, щоб активувати прямокутник скасування вибору" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:127 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:196 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:207 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:219 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:226 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:243 +msgid "Arrow Up" +msgstr "Стрілка вгору" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:127 +msgid "Move selection 10 mm in positive Y direction" +msgstr "Перемістити виділення на 10 мм у позитивному напрямку за Y" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:128 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:197 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:208 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:220 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:227 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:244 +msgid "Arrow Down" +msgstr "Стрілка вниз" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:128 +msgid "Move selection 10 mm in negative Y direction" +msgstr "Перемістити виділення на 10 мм у негативному напрямку за Y" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:129 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:198 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:221 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:228 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:241 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:246 +msgid "Arrow Left" +msgstr "Стрілка вліво" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:129 +msgid "Move selection 10 mm in negative X direction" +msgstr "Перемістити виділення на 10 мм у негативному напрямку за X" #: src/slic3r/GUI/KBShortcutsDialog.cpp:130 -msgid "Arrange" -msgstr "Організувати" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:199 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:222 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:229 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:242 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:247 +msgid "Arrow Right" +msgstr "Стрілка вправо" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:130 +msgid "Move selection 10 mm in positive X direction" +msgstr "Перемістити виділення на 10 мм у позитивному напрямку за X" #: src/slic3r/GUI/KBShortcutsDialog.cpp:131 -msgid "Select All objects" -msgstr "" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:132 +msgid "Any arrow" +msgstr "Будь-яка стрілка" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:131 +msgid "Movement step set to 1 mm" +msgstr "Встановити крок переміщення на 1 мм" #: src/slic3r/GUI/KBShortcutsDialog.cpp:132 -msgid "Delete selected" -msgstr "" +msgid "Movement in camera space" +msgstr "Переміщення відносно камери" #: src/slic3r/GUI/KBShortcutsDialog.cpp:133 -msgid "Delete All" -msgstr "Видалити все" +msgid "Page Up" +msgstr "Попередня сторінка" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:133 +msgid "Rotate selection 45 degrees CCW" +msgstr "Повернути вибране на 45 градусів за годинниковою стрілкою" #: src/slic3r/GUI/KBShortcutsDialog.cpp:134 -msgid "Gizmo move" -msgstr "" +msgid "Page Down" +msgstr "Наступна сторінка" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:134 +msgid "Rotate selection 45 degrees CW" +msgstr "Повернути вибране на 45 градусів проти годинникової стрілки" #: src/slic3r/GUI/KBShortcutsDialog.cpp:135 -msgid "Gizmo scale" -msgstr "" +msgid "Gizmo move" +msgstr "Gizmo переміщення" #: src/slic3r/GUI/KBShortcutsDialog.cpp:136 -msgid "Gizmo rotate" -msgstr "" +msgid "Gizmo scale" +msgstr "Gizmo масштабування" #: src/slic3r/GUI/KBShortcutsDialog.cpp:137 -msgid "Gizmo cut" -msgstr "" +msgid "Gizmo rotate" +msgstr "Gizmo обертання" #: src/slic3r/GUI/KBShortcutsDialog.cpp:138 -msgid "Gizmo Place face on bed" -msgstr "" +msgid "Gizmo cut" +msgstr "Gizmo розрізання" #: src/slic3r/GUI/KBShortcutsDialog.cpp:139 -msgid "Gizmo SLA support points" -msgstr "" +msgid "Gizmo Place face on bed" +msgstr "Gizmo \"Поверхнею на стіл\"" #: src/slic3r/GUI/KBShortcutsDialog.cpp:140 -#, no-c-format -msgid "" -"Press to snap by 5% in Gizmo scale\n" -"or by 1mm in Gizmo move" -msgstr "" +msgid "Gizmo SLA hollow" +msgstr "Gizmo SLA-порожнистість" #: src/slic3r/GUI/KBShortcutsDialog.cpp:141 -msgid "" -"Press to scale or rotate selected objects\n" -"around their own center" -msgstr "" +msgid "Gizmo SLA support points" +msgstr "Gizmo точки SLA-підтримок" #: src/slic3r/GUI/KBShortcutsDialog.cpp:142 -msgid "Zoom to Bed" -msgstr "" +msgid "Unselect gizmo or clear selection" +msgstr "Скасуйте вибір gizmo або очистіть виділення" #: src/slic3r/GUI/KBShortcutsDialog.cpp:143 -msgid "Zoom to all objects in scene, if none selected" -msgstr "" +msgid "Change camera type (perspective, orthographic)" +msgstr "Зміна типу камери (перспективна, орфографічна)" #: src/slic3r/GUI/KBShortcutsDialog.cpp:144 -msgid "Zoom to selected object" -msgstr "" +msgid "Zoom to Bed" +msgstr "Приблизити до розміру столу" #: src/slic3r/GUI/KBShortcutsDialog.cpp:145 -msgid "Zoom in" +msgid "" +"Zoom to selected object\n" +"or all objects in scene, if none selected" msgstr "" +"Приблизити до розміру об'єкту\n" +"або до всіх об'єктів сцени, якщо жоден не вибрано" #: src/slic3r/GUI/KBShortcutsDialog.cpp:146 -msgid "Zoom out" -msgstr "" +msgid "Zoom in" +msgstr "Приблизити" #: src/slic3r/GUI/KBShortcutsDialog.cpp:147 -msgid "Unselect gizmo, keep object selection" -msgstr "" +msgid "Zoom out" +msgstr "Віддалити" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:148 +msgid "Switch between Editor/Preview" +msgstr "Перемикання між Редактором та Попереднім переглядом" #: src/slic3r/GUI/KBShortcutsDialog.cpp:149 -msgid "Plater Shortcuts" +msgid "Collapse/Expand the sidebar" +msgstr "Згорнути/Розгорнути бічну панель" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:152 +msgid "Show/Hide 3Dconnexion devices settings dialog, if enabled" msgstr "" +"Показати/сховати діалогове вікно налаштувань пристроїв 3Dconnexion, якщо " +"такі існують" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:164 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:175 -msgid "Arrow Up" -msgstr "" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:154 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:158 +msgid "Show/Hide 3Dconnexion devices settings dialog" +msgstr "Показати/сховати діалогове вікно налаштувань пристроїв 3Dconnexion" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:164 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:166 -msgid "Upper Layer" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:165 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:176 -msgid "Arrow Down" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:165 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:167 -msgid "Lower Layer" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:169 -msgid "Preview Shortcuts" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:175 -msgid "Move current slider thump Up" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:176 -msgid "Move current slider thump Down" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:177 -msgid "Arrow Left" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:177 -msgid "Set upper thumb to current slider thumb" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:178 -msgid "Arrow Right" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:178 -msgid "Set lower thumb to current slider thumb" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:179 -msgid "Add color change marker for current layer" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:180 -msgid "Delete color change marker for current layer" -msgstr "" - -#: src/slic3r/GUI/KBShortcutsDialog.cpp:182 -msgid "Layers Slider Shortcuts" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:54 -msgid "" -" - Remember to check for updates at http://github.com/prusa3d/slic3r/releases" -msgstr " - Пам'ятайте оновлювати з http://github.com/prusa3d/slic3r/releases" - -#: src/slic3r/GUI/MainFrame.cpp:160 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:167 src/slic3r/GUI/MainFrame.cpp:331 +#: src/slic3r/GUI/MainFrame.cpp:343 msgid "Plater" msgstr "Платер" -#: src/slic3r/GUI/MainFrame.cpp:273 -msgid "&Open Project" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:170 +msgid "All gizmos: Rotate - left mouse button; Pan - right mouse button" msgstr "" +"Всі gizmos: Обертати — ліва кнопка миші; Панорамування — права кнопка миші" -#: src/slic3r/GUI/MainFrame.cpp:273 -msgid "Open a project file" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:171 +msgid "Gizmo move: Press to snap by 1mm" +msgstr "Gizmo переміщення: Натисніть, щоб зафіксувати переміщення через 1 мм" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:172 +msgid "Gizmo scale: Press to snap by 5%" +msgstr "Gizmo масштабування: Натисніть, щоб зафіксувати обертання на 5%" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:173 +msgid "Gizmo scale: Scale selection to fit print volume" +msgstr "Gizmo масштабування: Масштабуйте вибране відповідно до об'єму столу" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:174 +msgid "Gizmo scale: Press to activate one direction scaling" msgstr "" +"Gizmo масштабування: Натисніть, щоб активувати масштабування в одному " +"напрямку" -#: src/slic3r/GUI/MainFrame.cpp:275 -msgid "&Save Project" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:175 +msgid "Gizmo scale: Press to scale selected objects around their own center" msgstr "" +"Gizmo масштабування: Натисніть, щоб масштабувати вибрані об'єкти навколо їх " +"власного центру" -#: src/slic3r/GUI/MainFrame.cpp:275 -msgid "Save current project file" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:176 +msgid "Gizmo rotate: Press to rotate selected objects around their own center" msgstr "" +"Gizmo обертання: Натисніть, щоб обертати вибрані об'єкти навколо їх власного " +"центру" -#: src/slic3r/GUI/MainFrame.cpp:277 -msgid "Save Project &as" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:179 +msgid "Gizmos" +msgstr "Всі gizmos" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:179 +msgid "" +"The following shortcuts are applicable when the specified gizmo is active" +msgstr "Наступні гарячі клавіші застосовуються, коли активне вказане gizmo" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:183 src/slic3r/GUI/MainFrame.cpp:1244 +msgid "Open a G-code file" +msgstr "Відкрити файл G-кода" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:185 src/slic3r/GUI/MainFrame.cpp:1142 +#: src/slic3r/GUI/MainFrame.cpp:1146 src/slic3r/GUI/MainFrame.cpp:1249 +#: src/slic3r/GUI/MainFrame.cpp:1253 +msgid "Reload the plater from disk" +msgstr "Перезавантажити стіл з диска" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:196 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:200 +msgid "Vertical slider - Move active thumb Up" +msgstr "Вертикальний повзунок - Перемістити активний повзунок вгору" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:197 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:201 +msgid "Vertical slider - Move active thumb Down" +msgstr "Вертикальний повзунок - Перемістити активний повзунок вниз" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:198 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:202 +msgid "Horizontal slider - Move active thumb Left" +msgstr "Горизонтальний повзунок - Перемістити активний повзунок вліво" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:199 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:203 +msgid "Horizontal slider - Move active thumb Right" +msgstr "Горизонтальний повзунок - Перемістити активний повзунок вправо" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:204 +msgid "On/Off one layer mode of the vertical slider" +msgstr "Увімкнути/Вимкнути одношаровий режим вертикального повзунка" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:205 +msgid "Show/Hide Legend and Estimated printing time" +msgstr "Показати / Сховати легенду та приблизний час друку" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:207 +msgid "Upper layer" +msgstr "Верхній шар" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:208 +msgid "Lower layer" +msgstr "Нижній шар" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:209 +msgid "Upper Layer" +msgstr "Верхній шар" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:210 +msgid "Lower Layer" +msgstr "Нижній шар" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:211 +msgid "Show/Hide Legend & Estimated printing time" +msgstr "Показати / Сховати легенду та приблизний час друку" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:215 src/slic3r/GUI/Plater.cpp:4200 +#: src/slic3r/GUI/Tab.cpp:2602 +msgid "Preview" +msgstr "Попередній перегляд" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:219 +msgid "Move active thumb Up" +msgstr "Перемістити активний повзунок вгору" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:220 +msgid "Move active thumb Down" +msgstr "Перемістити активний повзунок вниз" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:221 +msgid "Set upper thumb as active" +msgstr "Встановити активним верхній повзунок" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:222 +msgid "Set lower thumb as active" +msgstr "Встановити активним нижній повзунок" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:223 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:230 +msgid "Add color change marker for current layer" +msgstr "Додати маркер зміни кольору для поточного шару" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:224 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:231 +msgid "Delete color change marker for current layer" +msgstr "Видалити маркер зміни кольору для поточного шару" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:226 +msgid "Move current slider thumb Up" +msgstr "Перемістити активний повзунок вгору" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:227 +msgid "Move current slider thumb Down" +msgstr "Перемістити активний повзунок вниз" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:228 +msgid "Set upper thumb to current slider thumb" +msgstr "Встановити верхній повзунок на поточну позицію" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:229 +msgid "Set lower thumb to current slider thumb" +msgstr "Встановити нижній повзунок на поточну позицію" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:233 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:234 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:249 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:250 +msgid "" +"Press to speed up 5 times while moving thumb\n" +"with arrow keys or mouse wheel" msgstr "" +"Натисніть, щоб мати 5-кратне прискорення під час руху повзунка\n" +"за допомогою клавіш зі стрілками або колеса миші" -#: src/slic3r/GUI/MainFrame.cpp:277 -msgid "Save current project file as" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:237 +msgid "Vertical Slider" +msgstr "Вертикальний повзунок" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:237 +msgid "" +"The following shortcuts are applicable in G-code preview when the vertical " +"slider is active" msgstr "" +"Наведені нижче гарячі клавіші застосовуються у перегляді G-коду, коли " +"вертикальний повзунок активний" -#: src/slic3r/GUI/MainFrame.cpp:283 -msgid "Import STL/OBJ/AM&F/3MF" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:241 +msgid "Move active thumb Left" +msgstr "Перемістити активний повзунок вліво" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:242 +msgid "Move active thumb Right" +msgstr "Перемістити активний повзунок вправо" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:243 +msgid "Set left thumb as active" +msgstr "Встановити активним лівий повзунок" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:244 +msgid "Set right thumb as active" +msgstr "Встановити активним правий повзунок" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:246 +msgid "Move active slider thumb Left" +msgstr "Перемістити активний повзунок вліво" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:247 +msgid "Move active slider thumb Right" +msgstr "Перемістити активний повзунок вправо" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:253 +msgid "Horizontal Slider" +msgstr "Горизонтальний повзунок" + +#: src/slic3r/GUI/KBShortcutsDialog.cpp:253 +msgid "" +"The following shortcuts are applicable in G-code preview when the horizontal " +"slider is active" msgstr "" +"Наведені нижче гарячі клавіші застосовуються у перегляді G-коду, коли " +"горизонтальний повзунок активний" -#: src/slic3r/GUI/MainFrame.cpp:283 -msgid "Load a model" +#: src/slic3r/GUI/KBShortcutsDialog.cpp:276 +msgid "Keyboard shortcuts" +msgstr "Гарячі клавіши" + +#: src/slic3r/GUI/MainFrame.cpp:65 src/slic3r/GUI/MainFrame.cpp:79 +#: src/slic3r/GUI/MainFrame.cpp:1191 +msgid "Open a new PrusaSlicer instance" +msgstr "Відкрити новий екземпляр PrusaSlicer" + +#: src/slic3r/GUI/MainFrame.cpp:68 src/slic3r/GUI/MainFrame.cpp:81 +msgid "G-code preview" +msgstr "Перегляд G-коду" + +#: src/slic3r/GUI/MainFrame.cpp:68 src/slic3r/GUI/MainFrame.cpp:1091 +msgid "Open G-code viewer" +msgstr "Відкрити переглядач G-коду" + +#: src/slic3r/GUI/MainFrame.cpp:79 src/slic3r/GUI/MainFrame.cpp:1260 +msgid "Open PrusaSlicer" +msgstr "Відкрити PrusaSlicer" + +#: src/slic3r/GUI/MainFrame.cpp:81 +msgid "Open new G-code viewer" +msgstr "Відкрити новий переглядач G-коду" + +#: src/slic3r/GUI/MainFrame.cpp:153 +msgid "" +"Remember to check for updates at https://github.com/prusa3d/PrusaSlicer/" +"releases" msgstr "" +"Не забудьте перевірити наявність оновлень на https://github.com/prusa3d/" +"PrusaSlicer/releases" -#: src/slic3r/GUI/MainFrame.cpp:286 -msgid "Import &Config" -msgstr "" +#: src/slic3r/GUI/MainFrame.cpp:510 +msgid "based on Slic3r" +msgstr "на основі Slic3r" -#: src/slic3r/GUI/MainFrame.cpp:286 -msgid "Load exported configuration file" -msgstr "Завантажити експортований файл конфігурації" - -#: src/slic3r/GUI/MainFrame.cpp:288 -msgid "Import Config from &project" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:288 -msgid "Load configuration from project file" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:291 -msgid "Import Config &Bundle" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:291 -msgid "Load presets from a bundle" -msgstr "Завантажити налаштування з пакету" - -#: src/slic3r/GUI/MainFrame.cpp:293 -msgid "&Import" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:296 -msgid "Export &G-code" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:296 -msgid "Export current plate as G-code" -msgstr "Експорт поточної пластини як G-код" - -#: src/slic3r/GUI/MainFrame.cpp:299 -msgid "Export plate as &STL" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:299 -msgid "Export current plate as STL" -msgstr "Експорт поточної пластини як STL" - -#: src/slic3r/GUI/MainFrame.cpp:301 -msgid "Export plate as &AMF" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:301 -msgid "Export current plate as AMF" -msgstr "Експорт поточної пластини як AMF" - -#: src/slic3r/GUI/MainFrame.cpp:304 -msgid "Export &Config" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:304 -msgid "Export current configuration to file" -msgstr "Експортувати поточну конфігурацію в файл" - -#: src/slic3r/GUI/MainFrame.cpp:306 -msgid "Export Config &Bundle" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:306 -msgid "Export all presets to file" -msgstr "Експортувати всі налаштування у файл" - -#: src/slic3r/GUI/MainFrame.cpp:308 -msgid "&Export" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:314 -msgid "Quick Slice" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:314 -msgid "Slice a file into a G-code" -msgstr "Нарізати файл у G-код" - -#: src/slic3r/GUI/MainFrame.cpp:320 -msgid "Quick Slice and Save As" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:320 -msgid "Slice a file into a G-code, save as" -msgstr "Нарізати файл у G-код, зберегти як" - -#: src/slic3r/GUI/MainFrame.cpp:326 -msgid "Repeat Last Quick Slice" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:334 -msgid "(Re)Slice &Now" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:334 -msgid "Start new slicing process" -msgstr "Почати новий процес нарізання" - -#: src/slic3r/GUI/MainFrame.cpp:337 -msgid "&Repair STL file" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:337 -msgid "Automatically repair an STL file" -msgstr "Автоматично відновити як STL-файл" - -#: src/slic3r/GUI/MainFrame.cpp:340 -msgid "&Quit" -msgstr "Вихід" - -#: src/slic3r/GUI/MainFrame.cpp:340 -msgid "Quit Slic3r" -msgstr "Вийти зі Slic3r" - -#: src/slic3r/GUI/MainFrame.cpp:374 -msgid "&Select all" -msgstr "Вибрати все" - -#: src/slic3r/GUI/MainFrame.cpp:374 -msgid "Selects all objects" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:377 -msgid "&Delete selected" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:377 -msgid "Deletes the current selection" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:379 -msgid "Delete &all" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:379 -msgid "Deletes all objects" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:392 -msgid "&Plater Tab" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:392 -msgid "Show the plater" -msgstr "Показати plater" - -#: src/slic3r/GUI/MainFrame.cpp:399 -msgid "P&rint Settings Tab" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:399 -msgid "Show the print settings" -msgstr "Показати параметри друку" - -#: src/slic3r/GUI/MainFrame.cpp:401 -msgid "&Filament Settings Tab" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:401 -msgid "Show the filament settings" -msgstr "Показати параметри філаменту" - -#: src/slic3r/GUI/MainFrame.cpp:403 -msgid "Print&er Settings Tab" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:403 -msgid "Show the printer settings" -msgstr "Показати параметри принтеру" - -#: src/slic3r/GUI/MainFrame.cpp:407 -msgid "3&D" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:407 -msgid "Show the 3D editing view" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:409 -msgid "Pre&view" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:409 -msgid "Show the 3D slices preview" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:430 -msgid "Print &Host Upload Queue" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:430 -msgid "Display the Print Host Upload Queue window" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:439 -msgid "Iso" -msgstr "Iso" - -#: src/slic3r/GUI/MainFrame.cpp:439 -msgid "Iso View" -msgstr "Вид Iso" - -#: src/slic3r/GUI/MainFrame.cpp:441 -msgid "Top" -msgstr "Зверху" - -#: src/libslic3r/PrintConfig.cpp:2041 -msgctxt "Layers" -msgid "Top" -msgstr "Верхні" - -#: src/slic3r/GUI/MainFrame.cpp:441 -msgid "Top View" -msgstr "Вид зверху" - -#: src/slic3r/GUI/MainFrame.cpp:442 -msgid "Bottom" -msgstr "Знизу" - -#: src/libslic3r/PrintConfig.cpp:148 -msgctxt "Layers" -msgid "Bottom" -msgstr "Нижні" - -#: src/slic3r/GUI/MainFrame.cpp:442 -msgid "Bottom View" -msgstr "Вид знизу" - -#: src/slic3r/GUI/MainFrame.cpp:443 -msgid "Front" -msgstr "Спереду" - -#: src/slic3r/GUI/MainFrame.cpp:443 -msgid "Front View" -msgstr "Вид спереду" - -#: src/slic3r/GUI/MainFrame.cpp:444 src/libslic3r/PrintConfig.cpp:1561 -msgid "Rear" -msgstr "Ззаду" - -#: src/slic3r/GUI/MainFrame.cpp:444 -msgid "Rear View" -msgstr "Вид ззаду" - -#: src/slic3r/GUI/MainFrame.cpp:445 -msgid "Left" -msgstr "З лівого боку" - -#: src/slic3r/GUI/MainFrame.cpp:445 -msgid "Left View" -msgstr "Вид з лівого боку" - -#: src/slic3r/GUI/MainFrame.cpp:446 -msgid "Right" -msgstr "З правого боку" - -#: src/slic3r/GUI/MainFrame.cpp:446 -msgid "Right View" -msgstr "Вид з правого боку" - -#: src/slic3r/GUI/MainFrame.cpp:460 +#: src/slic3r/GUI/MainFrame.cpp:866 msgid "Prusa 3D &Drivers" -msgstr "" +msgstr "Драйвери Prusa3D" -#: src/slic3r/GUI/MainFrame.cpp:460 +#: src/slic3r/GUI/MainFrame.cpp:866 msgid "Open the Prusa3D drivers download page in your browser" msgstr "Відкрити сторінку завантаження драйверів Prusa3D у своєму браузері" -#: src/slic3r/GUI/MainFrame.cpp:462 -msgid "Prusa Edition &Releases" -msgstr "" +#: src/slic3r/GUI/MainFrame.cpp:868 +msgid "Software &Releases" +msgstr "Релізи ПЗ" -#: src/slic3r/GUI/MainFrame.cpp:462 -msgid "Open the Prusa Edition releases page in your browser" -msgstr "Відкрити сторінку релізів Prusa Edition у своєму браузері" +#: src/slic3r/GUI/MainFrame.cpp:868 +msgid "Open the software releases page in your browser" +msgstr "Відкрити сторінку релізів PrusaEdition у своєму браузері" -#: src/slic3r/GUI/MainFrame.cpp:468 -msgid "Slic3r &Website" -msgstr "Веб-сайт Slic3r" +#: src/slic3r/GUI/MainFrame.cpp:874 +#, c-format +msgid "%s &Website" +msgstr "Веб-сайт %s" -#: src/slic3r/GUI/MainFrame.cpp:468 -msgid "Open the Slic3r website in your browser" -msgstr "Відкрити сторінку Slic3r у своєму браузері" +#: src/slic3r/GUI/MainFrame.cpp:875 +#, c-format +msgid "Open the %s website in your browser" +msgstr "Відкрити сторінку %s у своєму браузері" -#: src/slic3r/GUI/MainFrame.cpp:470 -msgid "Slic3r &Manual" -msgstr "Посібник до Slic3r" - -#: src/slic3r/GUI/MainFrame.cpp:470 -msgid "Open the Slic3r manual in your browser" -msgstr "Відкрити сторінку посібнику до Slic3r у своєму браузері" - -#: src/slic3r/GUI/MainFrame.cpp:473 +#: src/slic3r/GUI/MainFrame.cpp:881 msgid "System &Info" -msgstr "" +msgstr "Інформація про систему" -#: src/slic3r/GUI/MainFrame.cpp:473 +#: src/slic3r/GUI/MainFrame.cpp:881 msgid "Show system information" msgstr "Показати інформацію про систему" -#: src/slic3r/GUI/MainFrame.cpp:475 +#: src/slic3r/GUI/MainFrame.cpp:883 msgid "Show &Configuration Folder" -msgstr "" +msgstr "Показати папку конфігурації" -#: src/slic3r/GUI/MainFrame.cpp:475 +#: src/slic3r/GUI/MainFrame.cpp:883 msgid "Show user configuration folder (datadir)" -msgstr "" +msgstr "Показати папку користувацької конфігурації (datadir)" -#: src/slic3r/GUI/MainFrame.cpp:477 +#: src/slic3r/GUI/MainFrame.cpp:885 msgid "Report an I&ssue" -msgstr "" +msgstr "Повідомити про проблему" -#: src/slic3r/GUI/MainFrame.cpp:477 -msgid "Report an issue on the Slic3r Prusa Edition" -msgstr "Повідомити про проблему на Slic3r Prusa Edition" +#: src/slic3r/GUI/MainFrame.cpp:885 +#, c-format +msgid "Report an issue on %s" +msgstr "Повідомити про проблему на %s" -#: src/slic3r/GUI/MainFrame.cpp:479 -msgid "&About Slic3r" -msgstr "&Про Slic3r" +#: src/slic3r/GUI/MainFrame.cpp:888 src/slic3r/GUI/MainFrame.cpp:891 +#, c-format +msgid "&About %s" +msgstr "О %s" -#: src/slic3r/GUI/MainFrame.cpp:479 +#: src/slic3r/GUI/MainFrame.cpp:888 src/slic3r/GUI/MainFrame.cpp:891 msgid "Show about dialog" msgstr "Показати діалог Про Slic3r" -#: src/slic3r/GUI/MainFrame.cpp:482 -msgid "Keyboard Shortcuts" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:482 +#: src/slic3r/GUI/MainFrame.cpp:894 msgid "Show the list of the keyboard shortcuts" +msgstr "Показати список гарячих клавіш" + +#: src/slic3r/GUI/MainFrame.cpp:908 +msgid "Iso" +msgstr "Iso" + +#: src/slic3r/GUI/MainFrame.cpp:908 +msgid "Iso View" +msgstr "Вид Iso" + +#. TRN To be shown in the main menu View->Top +#. TRN To be shown in Print Settings "Top solid layers" +#: src/slic3r/GUI/MainFrame.cpp:912 src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2369 +msgid "Top" +msgstr "Зверху" + +#: src/slic3r/GUI/MainFrame.cpp:912 +msgid "Top View" +msgstr "Вид зверху" + +#. TRN To be shown in the main menu View->Bottom +#. TRN To be shown in Print Settings "Bottom solid layers" +#. TRN To be shown in Print Settings "Top solid layers" +#: src/slic3r/GUI/MainFrame.cpp:915 src/libslic3r/PrintConfig.cpp:230 +#: src/libslic3r/PrintConfig.cpp:239 +msgid "Bottom" +msgstr "Знизу" + +#: src/slic3r/GUI/MainFrame.cpp:915 +msgid "Bottom View" +msgstr "Вид знизу" + +#: src/slic3r/GUI/MainFrame.cpp:917 +msgid "Front" +msgstr "Спереду" + +#: src/slic3r/GUI/MainFrame.cpp:917 +msgid "Front View" +msgstr "Вид спереду" + +#: src/slic3r/GUI/MainFrame.cpp:919 src/libslic3r/PrintConfig.cpp:1845 +msgid "Rear" +msgstr "Ззаду" + +#: src/slic3r/GUI/MainFrame.cpp:919 +msgid "Rear View" +msgstr "Вид ззаду" + +#: src/slic3r/GUI/MainFrame.cpp:921 +msgid "Left" +msgstr "З лівого боку" + +#: src/slic3r/GUI/MainFrame.cpp:921 +msgid "Left View" +msgstr "Вид з лівого боку" + +#: src/slic3r/GUI/MainFrame.cpp:923 +msgid "Right" +msgstr "З правого боку" + +#: src/slic3r/GUI/MainFrame.cpp:923 +msgid "Right View" +msgstr "Вид з правого боку" + +#: src/slic3r/GUI/MainFrame.cpp:936 +msgid "&New Project" +msgstr "Новий проект" + +#: src/slic3r/GUI/MainFrame.cpp:936 +msgid "Start a new project" +msgstr "Почати новий проект" + +#: src/slic3r/GUI/MainFrame.cpp:939 +msgid "&Open Project" +msgstr "Відкрити проект" + +#: src/slic3r/GUI/MainFrame.cpp:939 +msgid "Open a project file" +msgstr "Відкрити файл проекту" + +#: src/slic3r/GUI/MainFrame.cpp:944 +msgid "Recent projects" +msgstr "Останні проекти" + +#: src/slic3r/GUI/MainFrame.cpp:953 +msgid "" +"The selected project is no longer available.\n" +"Do you want to remove it from the recent projects list?" msgstr "" +"Вибраний проект більше не доступний.\n" +"Видалити його зі списку останніх проектів?" -#: src/slic3r/GUI/MainFrame.cpp:490 -msgid "&File" -msgstr "Файл" - -#: src/slic3r/GUI/MainFrame.cpp:491 -msgid "&Edit" -msgstr "" - -#: src/slic3r/GUI/MainFrame.cpp:492 -msgid "&Window" -msgstr "Вікно" - -#: src/slic3r/GUI/MainFrame.cpp:493 -msgid "&View" -msgstr "Вид" - -#: src/slic3r/GUI/MainFrame.cpp:496 -msgid "&Help" -msgstr "Допомога" - -#: src/slic3r/GUI/MainFrame.cpp:524 -msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" -msgstr "Вибрати файл для нарізання (STL/OBJ/AMF/3MF/PRUSA):" - -#: src/slic3r/GUI/MainFrame.cpp:538 -msgid "No previously sliced file." -msgstr "Немає попередньо нарізаного файлу." - -#: src/slic3r/GUI/MainFrame.cpp:539 src/slic3r/GUI/PrintHostDialogs.cpp:219 +#: src/slic3r/GUI/MainFrame.cpp:953 src/slic3r/GUI/MainFrame.cpp:1343 +#: src/slic3r/GUI/PrintHostDialogs.cpp:263 msgid "Error" msgstr "Помилка" -#: src/slic3r/GUI/MainFrame.cpp:544 +#: src/slic3r/GUI/MainFrame.cpp:978 +msgid "&Save Project" +msgstr "Зберегти проект" + +#: src/slic3r/GUI/MainFrame.cpp:978 +msgid "Save current project file" +msgstr "Зберегти файл поточного проекту" + +#: src/slic3r/GUI/MainFrame.cpp:982 src/slic3r/GUI/MainFrame.cpp:984 +msgid "Save Project &as" +msgstr "Зберегти проект як" + +#: src/slic3r/GUI/MainFrame.cpp:982 src/slic3r/GUI/MainFrame.cpp:984 +msgid "Save current project file as" +msgstr "Зберегти файл поточного проекту як" + +#: src/slic3r/GUI/MainFrame.cpp:992 +msgid "Import STL/OBJ/AM&F/3MF" +msgstr "Імпорт STL/OBJ/AMF/3MF" + +#: src/slic3r/GUI/MainFrame.cpp:992 +msgid "Load a model" +msgstr "Завантажити модель" + +#: src/slic3r/GUI/MainFrame.cpp:996 +msgid "Import STL (imperial units)" +msgstr "Імпорт SТL (в імперських одиницях)" + +#: src/slic3r/GUI/MainFrame.cpp:996 +msgid "Load an model saved with imperial units" +msgstr "Завантажити модель, збережену в імперських одиницях" + +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Import SL1 archive" +msgstr "Імпорт SL1-архіву" + +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Load an SL1 archive" +msgstr "Завантажити SL1-архів" + +#: src/slic3r/GUI/MainFrame.cpp:1005 +msgid "Import &Config" +msgstr "Імпорт конфігурації" + +#: src/slic3r/GUI/MainFrame.cpp:1005 +msgid "Load exported configuration file" +msgstr "Завантажити експортований файл конфігурації" + +#: src/slic3r/GUI/MainFrame.cpp:1008 +msgid "Import Config from &project" +msgstr "Імпорт конфігурації з проекту" + +#: src/slic3r/GUI/MainFrame.cpp:1008 +msgid "Load configuration from project file" +msgstr "Завантажити конфігурацію з файлу проекту" + +#: src/slic3r/GUI/MainFrame.cpp:1012 +msgid "Import Config &Bundle" +msgstr "Імпорт пакету конфігурацій" + +#: src/slic3r/GUI/MainFrame.cpp:1012 +msgid "Load presets from a bundle" +msgstr "Завантажити налаштування з пакету" + +#: src/slic3r/GUI/MainFrame.cpp:1015 +msgid "&Import" +msgstr "Імпорт" + +#: src/slic3r/GUI/MainFrame.cpp:1018 src/slic3r/GUI/MainFrame.cpp:1305 +msgid "Export &G-code" +msgstr "Експортувати G-код" + +#: src/slic3r/GUI/MainFrame.cpp:1018 +msgid "Export current plate as G-code" +msgstr "Експорт поточної пластини як G-код" + +#: src/slic3r/GUI/MainFrame.cpp:1022 src/slic3r/GUI/MainFrame.cpp:1306 +msgid "S&end G-code" +msgstr "Надіслати G-код" + +#: src/slic3r/GUI/MainFrame.cpp:1022 +msgid "Send to print current plate as G-code" +msgstr "Надіслати на принтер поточний стіл як G-код" + +#: src/slic3r/GUI/MainFrame.cpp:1026 +msgid "Export G-code to SD card / Flash drive" +msgstr "Експорт G-коду на SD-карту / Флешку" + +#: src/slic3r/GUI/MainFrame.cpp:1026 +msgid "Export current plate as G-code to SD card / Flash drive" +msgstr "Експорт поточного столу як G-код на SD-карту / Флешку" + +#: src/slic3r/GUI/MainFrame.cpp:1030 +msgid "Export plate as &STL" +msgstr "Експорт столу як STL" + +#: src/slic3r/GUI/MainFrame.cpp:1030 +msgid "Export current plate as STL" +msgstr "Експорт поточної пластини як STL" + +#: src/slic3r/GUI/MainFrame.cpp:1033 +msgid "Export plate as STL &including supports" +msgstr "Експорт столу як STL, включаючи підтримку" + +#: src/slic3r/GUI/MainFrame.cpp:1033 +msgid "Export current plate as STL including supports" +msgstr "Експорт поточного столу як STL, включаючи підтримку" + +#: src/slic3r/GUI/MainFrame.cpp:1036 +msgid "Export plate as &AMF" +msgstr "Експорт столу як AMF" + +#: src/slic3r/GUI/MainFrame.cpp:1036 +msgid "Export current plate as AMF" +msgstr "Експорт поточної пластини як AMF" + +#: src/slic3r/GUI/MainFrame.cpp:1040 src/slic3r/GUI/MainFrame.cpp:1257 +msgid "Export &toolpaths as OBJ" +msgstr "Експорт шляхів інструментів як OBJ" + +#: src/slic3r/GUI/MainFrame.cpp:1040 src/slic3r/GUI/MainFrame.cpp:1257 +msgid "Export toolpaths as OBJ" +msgstr "Експорт шляхів інструментів як OBJ" + +#: src/slic3r/GUI/MainFrame.cpp:1044 +msgid "Export &Config" +msgstr "Експортувати конфігурацію" + +#: src/slic3r/GUI/MainFrame.cpp:1044 +msgid "Export current configuration to file" +msgstr "Експортувати поточну конфігурацію в файл" + +#: src/slic3r/GUI/MainFrame.cpp:1047 +msgid "Export Config &Bundle" +msgstr "Експортувати пакет конфігурації" + +#: src/slic3r/GUI/MainFrame.cpp:1047 +msgid "Export all presets to file" +msgstr "Експортувати всі налаштування у файл" + +#: src/slic3r/GUI/MainFrame.cpp:1050 +msgid "Export Config Bundle With Physical Printers" +msgstr "Експортувати пакет конфігурації, включаючи фізичні принтери" + +#: src/slic3r/GUI/MainFrame.cpp:1050 +msgid "Export all presets including physical printers to file" +msgstr "Експортуйте всі пресети, включаючи фізичні принтери, у файл" + +#: src/slic3r/GUI/MainFrame.cpp:1053 +msgid "&Export" +msgstr "Експорт" + +#: src/slic3r/GUI/MainFrame.cpp:1055 +msgid "Ejec&t SD card / Flash drive" +msgstr "Від'єднати SD-карту/флешку" + +#: src/slic3r/GUI/MainFrame.cpp:1055 +msgid "Eject SD card / Flash drive after the G-code was exported to it." +msgstr "" +"Від'єднати SD-карту / Флешку після того, як на неї був експортований G-код." + +#: src/slic3r/GUI/MainFrame.cpp:1063 +msgid "Quick Slice" +msgstr "Швидке нарізання" + +#: src/slic3r/GUI/MainFrame.cpp:1063 +msgid "Slice a file into a G-code" +msgstr "Нарізати файл у G-код" + +#: src/slic3r/GUI/MainFrame.cpp:1069 +msgid "Quick Slice and Save As" +msgstr "Швидко нарізати та зберегти як" + +#: src/slic3r/GUI/MainFrame.cpp:1069 +msgid "Slice a file into a G-code, save as" +msgstr "Нарізати файл у G-код, зберегти як" + +#: src/slic3r/GUI/MainFrame.cpp:1075 +msgid "Repeat Last Quick Slice" +msgstr "Повторити останнє швидке нарізання" + +#: src/slic3r/GUI/MainFrame.cpp:1075 +msgid "Repeat last quick slice" +msgstr "Повторити останнє швидке нарізання" + +#: src/slic3r/GUI/MainFrame.cpp:1083 +msgid "(Re)Slice No&w" +msgstr "(Пере)Нарізати зараз" + +#: src/slic3r/GUI/MainFrame.cpp:1083 +msgid "Start new slicing process" +msgstr "Почати новий процес нарізання" + +#: src/slic3r/GUI/MainFrame.cpp:1087 +msgid "&Repair STL file" +msgstr "Відновити STL-файл" + +#: src/slic3r/GUI/MainFrame.cpp:1087 +msgid "Automatically repair an STL file" +msgstr "Автоматично відновити як STL-файл" + +#: src/slic3r/GUI/MainFrame.cpp:1091 +msgid "&G-code preview" +msgstr "Перегляд G-коду" + +#: src/slic3r/GUI/MainFrame.cpp:1094 src/slic3r/GUI/MainFrame.cpp:1264 +msgid "&Quit" +msgstr "Вихід" + +#: src/slic3r/GUI/MainFrame.cpp:1094 src/slic3r/GUI/MainFrame.cpp:1264 +#, c-format +msgid "Quit %s" +msgstr "Вийти з %s" + +#: src/slic3r/GUI/MainFrame.cpp:1109 +msgid "&Select all" +msgstr "Вибрати все" + +#: src/slic3r/GUI/MainFrame.cpp:1110 +msgid "Selects all objects" +msgstr "Видалити всі об'єкти" + +#: src/slic3r/GUI/MainFrame.cpp:1112 +msgid "D&eselect all" +msgstr "Скасувати вибір усіх" + +#: src/slic3r/GUI/MainFrame.cpp:1113 +msgid "Deselects all objects" +msgstr "Скасовує вибір усіх об’єктів" + +#: src/slic3r/GUI/MainFrame.cpp:1116 +msgid "&Delete selected" +msgstr "Видалити вибране" + +#: src/slic3r/GUI/MainFrame.cpp:1117 +msgid "Deletes the current selection" +msgstr "Видаляє поточний вибір" + +#: src/slic3r/GUI/MainFrame.cpp:1119 +msgid "Delete &all" +msgstr "Видалити все" + +#: src/slic3r/GUI/MainFrame.cpp:1120 +msgid "Deletes all objects" +msgstr "Видалити всі об'єкти" + +#: src/slic3r/GUI/MainFrame.cpp:1124 +msgid "&Undo" +msgstr "Відмінити" + +#: src/slic3r/GUI/MainFrame.cpp:1127 +msgid "&Redo" +msgstr "Повторити" + +#: src/slic3r/GUI/MainFrame.cpp:1132 +msgid "&Copy" +msgstr "Копіювати" + +#: src/slic3r/GUI/MainFrame.cpp:1133 +msgid "Copy selection to clipboard" +msgstr "Скопіювати вибране в буфер обміну" + +#: src/slic3r/GUI/MainFrame.cpp:1135 +msgid "&Paste" +msgstr "Вставити" + +#: src/slic3r/GUI/MainFrame.cpp:1136 +msgid "Paste clipboard" +msgstr "Вставити буфер обміну" + +#: src/slic3r/GUI/MainFrame.cpp:1141 src/slic3r/GUI/MainFrame.cpp:1145 +#: src/slic3r/GUI/MainFrame.cpp:1248 src/slic3r/GUI/MainFrame.cpp:1252 +msgid "Re&load from disk" +msgstr "Перезавантажити з диска" + +#: src/slic3r/GUI/MainFrame.cpp:1151 +msgid "Searc&h" +msgstr "Пошук" + +#: src/slic3r/GUI/MainFrame.cpp:1152 +msgid "Search in settings" +msgstr "Шукайте в налаштуваннях" + +#: src/slic3r/GUI/MainFrame.cpp:1160 +msgid "&Plater Tab" +msgstr "Вкладка Платер" + +#: src/slic3r/GUI/MainFrame.cpp:1160 +msgid "Show the plater" +msgstr "Показати plater" + +#: src/slic3r/GUI/MainFrame.cpp:1165 +msgid "P&rint Settings Tab" +msgstr "Вкладка параметрів друку" + +#: src/slic3r/GUI/MainFrame.cpp:1165 +msgid "Show the print settings" +msgstr "Показати параметри друку" + +#: src/slic3r/GUI/MainFrame.cpp:1168 src/slic3r/GUI/MainFrame.cpp:1308 +msgid "&Filament Settings Tab" +msgstr "Вкладка параметрів філаменту" + +#: src/slic3r/GUI/MainFrame.cpp:1168 +msgid "Show the filament settings" +msgstr "Показати параметри філаменту" + +#: src/slic3r/GUI/MainFrame.cpp:1172 +msgid "Print&er Settings Tab" +msgstr "Вкладка параметрів принтеру" + +#: src/slic3r/GUI/MainFrame.cpp:1172 +msgid "Show the printer settings" +msgstr "Показати параметри принтеру" + +#: src/slic3r/GUI/MainFrame.cpp:1178 +msgid "3&D" +msgstr "3&D" + +#: src/slic3r/GUI/MainFrame.cpp:1178 +msgid "Show the 3D editing view" +msgstr "Показати режим 3D-редагування" + +#: src/slic3r/GUI/MainFrame.cpp:1181 +msgid "Pre&view" +msgstr "Попередній перегляд" + +#: src/slic3r/GUI/MainFrame.cpp:1181 +msgid "Show the 3D slices preview" +msgstr "Показати попередній перегляд 3D нарізки" + +#: src/slic3r/GUI/MainFrame.cpp:1187 +msgid "Print &Host Upload Queue" +msgstr "Черга завантаження хоста друку" + +#: src/slic3r/GUI/MainFrame.cpp:1187 +msgid "Display the Print Host Upload Queue window" +msgstr "Показати вікна черги завантаження хоста друку" + +#: src/slic3r/GUI/MainFrame.cpp:1201 +msgid "Show &labels" +msgstr "Показувати мітки" + +#: src/slic3r/GUI/MainFrame.cpp:1201 +msgid "Show object/instance labels in 3D scene" +msgstr "Показувати мітки об’єктів/екземплярів у 3D-сцені" + +#: src/slic3r/GUI/MainFrame.cpp:1204 +msgid "&Collapse sidebar" +msgstr "Згорнути бічну панель" + +#: src/slic3r/GUI/MainFrame.cpp:1204 src/slic3r/GUI/Plater.cpp:2247 +msgid "Collapse sidebar" +msgstr "Згорнути бічну панель" + +#: src/slic3r/GUI/MainFrame.cpp:1216 src/slic3r/GUI/MainFrame.cpp:1279 +msgid "&File" +msgstr "Файл" + +#: src/slic3r/GUI/MainFrame.cpp:1217 +msgid "&Edit" +msgstr "&Редагування" + +#: src/slic3r/GUI/MainFrame.cpp:1218 +msgid "&Window" +msgstr "Вікно" + +#: src/slic3r/GUI/MainFrame.cpp:1219 src/slic3r/GUI/MainFrame.cpp:1280 +msgid "&View" +msgstr "Вид" + +#: src/slic3r/GUI/MainFrame.cpp:1222 src/slic3r/GUI/MainFrame.cpp:1283 +msgid "&Help" +msgstr "Допомога" + +#: src/slic3r/GUI/MainFrame.cpp:1244 +msgid "&Open G-code" +msgstr "Відкрити G-код" + +#: src/slic3r/GUI/MainFrame.cpp:1260 +msgid "Open &PrusaSlicer" +msgstr "Відкрити PrusaSlicer" + +#: src/slic3r/GUI/MainFrame.cpp:1305 +msgid "E&xport" +msgstr "Експорт" + +#: src/slic3r/GUI/MainFrame.cpp:1306 +msgid "S&end to print" +msgstr "Надіслати на принтер" + +#: src/slic3r/GUI/MainFrame.cpp:1308 +msgid "Mate&rial Settings Tab" +msgstr "Вкладка параметрів матеріалу" + +#: src/slic3r/GUI/MainFrame.cpp:1331 +msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" +msgstr "Вибрати файл для нарізання (STL/OBJ/AMF/3MF/PRUSA):" + +#: src/slic3r/GUI/MainFrame.cpp:1342 +msgid "No previously sliced file." +msgstr "Немає попередньо нарізаного файлу." + +#: src/slic3r/GUI/MainFrame.cpp:1348 msgid "Previously sliced file (" msgstr "Попередньо нарізаний файл (" -#: src/slic3r/GUI/MainFrame.cpp:544 +#: src/slic3r/GUI/MainFrame.cpp:1348 msgid ") not found." msgstr ") не знайдено." -#: src/slic3r/GUI/MainFrame.cpp:545 +#: src/slic3r/GUI/MainFrame.cpp:1349 msgid "File Not Found" msgstr "Файл не знайдено" -#: src/slic3r/GUI/MainFrame.cpp:580 src/slic3r/GUI/Tab.cpp:3152 -msgid "Save " -msgstr "Зберегти " +#: src/slic3r/GUI/MainFrame.cpp:1384 +#, c-format +msgid "Save %s file as:" +msgstr "Зберегти файл %s як:" -#: src/slic3r/GUI/MainFrame.cpp:580 +#: src/slic3r/GUI/MainFrame.cpp:1384 msgid "SVG" -msgstr "" +msgstr "SVG" -#: src/slic3r/GUI/MainFrame.cpp:580 +#: src/slic3r/GUI/MainFrame.cpp:1384 msgid "G-code" msgstr "G-код" -#: src/slic3r/GUI/MainFrame.cpp:580 -msgid " file as:" -msgstr " файл як:" - -#: src/slic3r/GUI/MainFrame.cpp:595 +#: src/slic3r/GUI/MainFrame.cpp:1396 msgid "Save zip file as:" -msgstr "" +msgstr "Зберегти zip-файл як:" -#: src/slic3r/GUI/MainFrame.cpp:607 src/slic3r/GUI/Plater.cpp:2352 -#: src/slic3r/GUI/Plater.cpp:3467 src/slic3r/GUI/Tab.cpp:1110 -#: src/slic3r/GUI/Tab.cpp:3348 +#: src/slic3r/GUI/MainFrame.cpp:1405 src/slic3r/GUI/Plater.cpp:3009 +#: src/slic3r/GUI/Plater.cpp:5581 src/slic3r/GUI/Tab.cpp:1575 +#: src/slic3r/GUI/Tab.cpp:4115 msgid "Slicing" -msgstr "" +msgstr "Нарізання" -#: src/slic3r/GUI/MainFrame.cpp:607 -msgid "Processing " -msgstr "Обробка " +#. TRN "Processing input_file_basename" +#: src/slic3r/GUI/MainFrame.cpp:1407 +#, c-format +msgid "Processing %s" +msgstr "Обробка %s" -#: src/slic3r/GUI/MainFrame.cpp:630 -msgid " was successfully sliced." -msgstr " був успішно нарізаний." +#: src/slic3r/GUI/MainFrame.cpp:1430 +msgid "%1% was successfully sliced." +msgstr "%1% був успішно нарізаний." -#: src/slic3r/GUI/MainFrame.cpp:632 +#: src/slic3r/GUI/MainFrame.cpp:1432 msgid "Slicing Done!" msgstr "Нарізання завершено!" -#: src/slic3r/GUI/MainFrame.cpp:647 +#: src/slic3r/GUI/MainFrame.cpp:1447 msgid "Select the STL file to repair:" msgstr "Вибрати STL-файл для відновлення:" -#: src/slic3r/GUI/MainFrame.cpp:661 +#: src/slic3r/GUI/MainFrame.cpp:1457 msgid "Save OBJ file (less prone to coordinate errors than STL) as:" msgstr "Зберегти OBJ-файл (менш схильний координувати помилки, ніж STL) як:" -#: src/slic3r/GUI/MainFrame.cpp:676 +#: src/slic3r/GUI/MainFrame.cpp:1469 msgid "Your file was repaired." msgstr "Ваш файл було відновлено." -#: src/slic3r/GUI/MainFrame.cpp:676 src/libslic3r/PrintConfig.cpp:3051 +#: src/slic3r/GUI/MainFrame.cpp:1469 src/libslic3r/PrintConfig.cpp:3735 msgid "Repair" msgstr "Відновити" -#: src/slic3r/GUI/MainFrame.cpp:690 +#: src/slic3r/GUI/MainFrame.cpp:1483 msgid "Save configuration as:" msgstr "Зберегти конфігурацію як:" -#: src/slic3r/GUI/MainFrame.cpp:710 src/slic3r/GUI/MainFrame.cpp:774 +#: src/slic3r/GUI/MainFrame.cpp:1502 src/slic3r/GUI/MainFrame.cpp:1564 msgid "Select configuration to load:" msgstr "Вибрати конфігурацію для завантаження:" -#: src/slic3r/GUI/MainFrame.cpp:747 +#: src/slic3r/GUI/MainFrame.cpp:1538 msgid "Save presets bundle as:" msgstr "Зберегти набір налаштувань як:" -#: src/slic3r/GUI/MainFrame.cpp:798 +#: src/slic3r/GUI/MainFrame.cpp:1585 #, c-format msgid "%d presets successfully imported." msgstr "%d налаштувань успішно імпортовано." -#: src/slic3r/GUI/MsgDialog.cpp:71 -msgid "Slic3r error" -msgstr "" +#: src/slic3r/GUI/Mouse3DController.cpp:461 +msgid "3Dconnexion settings" +msgstr "Параметри 3Dconnexion" + +#: src/slic3r/GUI/Mouse3DController.cpp:472 +msgid "Device:" +msgstr "Пристрій:" + +#: src/slic3r/GUI/Mouse3DController.cpp:477 +msgid "Speed:" +msgstr "Швидкість:" + +#: src/slic3r/GUI/Mouse3DController.cpp:480 +#: src/slic3r/GUI/Mouse3DController.cpp:501 +msgid "Translation" +msgstr "Переміщення" + +#: src/slic3r/GUI/Mouse3DController.cpp:492 +#: src/slic3r/GUI/Mouse3DController.cpp:501 +msgid "Zoom" +msgstr "Масштабування" + +#: src/slic3r/GUI/Mouse3DController.cpp:498 +msgid "Deadzone:" +msgstr "Мертва зона:" + +#: src/slic3r/GUI/Mouse3DController.cpp:513 +msgid "Options:" +msgstr "Параметри:" + +#: src/slic3r/GUI/Mouse3DController.cpp:516 +msgid "Swap Y/Z axes" +msgstr "Поміняти місцями осі Y/Z" + +#: src/slic3r/GUI/MsgDialog.cpp:70 +#, c-format +msgid "%s error" +msgstr "помилка %s" #: src/slic3r/GUI/MsgDialog.cpp:71 -msgid "Slic3r has encountered an error" -msgstr "" +#, c-format +msgid "%s has encountered an error" +msgstr "%s виявив помилку" -#: src/slic3r/GUI/Plater.cpp:137 +#: src/slic3r/GUI/NotificationManager.hpp:471 +msgid "3D Mouse disconnected." +msgstr "3D миша відключена." + +#: src/slic3r/GUI/NotificationManager.hpp:474 +msgid "Configuration update is available." +msgstr "Доступне оновлення конфігурації." + +#: src/slic3r/GUI/NotificationManager.hpp:474 +msgid "See more." +msgstr "Див. докладніше." + +#: src/slic3r/GUI/NotificationManager.hpp:476 +msgid "New version is available." +msgstr "Доступна нова версія." + +#: src/slic3r/GUI/NotificationManager.hpp:476 +msgid "See Releases page." +msgstr "Див. Сторінку випусків." + +#: src/slic3r/GUI/NotificationManager.hpp:479 +msgid "" +"You have just added a G-code for color change, but its value is empty.\n" +"To export the G-code correctly, check the \"Color Change G-code\" in " +"\"Printer Settings > Custom G-code\"" +msgstr "" +"Ви щойно додали G-код для зміни кольору, але його значення порожнє.\n" +"Щоб правильно експортувати G-код, перевірте значення параметру «G-коду зміни " +"кольору» в «Параметри принтера > Користувацький G-код»" + +#: src/slic3r/GUI/NotificationManager.cpp:490 +#: src/slic3r/GUI/NotificationManager.cpp:500 +msgid "More" +msgstr "Більше" + +#: src/slic3r/GUI/NotificationManager.cpp:864 +#: src/slic3r/GUI/NotificationManager.cpp:1141 +msgid "Export G-Code." +msgstr "Експортувати G-код." + +#: src/slic3r/GUI/NotificationManager.cpp:908 +msgid "Open Folder." +msgstr "Відкрити папку." + +#: src/slic3r/GUI/NotificationManager.cpp:946 +msgid "Eject drive" +msgstr "Від'єднати диск" + +#: src/slic3r/GUI/NotificationManager.cpp:1060 +#: src/slic3r/GUI/NotificationManager.cpp:1076 +#: src/slic3r/GUI/NotificationManager.cpp:1087 +msgid "ERROR:" +msgstr "ПОМИЛКА:" + +#: src/slic3r/GUI/NotificationManager.cpp:1065 +#: src/slic3r/GUI/NotificationManager.cpp:1080 +#: src/slic3r/GUI/NotificationManager.cpp:1095 +msgid "WARNING:" +msgstr "ЗАСТЕРЕЖЕННЯ:" + +#: src/slic3r/GUI/NotificationManager.cpp:1144 +msgid "Slicing finished." +msgstr "Нарізання завершено." + +#: src/slic3r/GUI/NotificationManager.cpp:1186 +msgid "Exporting finished." +msgstr "Експорт завершено." + +#: src/slic3r/GUI/ObjectDataViewModel.cpp:58 +msgid "Instances" +msgstr "Екземпляри" + +#: src/slic3r/GUI/ObjectDataViewModel.cpp:62 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:225 +#, c-format +msgid "Instance %d" +msgstr "Екземпляр %d" + +#: src/slic3r/GUI/ObjectDataViewModel.cpp:69 src/slic3r/GUI/Tab.cpp:3962 +#: src/slic3r/GUI/Tab.cpp:4044 +msgid "Layers" +msgstr "Шари" + +#: src/slic3r/GUI/ObjectDataViewModel.cpp:96 +msgid "Range" +msgstr "Діапазон" + +#: src/slic3r/GUI/OpenGLManager.cpp:259 +#, c-format +msgid "" +"PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" +"while OpenGL version %s, render %s, vendor %s was detected." +msgstr "" +"PrusaSlicer вимагає, щоб графічний драйвер, що підтримує OpenGL 2.0, " +"працював правильно,\n" +"але було виявлено OpenGL версії %s, відтворення %s, постачальника %s." + +#: src/slic3r/GUI/OpenGLManager.cpp:262 +msgid "You may need to update your graphics card driver." +msgstr "Можливо, вам доведеться оновити драйвер відеокарти." + +#: src/slic3r/GUI/OpenGLManager.cpp:265 +msgid "" +"As a workaround, you may run PrusaSlicer with a software rendered 3D " +"graphics by running prusa-slicer.exe with the --sw_renderer parameter." +msgstr "" +"Як спосіб вирішення, ви можете запустити PrusaSlicer з програмним " +"забезпеченням, що рендерить 3D-графіку, за допомогою старту prusa-slicer.exe " +"з параметром --sw_renderer." + +#: src/slic3r/GUI/OpenGLManager.cpp:267 +msgid "Unsupported OpenGL version" +msgstr "Непідтримувана версія OpenGL" + +#: src/slic3r/GUI/OpenGLManager.cpp:275 +#, c-format +msgid "" +"Unable to load the following shaders:\n" +"%s" +msgstr "" +"Не вдається завантажити такі шейдери:\n" +"%s" + +#: src/slic3r/GUI/OpenGLManager.cpp:276 +msgid "Error loading shaders" +msgstr "Помилка завантаження шейдерів" + +#: src/slic3r/GUI/OptionsGroup.cpp:335 +msgctxt "Layers" +msgid "Top" +msgstr "Верхні" + +#: src/slic3r/GUI/OptionsGroup.cpp:335 +msgctxt "Layers" +msgid "Bottom" +msgstr "Нижні" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:51 +msgid "Delete this preset from this printer device" +msgstr "Видаліть цей пресет з цього принтера" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:81 +msgid "This printer will be shown in the presets list as" +msgstr "Цей принтер буде відображатися у списку пресетів як" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:155 +msgid "Physical Printer" +msgstr "Фізичний принтер" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:161 +msgid "Type here the name of your printer device" +msgstr "Введіть тут назву вашого принтера" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:172 +msgid "Descriptive name for the printer" +msgstr "Описова назва принтера" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:176 +msgid "Add preset for this printer device" +msgstr "Додати пресет для цього пристрою принтера" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:205 src/slic3r/GUI/Tab.cpp:2064 +msgid "Print Host upload" +msgstr "Завантаження хоста друку" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:260 +msgid "Connection to printers connected via the print host failed." +msgstr "Помилка підключення до принтерів, підключених через хост друку." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:302 +msgid "Test" +msgstr "Перевірити" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:307 +msgid "Could not get a valid Printer Host reference" +msgstr "Не вдалося отримати дійсне посилання на хост принтера" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:319 +msgid "Success!" +msgstr "Успіх!" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:329 +msgid "Refresh Printers" +msgstr "Оновити принтери" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:356 +msgid "" +"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" +"signed certificate." +msgstr "" +"Файл HTTPS CA не є обов'язковим. Це потрібно, лише якщо ви використовуєте " +"HTTPS із самопідписаним сертифікатом." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:366 +msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" +msgstr "Файли сертифікатів (*.crt, *.pem)|*.crt;*.pem|Усі файли|*.*" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:367 +msgid "Open CA certificate file" +msgstr "Відкрити файл CA сертифікату" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:395 +#: src/libslic3r/PrintConfig.cpp:124 +msgid "HTTPS CA File" +msgstr "Файл CA сертифікату" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:396 +#, c-format +msgid "" +"On this system, %s uses HTTPS certificates from the system Certificate Store " +"or Keychain." +msgstr "" +"На цій системі, %s використовує HTTPS-сертифікати з системного сховища " +"сертифікатів або Keychain." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:397 +msgid "" +"To use a custom CA file, please import your CA file into Certificate Store / " +"Keychain." +msgstr "" +"Щоб використовувати власний CA файл, будь-ласка, імпортуйте його у сховища " +"сертифікатів / Keychain." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:543 +msgid "The supplied name is empty. It can't be saved." +msgstr "Надане ім'я порожнє. Не вдається зберегти." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:547 +msgid "You should to change a name of your printer device. It can't be saved." +msgstr "Вам слід змінити назву принтера. Задану назву неможливо зберегти." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:555 +msgid "Printer with name \"%1%\" already exists." +msgstr "Принтер з ім'ям \"%1%\" вже існує." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:556 +msgid "Replace?" +msgstr "Замінити?" + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:579 +msgid "" +"Following printer preset(s) is duplicated:%1%The above preset for printer " +"\"%2%\" will be used just once." +msgstr "" +"Наступні пресети принтера повторюються:%1%Вищезазначений пресет принтера " +"\"%2%\" буде використано лише один раз." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:625 +msgid "It's not possible to delete the last related preset for the printer." +msgstr "Неможливо видалити останній пресет для принтера." + +#: src/slic3r/GUI/Plater.cpp:163 msgid "Volume" msgstr "Обсяг" -#: src/slic3r/GUI/Plater.cpp:138 +#: src/slic3r/GUI/Plater.cpp:164 msgid "Facets" msgstr "Грані" -#: src/slic3r/GUI/Plater.cpp:139 +#: src/slic3r/GUI/Plater.cpp:165 msgid "Materials" msgstr "Матеріали" -#: src/slic3r/GUI/Plater.cpp:142 +#: src/slic3r/GUI/Plater.cpp:168 msgid "Manifold" msgstr "Різноманіття" -#: src/slic3r/GUI/Plater.cpp:188 +#: src/slic3r/GUI/Plater.cpp:218 msgid "Sliced Info" msgstr "Інформація з нарізання" -#: src/slic3r/GUI/Plater.cpp:207 src/slic3r/GUI/Plater.cpp:998 +#: src/slic3r/GUI/Plater.cpp:237 src/slic3r/GUI/Plater.cpp:1151 msgid "Used Filament (m)" msgstr "Використано філаметну (м)" -#: src/slic3r/GUI/Plater.cpp:208 +#: src/slic3r/GUI/Plater.cpp:238 src/slic3r/GUI/Plater.cpp:1163 msgid "Used Filament (mm³)" msgstr "Використано філаметну (мм³)" -#: src/slic3r/GUI/Plater.cpp:209 +#: src/slic3r/GUI/Plater.cpp:239 src/slic3r/GUI/Plater.cpp:1170 msgid "Used Filament (g)" msgstr "Використано філаметну (г)" -#: src/slic3r/GUI/Plater.cpp:210 +#: src/slic3r/GUI/Plater.cpp:240 msgid "Used Material (unit)" -msgstr "" +msgstr "Використано матеріалу (одиниць)" -#: src/slic3r/GUI/Plater.cpp:211 src/slic3r/GUI/Plater.cpp:1013 -#: src/libslic3r/PrintConfig.cpp:716 -msgid "Cost" -msgstr "Вартість" +#: src/slic3r/GUI/Plater.cpp:241 +msgid "Cost (money)" +msgstr "Вартість (г.о.)" -#: src/slic3r/GUI/Plater.cpp:212 src/slic3r/GUI/Plater.cpp:985 -#: src/slic3r/GUI/Plater.cpp:1027 -msgid "Estimated printing time" -msgstr "Приблизний час друку" - -#: src/slic3r/GUI/Plater.cpp:213 +#: src/slic3r/GUI/Plater.cpp:243 msgid "Number of tool changes" -msgstr "" +msgstr "Кількість змін інструменту" -#: src/slic3r/GUI/Plater.cpp:290 -msgid "Click to edit preset" -msgstr "" - -#: src/slic3r/GUI/Plater.cpp:413 +#: src/slic3r/GUI/Plater.cpp:360 msgid "Select what kind of support do you need" -msgstr "" +msgstr "Виберіть необхідну вам підтримку" -#: src/slic3r/GUI/Plater.cpp:415 src/libslic3r/PrintConfig.cpp:1814 -#: src/libslic3r/PrintConfig.cpp:2419 +#: src/slic3r/GUI/Plater.cpp:362 src/libslic3r/PrintConfig.cpp:2128 +#: src/libslic3r/PrintConfig.cpp:2923 msgid "Support on build plate only" -msgstr "Підтримка тільки на збірній пластині" +msgstr "Підтримки тільки на столі" -#: src/slic3r/GUI/Plater.cpp:416 +#: src/slic3r/GUI/Plater.cpp:363 src/slic3r/GUI/Plater.cpp:489 +msgid "For support enforcers only" +msgstr "Тільки примусові підтримки" + +#: src/slic3r/GUI/Plater.cpp:364 msgid "Everywhere" -msgstr "" +msgstr "Всюди" -#: src/slic3r/GUI/Plater.cpp:438 src/slic3r/GUI/Tab.cpp:1007 +#: src/slic3r/GUI/Plater.cpp:396 src/slic3r/GUI/Tab.cpp:1469 msgid "Brim" msgstr "Край" -#: src/slic3r/GUI/Plater.cpp:440 +#: src/slic3r/GUI/Plater.cpp:398 msgid "" "This flag enables the brim that will be printed around each object on the " "first layer." msgstr "" +"Цей прапорець дозволяє позначити край, який буде надруковано навколо кожного " +"об'єкта на першому шарі." -#: src/slic3r/GUI/Plater.cpp:448 +#: src/slic3r/GUI/Plater.cpp:406 msgid "Purging volumes" -msgstr "" +msgstr "Обсяги очищення" -#: src/slic3r/GUI/Plater.cpp:673 -msgid "Print settings" -msgstr "Параметри друку" +#: src/slic3r/GUI/Plater.cpp:503 +msgid "Select what kind of pad do you need" +msgstr "Виберіть необхідну вам подушку" -#: src/slic3r/GUI/Plater.cpp:674 src/slic3r/GUI/Tab.cpp:1421 -#: src/slic3r/GUI/Tab.cpp:1422 -msgid "Filament" -msgstr "Філамент" +#: src/slic3r/GUI/Plater.cpp:505 +msgid "Below object" +msgstr "Під об’єктем" -#: src/slic3r/GUI/Plater.cpp:675 src/slic3r/GUI/Preset.cpp:1252 -msgid "SLA print" -msgstr "" +#: src/slic3r/GUI/Plater.cpp:506 +msgid "Around object" +msgstr "Навколо об'єкта" -#: src/slic3r/GUI/Plater.cpp:676 src/slic3r/GUI/Preset.cpp:1253 -msgid "SLA material" -msgstr "" +#: src/slic3r/GUI/Plater.cpp:695 +msgid "SLA print settings" +msgstr "Параметри SLA-друку" -#: src/slic3r/GUI/Plater.cpp:677 -msgid "Printer" -msgstr "Принтер" - -#: src/slic3r/GUI/Plater.cpp:707 src/slic3r/GUI/Plater.cpp:3674 +#: src/slic3r/GUI/Plater.cpp:756 src/slic3r/GUI/Plater.cpp:6055 msgid "Send to printer" msgstr "Надіслати на принтер" -#: src/slic3r/GUI/Plater.cpp:727 src/slic3r/GUI/Plater.cpp:2352 -#: src/slic3r/GUI/Plater.cpp:3470 +#: src/slic3r/GUI/Plater.cpp:771 src/slic3r/GUI/Plater.cpp:3009 +#: src/slic3r/GUI/Plater.cpp:5584 msgid "Slice now" msgstr "Нарізати зараз" -#: src/slic3r/GUI/Plater.cpp:860 +#: src/slic3r/GUI/Plater.cpp:926 msgid "Hold Shift to Slice & Export G-code" -msgstr "" +msgstr "Утримуйте Shift, щоб нарізати та експортувати G-код" -#: src/slic3r/GUI/Plater.cpp:931 +#: src/slic3r/GUI/Plater.cpp:1071 #, c-format msgid "%d (%d shells)" msgstr "%d (%d оболонок)" -#: src/slic3r/GUI/Plater.cpp:936 +#: src/slic3r/GUI/Plater.cpp:1076 #, c-format msgid "Auto-repaired (%d errors)" -msgstr "Автоматичне відновлення (%d помилок)" +msgstr "Авто-відновлення (%d помилок)" -#: src/slic3r/GUI/Plater.cpp:939 +#: src/slic3r/GUI/Plater.cpp:1079 #, c-format msgid "" "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " @@ -2355,93 +5569,214 @@ msgstr "" "вироджено %d грані, виправлено %d країв, вилучено %d грані, додано %d грані, " "змінено %d грані, повернуто %d країв" -#: src/slic3r/GUI/Plater.cpp:949 +#: src/slic3r/GUI/Plater.cpp:1089 msgid "Yes" msgstr "Так" -#: src/slic3r/GUI/Plater.cpp:972 +#: src/slic3r/GUI/Plater.cpp:1110 msgid "Used Material (ml)" -msgstr "" +msgstr "Використано матеріалу (мл)" -#: src/slic3r/GUI/Plater.cpp:975 +#: src/slic3r/GUI/Plater.cpp:1113 msgid "object(s)" -msgstr "" +msgstr "об'єкт(и)" -#: src/slic3r/GUI/Plater.cpp:975 +#: src/slic3r/GUI/Plater.cpp:1113 msgid "supports and pad" -msgstr "" +msgstr "підтримки та подушка" -#: src/slic3r/GUI/Plater.cpp:1000 src/slic3r/GUI/Plater.cpp:1015 +#: src/slic3r/GUI/Plater.cpp:1151 +msgid "Used Filament (in)" +msgstr "Використано філаметну (дюйми)" + +#: src/slic3r/GUI/Plater.cpp:1153 src/slic3r/GUI/Plater.cpp:1206 msgid "objects" -msgstr "" +msgstr "об'єкти" -#: src/slic3r/GUI/Plater.cpp:1000 src/slic3r/GUI/Plater.cpp:1015 +#: src/slic3r/GUI/Plater.cpp:1153 src/slic3r/GUI/Plater.cpp:1206 msgid "wipe tower" -msgstr "" +msgstr "вежа витирання" -#: src/slic3r/GUI/Plater.cpp:1030 +#: src/slic3r/GUI/Plater.cpp:1163 +msgid "Used Filament (in³)" +msgstr "Використано філаметну (дюйми³)" + +#: src/slic3r/GUI/Plater.cpp:1189 +msgid "Filament at extruder %1%" +msgstr "Філамент екструдеру %1%" + +#: src/slic3r/GUI/Plater.cpp:1195 +msgid "(including spool)" +msgstr "(включаючи котушку)" + +#: src/slic3r/GUI/Plater.cpp:1204 src/libslic3r/PrintConfig.cpp:822 +#: src/libslic3r/PrintConfig.cpp:2738 src/libslic3r/PrintConfig.cpp:2739 +msgid "Cost" +msgstr "Вартість" + +#: src/slic3r/GUI/Plater.cpp:1222 msgid "normal mode" -msgstr "" +msgstr "нормальний режим" -#: src/slic3r/GUI/Plater.cpp:1034 -msgid "silent mode" -msgstr "" +#: src/slic3r/GUI/Plater.cpp:1232 +msgid "stealth mode" +msgstr "тихий режим" -#: src/slic3r/GUI/Plater.cpp:1544 -msgid "Loading" -msgstr "" - -#: src/slic3r/GUI/Plater.cpp:1554 +#: src/slic3r/GUI/Plater.cpp:1403 src/slic3r/GUI/Plater.cpp:4923 #, c-format -msgid "Processing input file %s\n" -msgstr "" +msgid "%s - Drop project file" +msgstr "%s - Перетягнути файл проекту" -#: src/slic3r/GUI/Plater.cpp:1612 +#: src/slic3r/GUI/Plater.cpp:1410 src/slic3r/GUI/Plater.cpp:4930 +msgid "Open as project" +msgstr "Відкрити як проект" + +#: src/slic3r/GUI/Plater.cpp:1411 src/slic3r/GUI/Plater.cpp:4931 +msgid "Import geometry only" +msgstr "Імпорт тільки геометрії" + +#: src/slic3r/GUI/Plater.cpp:1412 src/slic3r/GUI/Plater.cpp:4932 +msgid "Import config only" +msgstr "Імпорт тільки конфігурації" + +#: src/slic3r/GUI/Plater.cpp:1415 src/slic3r/GUI/Plater.cpp:4935 +msgid "Select an action to apply to the file" +msgstr "Виберіть дію, яку потрібно застосувати до файлу" + +#: src/slic3r/GUI/Plater.cpp:1416 src/slic3r/GUI/Plater.cpp:4936 +msgid "Action" +msgstr "Дія" + +#: src/slic3r/GUI/Plater.cpp:1424 src/slic3r/GUI/Plater.cpp:4944 +msgid "Don't show again" +msgstr "Не показувати знову" + +#: src/slic3r/GUI/Plater.cpp:1469 src/slic3r/GUI/Plater.cpp:4981 +msgid "You can open only one .gcode file at a time." +msgstr "Одночасно можна відкрити лише один файл .gcode." + +#: src/slic3r/GUI/Plater.cpp:1470 src/slic3r/GUI/Plater.cpp:4982 +msgid "Drag and drop G-code file" +msgstr "Перетягування файлу G-коду" + +#: src/slic3r/GUI/Plater.cpp:1524 src/slic3r/GUI/Plater.cpp:4796 +#: src/slic3r/GUI/Plater.cpp:5036 +msgid "Import Object" +msgstr "Імпорт об'єкту" + +#: src/slic3r/GUI/Plater.cpp:1546 src/slic3r/GUI/Plater.cpp:5058 +msgid "Load File" +msgstr "Завантажити файл" + +#: src/slic3r/GUI/Plater.cpp:1551 src/slic3r/GUI/Plater.cpp:5063 +msgid "Load Files" +msgstr "Завантажити файли" + +#: src/slic3r/GUI/Plater.cpp:1654 +msgid "Fill bed" +msgstr "Заповнити стіл" + +#: src/slic3r/GUI/Plater.cpp:1660 +msgid "Optimize Rotation" +msgstr "Оптимізувати обертання" + +#: src/slic3r/GUI/Plater.cpp:1666 +msgid "Import SLA archive" +msgstr "Імпорт SLА-архіву" + +#: src/slic3r/GUI/Plater.cpp:2129 +#, c-format msgid "" -"This file contains several objects positioned at multiple heights. Instead " -"of considering them as multiple objects, should I consider\n" -"this file as a single object having multiple parts?\n" +"Successfully unmounted. The device %s(%s) can now be safely removed from the " +"computer." msgstr "" -"Цей файл містить кілька об'єктів, розташованих на декількох висотах. Замість " -"того, щоб розглядати їх як кілька об'єктів, чи потрібно розглянути\n" -"цей файл як єдиний об'єкт, що має декілька частин?\n" +"Успішно від'єднано. Пристрій %s(%s) тепер можна безпечно вилучити з " +"комп’ютера." -#: src/slic3r/GUI/Plater.cpp:1615 src/slic3r/GUI/Plater.cpp:1707 +#: src/slic3r/GUI/Plater.cpp:2134 +#, c-format +msgid "Ejecting of device %s(%s) has failed." +msgstr "Не вдалося від'єднати пристрій %s (%s)." + +#: src/slic3r/GUI/Plater.cpp:2153 +msgid "New Project" +msgstr "Новий проект" + +#: src/slic3r/GUI/Plater.cpp:2246 +msgid "Expand sidebar" +msgstr "Розгорнути бічну панель" + +#: src/slic3r/GUI/Plater.cpp:2319 +msgid "Loading" +msgstr "Завантаження" + +#: src/slic3r/GUI/Plater.cpp:2329 +msgid "Loading file" +msgstr "Завантаження файлу" + +#: src/slic3r/GUI/Plater.cpp:2415 +#, c-format +msgid "" +"Some object(s) in file %s looks like saved in inches.\n" +"Should I consider them as a saved in inches and convert them?" +msgstr "" +"Схоже на те, що деякі об’єкти у файлі %s збережені в дюймах.\n" +"Чи слід розглядати їх як збережені в дюймах і конвертувати?" + +#: src/slic3r/GUI/Plater.cpp:2417 +msgid "The object appears to be saved in inches" +msgstr "Здається, об’єкт був збережений у дюймах" + +#: src/slic3r/GUI/Plater.cpp:2425 +msgid "" +"This file contains several objects positioned at multiple heights.\n" +"Instead of considering them as multiple objects, should I consider\n" +"this file as a single object having multiple parts?" +msgstr "" +"Цей файл містить кілька об'єктів, розташованих на декількох висотах. \n" +"Замість того, щоб розглядати їх як кілька об'єктів, чи потрібно розглянути\n" +"цей файл як єдиний об'єкт, що має декілька частин?" + +#: src/slic3r/GUI/Plater.cpp:2428 src/slic3r/GUI/Plater.cpp:2481 msgid "Multi-part object detected" msgstr "Виявлено об'єкт, що складається з кількох частин" -#: src/slic3r/GUI/Plater.cpp:1650 +#: src/slic3r/GUI/Plater.cpp:2435 msgid "" -"This file cannot be loaded in simple mode. Do you want to switch to expert " -"mode?\n" +"This file cannot be loaded in a simple mode. Do you want to switch to an " +"advanced mode?" msgstr "" +"Цей файл не можна завантажити у простому режимі. Ви хочете перейти в " +"розширений режим?" -#: src/slic3r/GUI/Plater.cpp:1651 +#: src/slic3r/GUI/Plater.cpp:2436 msgid "Detected advanced data" -msgstr "" +msgstr "Виявлено розширені дані" -#: src/slic3r/GUI/Plater.cpp:1684 +#: src/slic3r/GUI/Plater.cpp:2458 #, c-format msgid "" "You can't to add the object(s) from %s because of one or some of them " "is(are) multi-part" msgstr "" +"Ви не можете додати об’єкт(и) із %s через те, що один або деякі з них " +"складається з декількох частин" -#: src/slic3r/GUI/Plater.cpp:1704 +#: src/slic3r/GUI/Plater.cpp:2478 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" -"these files to represent a single object having multiple parts?\n" +"these files to represent a single object having multiple parts?" msgstr "" "До мульти-матеріального принтеру завантажено кілька об'єктів.\n" "Замість того, щоб розглядати їх як кілька об'єктів, чи потрібно розглянути\n" -"ці файл як єдиний об'єкт, що має декілька частин?\n" +"ці файл як єдиний об'єкт, що має декілька частин?" -#: src/slic3r/GUI/Plater.cpp:1720 +#: src/slic3r/GUI/Plater.cpp:2494 msgid "Loaded" -msgstr "" +msgstr "Завантажено" -#: src/slic3r/GUI/Plater.cpp:1812 +#: src/slic3r/GUI/Plater.cpp:2596 msgid "" "Your object appears to be too large, so it was automatically scaled down to " "fit your print bed." @@ -2449,51 +5784,35 @@ msgstr "" "Ваш об'єкт видався занадто великим, тому він автоматично зменшився " "відповідно до вашої полотна друку." -#: src/slic3r/GUI/Plater.cpp:1813 +#: src/slic3r/GUI/Plater.cpp:2597 msgid "Object too large?" msgstr "Об'єкт занадто великий?" -#: src/slic3r/GUI/Plater.cpp:1863 +#: src/slic3r/GUI/Plater.cpp:2659 msgid "Export STL file:" -msgstr "" +msgstr "Експорт STL-файлу:" -#: src/slic3r/GUI/Plater.cpp:1870 +#: src/slic3r/GUI/Plater.cpp:2666 msgid "Export AMF file:" -msgstr "" +msgstr "Експортувати AMF-файл:" -#: src/slic3r/GUI/Plater.cpp:1876 +#: src/slic3r/GUI/Plater.cpp:2672 msgid "Save file as:" -msgstr "" +msgstr "Зберегти файл як:" -#: src/slic3r/GUI/Plater.cpp:2042 -msgid "Arranging canceled" -msgstr "" +#: src/slic3r/GUI/Plater.cpp:2678 +msgid "Export OBJ file:" +msgstr "Експорт OBJ-файлу:" -#: src/slic3r/GUI/Plater.cpp:2045 -msgid "Arranging" -msgstr "" +#: src/slic3r/GUI/Plater.cpp:2774 +msgid "Delete Object" +msgstr "Видалити об'єкт" -#: src/slic3r/GUI/Plater.cpp:2079 -msgid "Could not arrange model objects! Some geometries may be invalid." -msgstr "" +#: src/slic3r/GUI/Plater.cpp:2785 +msgid "Reset Project" +msgstr "Скинути проект" -#: src/slic3r/GUI/Plater.cpp:2083 -msgid "Arranging done." -msgstr "" - -#: src/slic3r/GUI/Plater.cpp:2124 -msgid "Orientation search canceled" -msgstr "" - -#: src/slic3r/GUI/Plater.cpp:2129 -msgid "Searching for optimal orientation" -msgstr "" - -#: src/slic3r/GUI/Plater.cpp:2190 -msgid "Orientation found." -msgstr "" - -#: src/slic3r/GUI/Plater.cpp:2211 +#: src/slic3r/GUI/Plater.cpp:2857 msgid "" "The selected object can't be split because it contains more than one volume/" "material." @@ -2501,187 +5820,300 @@ msgstr "" "Вибраний об'єкт не можна розділити, оскільки містить більше одного об'єму/" "матеріалу." -#: src/slic3r/GUI/Plater.cpp:2337 +#: src/slic3r/GUI/Plater.cpp:2868 +msgid "Split to Objects" +msgstr "Розділити на об'єкти" + +#: src/slic3r/GUI/Plater.cpp:2993 src/slic3r/GUI/Plater.cpp:3723 msgid "Invalid data" -msgstr "" +msgstr "Некоректні дані" -#: src/slic3r/GUI/Plater.cpp:2346 +#: src/slic3r/GUI/Plater.cpp:3003 msgid "Ready to slice" -msgstr "" +msgstr "Готово до нарізки" -#: src/slic3r/GUI/Plater.cpp:2379 src/slic3r/GUI/PrintHostDialogs.cpp:220 +#: src/slic3r/GUI/Plater.cpp:3041 src/slic3r/GUI/PrintHostDialogs.cpp:264 msgid "Cancelling" -msgstr "" +msgstr "Скасування" -#: src/slic3r/GUI/Plater.cpp:2396 +#: src/slic3r/GUI/Plater.cpp:3060 msgid "Another export job is currently running." msgstr "На даний час виконується інший експорт." -#: src/slic3r/GUI/Plater.cpp:2656 -msgid "Export failed" -msgstr "Експортувати не вдалося" +#: src/slic3r/GUI/Plater.cpp:3177 +msgid "Please select the file to reload" +msgstr "Будь ласка, виберіть файл для перезавантаження" -#: src/slic3r/GUI/Plater.cpp:2661 src/slic3r/GUI/PrintHostDialogs.cpp:221 -msgid "Cancelled" +#: src/slic3r/GUI/Plater.cpp:3212 +msgid "It is not allowed to change the file to reload" +msgstr "Не дозволяється змінювати файл для перезавантаження" + +#: src/slic3r/GUI/Plater.cpp:3212 +msgid "Do you want to retry" +msgstr "Повторити спробу" + +#: src/slic3r/GUI/Plater.cpp:3230 +msgid "Reload from:" +msgstr "Перезавантажити з:" + +#: src/slic3r/GUI/Plater.cpp:3323 +msgid "Unable to reload:" +msgstr "Не вдається перезавантажити:" + +#: src/slic3r/GUI/Plater.cpp:3328 +msgid "Error during reload" +msgstr "Помилка під час перезавантаження" + +#: src/slic3r/GUI/Plater.cpp:3347 +msgid "Reload all from disk" +msgstr "Перезавантажити все з диска" + +#: src/slic3r/GUI/Plater.cpp:3374 +msgid "" +"ERROR: Please close all manipulators available from the left toolbar before " +"fixing the mesh." msgstr "" +"ПОМИЛКА: Будь ласка, закрийте всі маніпулятори, доступні на лівій панелі " +"інструментів, перш ніж фіксувати сітку." -#: src/slic3r/GUI/Plater.cpp:2747 src/slic3r/GUI/Plater.cpp:2759 -#: src/slic3r/GUI/Plater.cpp:2831 -msgid "Increase copies" -msgstr "Збільшити копії" +#: src/slic3r/GUI/Plater.cpp:3380 +msgid "Fix through NetFabb" +msgstr "Виправити за допомогою NetFabb" -#: src/slic3r/GUI/Plater.cpp:2825 src/slic3r/GUI/Plater.cpp:2843 +#: src/slic3r/GUI/Plater.cpp:3397 +msgid "Custom supports and seams were removed after repairing the mesh." +msgstr "Користувацькі підтримки та шви були видалені після ремонту сітки." + +#: src/slic3r/GUI/Plater.cpp:3680 +msgid "There are active warnings concerning sliced models:" +msgstr "Існують активні попередження щодо нарізаних моделей:" + +#: src/slic3r/GUI/Plater.cpp:3691 +msgid "generated warnings" +msgstr "згенеровані попередження" + +#: src/slic3r/GUI/Plater.cpp:3731 src/slic3r/GUI/PrintHostDialogs.cpp:265 +msgid "Cancelled" +msgstr "Скасовано" + +#: src/slic3r/GUI/Plater.cpp:3998 src/slic3r/GUI/Plater.cpp:4022 msgid "Remove the selected object" msgstr "Видалити вибраний об'єкт" -#: src/slic3r/GUI/Plater.cpp:2831 -msgid "Place one more copy of the selected object" -msgstr "Розташувати ще одну копію обраного об'єкта" +#: src/slic3r/GUI/Plater.cpp:4007 +msgid "Add one more instance of the selected object" +msgstr "Додати ще один екземпляр вибраного об’єкта" -#: src/slic3r/GUI/Plater.cpp:2833 -msgid "Decrease copies" -msgstr "Зменшити копії" +#: src/slic3r/GUI/Plater.cpp:4009 +msgid "Remove one instance of the selected object" +msgstr "Видалити один екземпляр вибраного об’єкта" -#: src/slic3r/GUI/Plater.cpp:2833 -msgid "Remove one copy of the selected object" -msgstr "Вилучіть одну копію обраного об'єкта" +#: src/slic3r/GUI/Plater.cpp:4011 +msgid "Set number of instances" +msgstr "Встановити кількість екземплярів" -#: src/slic3r/GUI/Plater.cpp:2835 -msgid "Set number of copies" -msgstr "" +#: src/slic3r/GUI/Plater.cpp:4011 +msgid "Change the number of instances of the selected object" +msgstr "Змінити кількість екземплярів виділеного об'єкта" -#: src/slic3r/GUI/Plater.cpp:2835 -msgid "Change the number of copies of the selected object" -msgstr "Змінити кількість копій обраного об'єкта" +#: src/slic3r/GUI/Plater.cpp:4013 +msgid "Fill bed with instances" +msgstr "Заповнити стіл екземплярами" -#: src/slic3r/GUI/Plater.cpp:2858 -msgid "Reload from Disk" -msgstr "Перезавантажити з диска" +#: src/slic3r/GUI/Plater.cpp:4013 +msgid "Fill the remaining area of bed with instances of the selected object" +msgstr "Заповнити залишок столу екземплярами обраного об'єкта" -#: src/slic3r/GUI/Plater.cpp:2858 -msgid "Reload the selected file from Disk" -msgstr "Перезавантажити вибраний файл із диска" +#: src/slic3r/GUI/Plater.cpp:4032 +msgid "Reload the selected object from disk" +msgstr "Перезавантажити вибраний об'єкт із диска" -#: src/slic3r/GUI/Plater.cpp:2861 +#: src/slic3r/GUI/Plater.cpp:4035 msgid "Export the selected object as STL file" -msgstr "" +msgstr "Експорт вибраного об'єкту як STL-файл" -#: src/slic3r/GUI/Plater.cpp:2873 +#: src/slic3r/GUI/Plater.cpp:4065 msgid "Along X axis" -msgstr "" +msgstr "Уздовж осі X" -#: src/slic3r/GUI/Plater.cpp:2873 +#: src/slic3r/GUI/Plater.cpp:4065 msgid "Mirror the selected object along the X axis" msgstr "Віддзеркалити виділений об'єкт уздовж осі Х" -#: src/slic3r/GUI/Plater.cpp:2875 +#: src/slic3r/GUI/Plater.cpp:4067 msgid "Along Y axis" -msgstr "" +msgstr "Уздовж осі Y" -#: src/slic3r/GUI/Plater.cpp:2875 +#: src/slic3r/GUI/Plater.cpp:4067 msgid "Mirror the selected object along the Y axis" msgstr "Віддзеркалити виділений об'єкт уздовж осі Y" -#: src/slic3r/GUI/Plater.cpp:2877 +#: src/slic3r/GUI/Plater.cpp:4069 msgid "Along Z axis" -msgstr "" +msgstr "Уздовж осі Z" -#: src/slic3r/GUI/Plater.cpp:2877 +#: src/slic3r/GUI/Plater.cpp:4069 msgid "Mirror the selected object along the Z axis" msgstr "Віддзеркалити виділений об'єкт уздовж осі Z" -#: src/slic3r/GUI/Plater.cpp:2880 +#: src/slic3r/GUI/Plater.cpp:4072 msgid "Mirror" msgstr "Віддзеркалити" -#: src/slic3r/GUI/Plater.cpp:2880 +#: src/slic3r/GUI/Plater.cpp:4072 msgid "Mirror the selected object" msgstr "Віддзеркалити виділений об'єкт" -#: src/slic3r/GUI/Plater.cpp:2898 +#: src/slic3r/GUI/Plater.cpp:4084 msgid "To objects" -msgstr "" +msgstr "На об'єкти" -#: src/slic3r/GUI/Plater.cpp:2898 src/slic3r/GUI/Plater.cpp:2920 +#: src/slic3r/GUI/Plater.cpp:4084 src/slic3r/GUI/Plater.cpp:4104 msgid "Split the selected object into individual objects" -msgstr "" +msgstr "Розділити вибраний об'єкт на окремі об'єкти" -#: src/slic3r/GUI/Plater.cpp:2900 +#: src/slic3r/GUI/Plater.cpp:4086 msgid "To parts" -msgstr "" +msgstr "На частини" -#: src/slic3r/GUI/Plater.cpp:2900 src/slic3r/GUI/Plater.cpp:2940 +#: src/slic3r/GUI/Plater.cpp:4086 src/slic3r/GUI/Plater.cpp:4122 msgid "Split the selected object into individual sub-parts" -msgstr "" +msgstr "Розділити вибраний об'єкт на окремі частини" -#: src/slic3r/GUI/Plater.cpp:2903 src/slic3r/GUI/Plater.cpp:2920 -#: src/slic3r/GUI/Plater.cpp:2940 src/libslic3r/PrintConfig.cpp:3075 +#: src/slic3r/GUI/Plater.cpp:4089 src/slic3r/GUI/Plater.cpp:4104 +#: src/slic3r/GUI/Plater.cpp:4122 src/libslic3r/PrintConfig.cpp:3759 msgid "Split" msgstr "Розділити" -#: src/slic3r/GUI/Plater.cpp:2903 +#: src/slic3r/GUI/Plater.cpp:4089 msgid "Split the selected object" -msgstr "" +msgstr "Розділити вибраний об'єкт" -#: src/slic3r/GUI/Plater.cpp:2926 +#: src/slic3r/GUI/Plater.cpp:4111 msgid "Optimize orientation" -msgstr "" +msgstr "Оптимізувати орієнтацію" -#: src/slic3r/GUI/Plater.cpp:2926 +#: src/slic3r/GUI/Plater.cpp:4112 msgid "Optimize the rotation of the object for better print results." -msgstr "" +msgstr "Оптимізуйте обертання об’єкта для кращих результатів друку." -#: src/slic3r/GUI/Plater.cpp:3342 +#: src/slic3r/GUI/Plater.cpp:4192 +msgid "3D editor view" +msgstr "Перегляд у 3D-редакторі" + +#: src/slic3r/GUI/Plater.cpp:4564 +msgid "" +"%1% printer was active at the time the target Undo / Redo snapshot was " +"taken. Switching to %1% printer requires reloading of %1% presets." +msgstr "" +"На момент створення Undo/Redo знімка був активний принтер %1%. Для " +"переключення на принтер %1% потрібно перезавантажити пресет %1%." + +#: src/slic3r/GUI/Plater.cpp:4768 +msgid "Load Project" +msgstr "Завантажити проект" + +#: src/slic3r/GUI/Plater.cpp:4800 +msgid "Import Objects" +msgstr "Імпорт об'єктів" + +#: src/slic3r/GUI/Plater.cpp:4868 +msgid "The selected file" +msgstr "Вибраний файл" + +#: src/slic3r/GUI/Plater.cpp:4868 +msgid "does not contain valid gcode." +msgstr "не містить дійсного G-коду." + +#: src/slic3r/GUI/Plater.cpp:4869 +msgid "Error while loading .gcode file" +msgstr "Помилка під час завантаження GCODE-файлу" + +#: src/slic3r/GUI/Plater.cpp:5107 +msgid "All objects will be removed, continue?" +msgstr "Усі об’єкти буде видалено, продовжити?" + +#: src/slic3r/GUI/Plater.cpp:5115 +msgid "Delete Selected Objects" +msgstr "Видалити вибрані об'єкти" + +#: src/slic3r/GUI/Plater.cpp:5123 +msgid "Increase Instances" +msgstr "Збільшити кількість копій" + +#: src/slic3r/GUI/Plater.cpp:5157 +msgid "Decrease Instances" +msgstr "Зменшити кількість копій" + +#: src/slic3r/GUI/Plater.cpp:5188 +msgid "Enter the number of copies:" +msgstr "Введіть кількість копій об'єкта:" + +#: src/slic3r/GUI/Plater.cpp:5189 +msgid "Copies of the selected object" +msgstr "Кількість копій обраного об'єкта" + +#: src/slic3r/GUI/Plater.cpp:5193 +#, c-format +msgid "Set numbers of copies to %d" +msgstr "Встановити кількість копій на %d" + +#: src/slic3r/GUI/Plater.cpp:5259 +msgid "Cut by Plane" +msgstr "Вирізати площиною" + +#: src/slic3r/GUI/Plater.cpp:5316 msgid "Save G-code file as:" -msgstr "" +msgstr "Зберегти G-код файл як:" -#: src/slic3r/GUI/Plater.cpp:3342 +#: src/slic3r/GUI/Plater.cpp:5316 msgid "Save SL1 file as:" -msgstr "" +msgstr "Зберегти SL1-файл як:" -#: src/slic3r/GUI/Plater.cpp:3397 +#: src/slic3r/GUI/Plater.cpp:5463 #, c-format msgid "STL file exported to %s" -msgstr "" +msgstr "STL-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:3413 +#: src/slic3r/GUI/Plater.cpp:5480 #, c-format msgid "AMF file exported to %s" -msgstr "" +msgstr "AMF-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:3416 +#: src/slic3r/GUI/Plater.cpp:5483 #, c-format msgid "Error exporting AMF file %s" -msgstr "" +msgstr "Помилка експортування AMF-файлу %s" -#: src/slic3r/GUI/Plater.cpp:3442 +#: src/slic3r/GUI/Plater.cpp:5512 #, c-format msgid "3MF file exported to %s" -msgstr "" +msgstr "3MF-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:3445 +#: src/slic3r/GUI/Plater.cpp:5517 #, c-format msgid "Error exporting 3MF file %s" -msgstr "" +msgstr "Помилка експортування 3MF-файлу %s" -#: src/slic3r/GUI/Plater.cpp:3673 +#: src/slic3r/GUI/Plater.cpp:6054 msgid "Export" -msgstr "" +msgstr "Експорт" -#: src/slic3r/GUI/Plater.cpp:3674 -msgid "Send G-code" -msgstr "" +#: src/slic3r/GUI/Plater.cpp:6149 +msgid "Paste From Clipboard" +msgstr "Вставити з буферу обміну" -#: src/slic3r/GUI/Preferences.cpp:17 src/slic3r/GUI/Tab.cpp:1762 -#: src/slic3r/GUI/Tab.cpp:1963 +#: src/slic3r/GUI/Preferences.cpp:56 src/slic3r/GUI/Tab.cpp:2098 +#: src/slic3r/GUI/Tab.cpp:2285 src/slic3r/GUI/Tab.cpp:2393 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 msgid "General" msgstr "Загальне" -#: src/slic3r/GUI/Preferences.cpp:34 +#: src/slic3r/GUI/Preferences.cpp:69 msgid "Remember output directory" msgstr "Пам'ятати вихідний каталог" -#: src/slic3r/GUI/Preferences.cpp:36 +#: src/slic3r/GUI/Preferences.cpp:71 msgid "" "If this is enabled, Slic3r will prompt the last output directory instead of " "the one containing the input files." @@ -2689,22 +6121,22 @@ msgstr "" "Якщо вибрано, Slic3r запропонує останню вихідну директорію замість тої, що " "вказана у вхідному файлі." -#: src/slic3r/GUI/Preferences.cpp:42 +#: src/slic3r/GUI/Preferences.cpp:77 msgid "Auto-center parts" msgstr "Автоцентрувати частини" -#: src/slic3r/GUI/Preferences.cpp:44 +#: src/slic3r/GUI/Preferences.cpp:79 msgid "" "If this is enabled, Slic3r will auto-center objects around the print bed " "center." msgstr "" "Якщо вибрано, Slic3r автоматично орієнтує об'єкти навколо центру друку." -#: src/slic3r/GUI/Preferences.cpp:50 +#: src/slic3r/GUI/Preferences.cpp:85 msgid "Background processing" msgstr "Фонова обробка" -#: src/slic3r/GUI/Preferences.cpp:52 +#: src/slic3r/GUI/Preferences.cpp:87 msgid "" "If this is enabled, Slic3r will pre-process objects as soon as they're " "loaded in order to save time when exporting G-code." @@ -2712,11 +6144,58 @@ msgstr "" "Якщо вибрано, Slic3r буде попередньо обробляти об'єкти, як тільки вони " "будуть завантажені, щоб заощадити час при експорті G-коду." -#: src/slic3r/GUI/Preferences.cpp:74 +#: src/slic3r/GUI/Preferences.cpp:96 +msgid "" +"If enabled, PrusaSlicer will check for the new versions of itself online. " +"When a new version becomes available a notification is displayed at the next " +"application startup (never during program usage). This is only a " +"notification mechanisms, no automatic installation is done." +msgstr "" +"Якщо увімкнено, PrusaSlicer перевірить наявність нових версій в Інтернеті. " +"Коли нова версія стає доступною, під час наступного запуску програми " +"з'явиться сповіщення (ніколи під час використання програми). Це лише " +"механізми сповіщення, автоматична установка не виконується." + +#: src/slic3r/GUI/Preferences.cpp:102 +msgid "Export sources full pathnames to 3mf and amf" +msgstr "Експортувати повні назви шляхів до 3MF та amf" + +#: src/slic3r/GUI/Preferences.cpp:104 +msgid "" +"If enabled, allows the Reload from disk command to automatically find and " +"load the files when invoked." +msgstr "" +"Якщо увімкнено, дозволяє команді Перезавантажити з диска автоматично " +"знаходити і завантажувати файли під час виклику." + +#: src/slic3r/GUI/Preferences.cpp:114 +msgid "If enabled, sets PrusaSlicer as default application to open .3mf files." +msgstr "" +"Якщо увімкнено, встановлює PrusaSlicer як типову програму для відкриття 3MF-" +"файлів." + +#: src/slic3r/GUI/Preferences.cpp:121 +msgid "If enabled, sets PrusaSlicer as default application to open .stl files." +msgstr "" +"Якщо ввімкнено, програма PrusaSlicer за промовчанням відкриває STL-файли." + +#: src/slic3r/GUI/Preferences.cpp:131 +msgid "" +"If enabled, Slic3r downloads updates of built-in system presets in the " +"background. These updates are downloaded into a separate temporary location. " +"When a new preset version becomes available it is offered at application " +"startup." +msgstr "" +"Якщо цей параметр увімкнено, Slic3r завантажує оновлення вбудованих пресетів " +"системи у фоновому режимі. Ці оновлення завантажуються в окреме тимчасове " +"місце розташування. Коли нова версія пресетів стає доступною, вона " +"пропонується під час запуску додатка." + +#: src/slic3r/GUI/Preferences.cpp:136 msgid "Suppress \" - default - \" presets" msgstr "Заборонити налаштування \"- за замовчуванням -\"" -#: src/slic3r/GUI/Preferences.cpp:76 +#: src/slic3r/GUI/Preferences.cpp:138 msgid "" "Suppress \" - default - \" presets in the Print / Filament / Printer " "selections once there are any other valid presets available." @@ -2724,806 +6203,1205 @@ msgstr "" "Заборонити налаштування \"- за замовчуванням -\" у параметрах Друк / " "Філамент / Принтер, якщо доступні інші діючі налаштування." -#: src/slic3r/GUI/Preferences.cpp:82 +#: src/slic3r/GUI/Preferences.cpp:144 msgid "Show incompatible print and filament presets" msgstr "Показувати несумісні налаштування друку та філаменту" -#: src/slic3r/GUI/Preferences.cpp:84 +#: src/slic3r/GUI/Preferences.cpp:146 msgid "" "When checked, the print and filament presets are shown in the preset editor " "even if they are marked as incompatible with the active printer" msgstr "" -"Якщо вибрано, налаштування друку та філаменту відображаються у списку " -"налаштувань, навіть якщо вони позначені як несумісні з активним принтером" +"Якщо вибрано, пресети для друку та філаменту відображаються у списку " +"пресетів, навіть якщо вони позначені як несумісні з активним принтером" -#: src/slic3r/GUI/Preferences.cpp:91 -msgid "Use legacy OpenGL 1.1 rendering" -msgstr "Використовувати застарілий OpenGL 1.1 рендеринг" +#: src/slic3r/GUI/Preferences.cpp:152 +msgid "Show drop project dialog" +msgstr "Показати діалогове вікно при перетягуванні проекту" -#: src/slic3r/GUI/Preferences.cpp:93 +#: src/slic3r/GUI/Preferences.cpp:154 msgid "" -"If you have rendering issues caused by a buggy OpenGL 2.0 driver, you may " -"try to check this checkbox. This will disable the layer height editing and " -"anti aliasing, so it is likely better to upgrade your graphics driver." +"When checked, whenever dragging and dropping a project file on the " +"application, shows a dialog asking to select the action to take on the file " +"to load." msgstr "" -"Якщо у вас виникають проблеми з візуалізацією, спричинені помилковим " -"драйвером OpenGL 2.0, спробуйте вибрати цю опцію. Це призведе до вимкнення " -"редагування висоти шару та згладжування, тому краще оновити графічний " -"драйвер." +"Якщо вибрано, при перетягуванні файлу проекту у програмі відображається " +"діалогове вікно із запитом вибрати дію щодо файлу, який потрібно завантажити." -#: src/slic3r/GUI/Preferences.cpp:101 +#: src/slic3r/GUI/Preferences.cpp:161 src/slic3r/GUI/Preferences.cpp:165 +msgid "Allow just a single PrusaSlicer instance" +msgstr "Дозволити лише один екземпляр PrusaSlicer" + +#: src/slic3r/GUI/Preferences.cpp:163 +msgid "" +"On OSX there is always only one instance of app running by default. However " +"it is allowed to run multiple instances of same app from the command line. " +"In such case this settings will allow only one instance." +msgstr "" +"На OSX завжди є лише один екземпляр програми, який працює за замовчуванням. " +"Однак дозволяється запускати кілька екземплярів одного додатка з командного " +"рядка. У такому випадку ці налаштування дозволять лише один екземпляр." + +#: src/slic3r/GUI/Preferences.cpp:167 +msgid "" +"If this is enabled, when starting PrusaSlicer and another instance of the " +"same PrusaSlicer is already running, that instance will be reactivated " +"instead." +msgstr "" +"Якщо увімкнено, то під час запуску нового екземпляра PrusaSlicer при " +"наявності вже запущеного того самого PrusaSlicer, буде тільки повторно " +"активовано старий екземпляр." + +#: src/slic3r/GUI/Preferences.cpp:173 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:671 +msgid "Ask for unsaved changes when closing application" +msgstr "Питати про незбережені зміни при закритті програми" + +#: src/slic3r/GUI/Preferences.cpp:175 +msgid "When closing the application, always ask for unsaved changes" +msgstr "Завжди питати про незбережені зміни при закритті програми" + +#: src/slic3r/GUI/Preferences.cpp:180 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:672 +msgid "Ask for unsaved changes when selecting new preset" +msgstr "Питати про незбережені зміни при виборі нового пресету" + +#: src/slic3r/GUI/Preferences.cpp:182 +msgid "Always ask for unsaved changes when selecting new preset" +msgstr "Завжди запитуйте про незбережені зміни при виборі нового пресету" + +#: src/slic3r/GUI/Preferences.cpp:190 +msgid "Associate .gcode files to PrusaSlicer G-code Viewer" +msgstr "Зв’язати gcode-файли з PrusaSlicer Переглядачем G-коду" + +#: src/slic3r/GUI/Preferences.cpp:192 +msgid "" +"If enabled, sets PrusaSlicer G-code Viewer as default application to open ." +"gcode files." +msgstr "" +"Якщо увімкнено, встановлює \"PrusaSlicer Переглядач G-коду\" як програму за " +"замовчуванням для відкриття GCODE-файлів." + +#: src/slic3r/GUI/Preferences.cpp:201 msgid "Use Retina resolution for the 3D scene" -msgstr "" +msgstr "Використовувати роздільну здатність Retina для 3D сцени" -#: src/slic3r/GUI/Preferences.cpp:103 +#: src/slic3r/GUI/Preferences.cpp:203 msgid "" "If enabled, the 3D scene will be rendered in Retina resolution. If you are " "experiencing 3D performance problems, disabling this option may help." msgstr "" +"Якщо увімкнено, 3D-сцена відображатиметься з роздільною здатністю Retina. " +"Якщо у вас виникають проблеми з продуктивністю 3D, вимкнення цієї опції може " +"допомогти." -#: src/slic3r/GUI/Preferences.cpp:126 -msgid "You need to restart Slic3r to make the changes effective." -msgstr "З метою ефективності зміни, Вам потрібно буде перезапустити Slic3r." +#: src/slic3r/GUI/Preferences.cpp:211 src/slic3r/GUI/Preferences.cpp:213 +msgid "Show splash screen" +msgstr "Показувати заставку" -#: src/slic3r/GUI/Preset.cpp:207 -msgid "modified" -msgstr "модифікований" +#: src/slic3r/GUI/Preferences.cpp:220 +msgid "Enable support for legacy 3DConnexion devices" +msgstr "Увімкнути підтримку застарілих пристроїв 3DConnexion" -#: src/slic3r/GUI/Preset.cpp:918 src/slic3r/GUI/Preset.cpp:958 -#: src/slic3r/GUI/Preset.cpp:1011 src/slic3r/GUI/Preset.cpp:1043 -#: src/slic3r/GUI/PresetBundle.cpp:1484 src/slic3r/GUI/PresetBundle.cpp:1537 +#: src/slic3r/GUI/Preferences.cpp:222 +msgid "" +"If enabled, the legacy 3DConnexion devices settings dialog is available by " +"pressing CTRL+M" +msgstr "" +"Якщо увімкнено, діалогове вікно налаштувань пристроїв 3DConnexion доступне, " +"натиснувши CTRL+M" + +#: src/slic3r/GUI/Preferences.cpp:232 +msgid "Camera" +msgstr "Камера" + +#: src/slic3r/GUI/Preferences.cpp:237 +msgid "Use perspective camera" +msgstr "Використовувати перспективну камеру" + +#: src/slic3r/GUI/Preferences.cpp:239 +msgid "" +"If enabled, use perspective camera. If not enabled, use orthographic camera." +msgstr "" +"Якщо увімкнено, використовуватиметься перспективна камера. Якщо вимкнено, " +"використовуватиметься ортографічна камера." + +#: src/slic3r/GUI/Preferences.cpp:244 +msgid "Use free camera" +msgstr "Використовувати вільну камеру" + +#: src/slic3r/GUI/Preferences.cpp:246 +msgid "If enabled, use free camera. If not enabled, use constrained camera." +msgstr "" +"Якщо увімкнено, використовуватиметься вільна камера. Якщо вимкнено, " +"використовуватиметься камера з обмеженими можливостями." + +#: src/slic3r/GUI/Preferences.cpp:251 +msgid "Reverse direction of zoom with mouse wheel" +msgstr "Зворотний напрямок масштабування за допомогою колеса миші" + +#: src/slic3r/GUI/Preferences.cpp:253 +msgid "If enabled, reverses the direction of zoom with mouse wheel" +msgstr "Якщо увімкнено, змінює напрямок масштабування за допомогою колеса миші" + +#: src/slic3r/GUI/Preferences.cpp:261 +msgid "GUI" +msgstr "Графічний інтерфейс" + +#: src/slic3r/GUI/Preferences.cpp:276 +msgid "Sequential slider applied only to top layer" +msgstr "Послідовний повзунок застосовується лише до верхнього шару" + +#: src/slic3r/GUI/Preferences.cpp:278 +msgid "" +"If enabled, changes made using the sequential slider, in preview, apply only " +"to gcode top layer. If disabled, changes made using the sequential slider, " +"in preview, apply to the whole gcode." +msgstr "" +"Якщо увімкнено, зміни, внесені за допомогою послідовного повзунка, у " +"попередньому перегляді застосовуються лише до верхнього шару G-коду. Якщо " +"вимкнено, зміни, внесені за допомогою послідовного повзунка, у попередньому " +"перегляді застосовуються до цілого G-коду." + +#: src/slic3r/GUI/Preferences.cpp:285 +msgid "Show sidebar collapse/expand button" +msgstr "Показувати кнопку згортання/розгортання бічної панелі" + +#: src/slic3r/GUI/Preferences.cpp:287 +msgid "" +"If enabled, the button for the collapse sidebar will be appeared in top " +"right corner of the 3D Scene" +msgstr "" +"Якщо увімкнено, у верхньому правому куті 3D-сцени з’явиться кнопка згортання " +"бічної панелі" + +#: src/slic3r/GUI/Preferences.cpp:292 +msgid "Suppress to open hyperlink in browser" +msgstr "Заборонити відкриття гіперпосилань у браузері" + +#: src/slic3r/GUI/Preferences.cpp:294 +msgid "" +"If enabled, the descriptions of configuration parameters in settings tabs " +"wouldn't work as hyperlinks. If disabled, the descriptions of configuration " +"parameters in settings tabs will work as hyperlinks." +msgstr "" +"Якщо увімкнено, описи параметрів конфігурації на вкладках параметрів не " +"працюватимуть як гіперпосилання. Якщо вимкнено, описи параметрів " +"конфігурації на вкладках параметрів працюватимуть як гіперпосилання." + +#: src/slic3r/GUI/Preferences.cpp:300 +msgid "Use custom size for toolbar icons" +msgstr "" +"Використовуйте користувацький розмір для піктограм на панелі інструментів" + +#: src/slic3r/GUI/Preferences.cpp:302 +msgid "If enabled, you can change size of toolbar icons manually." +msgstr "" +"Якщо увімкнено, ви можете змінювати розмір піктограм на панелі інструментів " +"вручну." + +#: src/slic3r/GUI/Preferences.cpp:320 +msgid "Render" +msgstr "Візуалізувати" + +#: src/slic3r/GUI/Preferences.cpp:325 +msgid "Use environment map" +msgstr "Використовуйте карту середовища" + +#: src/slic3r/GUI/Preferences.cpp:327 +msgid "If enabled, renders object using the environment map." +msgstr "Якщо увімкнено, візуалізує об’єкт за допомогою карти середовища." + +#: src/slic3r/GUI/Preferences.cpp:352 +#, c-format +msgid "You need to restart %s to make the changes effective." +msgstr "З метою ефективності зміни, Вам потрібно буде перезапустити %s." + +#: src/slic3r/GUI/Preferences.cpp:427 +msgid "Icon size in a respect to the default size" +msgstr "Розмір піктограми відносно розміру за промовчанням" + +#: src/slic3r/GUI/Preferences.cpp:442 +msgid "Select toolbar icon size in respect to the default one." +msgstr "" +"Виберіть розмір піктограми панелі інструментів щодо розміру за замовчуванням." + +#: src/slic3r/GUI/Preferences.cpp:473 +msgid "Old regular layout with the tab bar" +msgstr "Старий звичайний макет із панеллю вкладок" + +#: src/slic3r/GUI/Preferences.cpp:474 +msgid "New layout, access via settings button in the top menu" +msgstr "Нове розташування, доступ через кнопку налаштувань у верхньому меню" + +#: src/slic3r/GUI/Preferences.cpp:475 +msgid "Settings in non-modal window" +msgstr "Налаштування у немодальному вікні" + +#: src/slic3r/GUI/Preferences.cpp:484 +msgid "Layout Options" +msgstr "Параметри розташування" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:197 +#: src/slic3r/GUI/PresetComboBoxes.cpp:235 +#: src/slic3r/GUI/PresetComboBoxes.cpp:761 +#: src/slic3r/GUI/PresetComboBoxes.cpp:811 +#: src/slic3r/GUI/PresetComboBoxes.cpp:925 +#: src/slic3r/GUI/PresetComboBoxes.cpp:969 msgid "System presets" msgstr "Системні налаштування" -#: src/slic3r/GUI/Preset.cpp:962 src/slic3r/GUI/Preset.cpp:1047 -#: src/slic3r/GUI/PresetBundle.cpp:1542 +#: src/slic3r/GUI/PresetComboBoxes.cpp:239 +#: src/slic3r/GUI/PresetComboBoxes.cpp:815 +#: src/slic3r/GUI/PresetComboBoxes.cpp:973 msgid "User presets" msgstr "Налаштування користувача" -#: src/slic3r/GUI/Preset.cpp:991 src/slic3r/GUI/Tab.cpp:247 -msgid "Add a new printer" -msgstr "" +#: src/slic3r/GUI/PresetComboBoxes.cpp:250 +msgid "Incompatible presets" +msgstr "Несумісні пресети" -#: src/slic3r/GUI/Preset.cpp:1251 -msgid "filament" -msgstr "" +#: src/slic3r/GUI/PresetComboBoxes.cpp:285 +msgid "Are you sure you want to delete \"%1%\" printer?" +msgstr "Ви впевнені, що хочете видалити принтер \"%1%\"?" -#: src/slic3r/GUI/PresetHints.cpp:28 -#, c-format -msgid "" -"If estimated layer time is below ~%ds, fan will run at %d%% and print speed " -"will be reduced so that no less than %ds are spent on that layer (however, " -"speed will never be reduced below %dmm/s)." -msgstr "" -"Якщо запланований час друку шару нижче ~%dс, вентилятор буде працювати на%d" -"%%, і швидкість друку буде зменшена, так що на цей шар витрачається не менше " -"%dс (однак швидкість ніколи не зменшиться нижче %d mm/s) ." +#: src/slic3r/GUI/PresetComboBoxes.cpp:287 +msgid "Delete Physical Printer" +msgstr "Видалити фізичний принтер" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:624 +msgid "Click to edit preset" +msgstr "Клацніть, щоб змінити пресет" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:680 +#: src/slic3r/GUI/PresetComboBoxes.cpp:710 +msgid "Add/Remove presets" +msgstr "Додати/Видалити пресети" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:685 +#: src/slic3r/GUI/PresetComboBoxes.cpp:715 src/slic3r/GUI/Tab.cpp:2990 +msgid "Add physical printer" +msgstr "Додати фізичний принтер" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:699 +msgid "Edit preset" +msgstr "Редагувати пресет" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:703 src/slic3r/GUI/Tab.cpp:2990 +msgid "Edit physical printer" +msgstr "Редагувати фізичний принтер" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:706 +msgid "Delete physical printer" +msgstr "Видалити фізичний принтер" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:826 +#: src/slic3r/GUI/PresetComboBoxes.cpp:987 +msgid "Physical printers" +msgstr "Фізичний принтер" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:850 +msgid "Add/Remove filaments" +msgstr "Додати/Видалити філаменти" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:852 +msgid "Add/Remove materials" +msgstr "Додати/Видалити матеріали" + +#: src/slic3r/GUI/PresetComboBoxes.cpp:854 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1011 +msgid "Add/Remove printers" +msgstr "Додати/Видалити прінтери" #: src/slic3r/GUI/PresetHints.cpp:32 -#, c-format msgid "" -"\n" -"If estimated layer time is greater, but still below ~%ds, fan will run at a " -"proportionally decreasing speed between %d%% and %d%%." +"If estimated layer time is below ~%1%s, fan will run at %2%%% and print " +"speed will be reduced so that no less than %3%s are spent on that layer " +"(however, speed will never be reduced below %4%mm/s)." msgstr "" -"\n" -"Якщо запланований час друку шару більше, але все ще нижче ~%dс, вентилятор " -"буде працювати з пропорційно зменшуваною швидкістю між %d%% та %d%%." +"Якщо передбачуваний час шару менше ~%1%s, вентилятор працюватиме на %2%%% і " +"швидкість друку буде зменшена, так що на цей шар буде витрачено не менше " +"%3%s (однак швидкість ніколи не зменшиться нижче %4%мм/с)." -#: src/slic3r/GUI/PresetHints.cpp:36 +#: src/slic3r/GUI/PresetHints.cpp:39 msgid "" -"\n" -"During the other layers, fan " +"If estimated layer time is greater, but still below ~%1%s, fan will run at a " +"proportionally decreasing speed between %2%%% and %3%%%." msgstr "" -"\n" -"Під час друку інших шарів вентилятор " +"Якщо передбачуваний час шару більше, але все ще менше ~%1%s, вентилятор " +"працюватиме із пропорційно зменшуваною швидкістю між %2%%% і %3%%%." -#: src/slic3r/GUI/PresetHints.cpp:38 -msgid "Fan " -msgstr "Вентилятор " +#: src/slic3r/GUI/PresetHints.cpp:49 +msgid "Fan speed will be ramped from zero at layer %1% to %2%%% at layer %3%." +msgstr "" +"Швидкість вентилятора буде збільшена з нуля на шарі %1% до %2%%% на шарі %3%." -#: src/slic3r/GUI/PresetHints.cpp:43 -#, c-format -msgid "will always run at %d%% " -msgstr "буде завжди працювати на %d%% " +#: src/slic3r/GUI/PresetHints.cpp:51 +msgid "During the other layers, fan will always run at %1%%%" +msgstr "Під час інших шарів вентилятор завжди працюватиме на %1%%%" -#: src/slic3r/GUI/PresetHints.cpp:46 -#, c-format -msgid "except for the first %d layers" -msgstr "за винятком перших %d шарів" +#: src/slic3r/GUI/PresetHints.cpp:51 +msgid "Fan will always run at %1%%%" +msgstr "Вентилятор завжди працюватиме на %1%%%" -#: src/slic3r/GUI/PresetHints.cpp:50 -msgid "except for the first layer" -msgstr "за винятком першого шару" +#: src/slic3r/GUI/PresetHints.cpp:53 +msgid "except for the first %1% layers." +msgstr "за винятком перших %1% шарів." -#: src/slic3r/GUI/PresetHints.cpp:52 -msgid "will be turned off." -msgstr "буде вимкнено." +#: src/slic3r/GUI/PresetHints.cpp:55 +msgid "except for the first layer." +msgstr "за винятком першого шару." -#: src/slic3r/GUI/PresetHints.cpp:153 +#: src/slic3r/GUI/PresetHints.cpp:58 +msgid "During the other layers, fan will be turned off." +msgstr "Під час інших шарів вентилятор буде вимкнено." + +#: src/slic3r/GUI/PresetHints.cpp:58 +msgid "Fan will be turned off." +msgstr "Вентилятор буде вимкнено." + +#: src/slic3r/GUI/PresetHints.cpp:159 msgid "external perimeters" msgstr "зовнішні периметри" -#: src/slic3r/GUI/PresetHints.cpp:162 +#: src/slic3r/GUI/PresetHints.cpp:168 msgid "perimeters" msgstr "периметри" -#: src/slic3r/GUI/PresetHints.cpp:171 +#: src/slic3r/GUI/PresetHints.cpp:177 msgid "infill" msgstr "наповнення" -#: src/slic3r/GUI/PresetHints.cpp:181 +#: src/slic3r/GUI/PresetHints.cpp:187 msgid "solid infill" msgstr "суцільне наповнення" -#: src/slic3r/GUI/PresetHints.cpp:189 +#: src/slic3r/GUI/PresetHints.cpp:195 msgid "top solid infill" msgstr "верхній суцільне наповнення" -#: src/slic3r/GUI/PresetHints.cpp:200 +#: src/slic3r/GUI/PresetHints.cpp:206 msgid "support" msgstr "підтримка" -#: src/slic3r/GUI/PresetHints.cpp:210 +#: src/slic3r/GUI/PresetHints.cpp:216 msgid "support interface" msgstr "інтерфейс підтримки" -#: src/slic3r/GUI/PresetHints.cpp:216 +#: src/slic3r/GUI/PresetHints.cpp:222 msgid "First layer volumetric" msgstr "Об'єм першого шару" -#: src/slic3r/GUI/PresetHints.cpp:216 +#: src/slic3r/GUI/PresetHints.cpp:222 msgid "Bridging volumetric" msgstr "Об'єм мостів" -#: src/slic3r/GUI/PresetHints.cpp:216 +#: src/slic3r/GUI/PresetHints.cpp:222 msgid "Volumetric" msgstr "Об'ємний" -#: src/slic3r/GUI/PresetHints.cpp:217 -msgid " flow rate is maximized " -msgstr " швидкість потоку максимізується " +#: src/slic3r/GUI/PresetHints.cpp:223 +msgid "flow rate is maximized" +msgstr "швидкість потоку максимізується" -#: src/slic3r/GUI/PresetHints.cpp:220 +#: src/slic3r/GUI/PresetHints.cpp:226 msgid "by the print profile maximum" msgstr "за профілем друку максимум" -#: src/slic3r/GUI/PresetHints.cpp:221 -msgid "when printing " -msgstr "коли друкуємо " - -#: src/slic3r/GUI/PresetHints.cpp:222 -msgid " with a volumetric rate " -msgstr " з об'ємною швидкістю " - -#: src/slic3r/GUI/PresetHints.cpp:226 -#, c-format -msgid "%3.2f mm³/s" -msgstr "%3.2f мм³/с" +#: src/slic3r/GUI/PresetHints.cpp:227 +msgid "when printing" +msgstr "коли друкуємо" #: src/slic3r/GUI/PresetHints.cpp:228 -#, c-format -msgid " at filament speed %3.2f mm/s." -msgstr " при швидкості філаменту %3.2f мм/с." +msgid "with a volumetric rate" +msgstr "з об'ємною швидкістю" -#: src/slic3r/GUI/PresetHints.cpp:247 +#: src/slic3r/GUI/PresetHints.cpp:232 +#, c-format +msgid "%3.2f mm³/s at filament speed %3.2f mm/s." +msgstr "%3.2f мм³/с при швидкості філаменту %3.2f мм/с." + +#: src/slic3r/GUI/PresetHints.cpp:250 msgid "" "Recommended object thin wall thickness: Not available due to invalid layer " "height." msgstr "" -"Рекомендований об'єкт товщиною тонкої стінки: Недоступний через невірне " -"значення висоти шару." +"Рекомендована товщина стінки об'єкту: Недоступний через невірне значення " +"висоти шару." -#: src/slic3r/GUI/PresetHints.cpp:264 +#: src/slic3r/GUI/PresetHints.cpp:266 #, c-format -msgid "Recommended object thin wall thickness for layer height %.2f and " -msgstr "Рекомендована товщина стінки для висоти шару %.2f та " +msgid "Recommended object thin wall thickness for layer height %.2f and" +msgstr "Рекомендована товщина стінки об'єкту для висоти шару %.2f та" -#: src/slic3r/GUI/PresetHints.cpp:271 +#: src/slic3r/GUI/PresetHints.cpp:273 #, c-format -msgid "%d lines: %.2lf mm" -msgstr "%d рядків: %.2lf мм" +msgid "%d lines: %.2f mm" +msgstr "%d рядків: %.2f мм" -#: src/slic3r/GUI/PrintHostDialogs.cpp:32 +#: src/slic3r/GUI/PresetHints.cpp:277 +msgid "" +"Recommended object thin wall thickness: Not available due to excessively " +"small extrusion width." +msgstr "" +"Рекомендована товщина стінки об'єкту: Недоступний через надмірно малу ширину " +"екструзії." + +#: src/slic3r/GUI/PresetHints.cpp:306 +msgid "" +"Top / bottom shell thickness hint: Not available due to invalid layer height." +msgstr "" +"Підказка щодо товщини верхньої/нижньої оболонки: Недоступна через " +"неправильну висоту шару." + +#: src/slic3r/GUI/PresetHints.cpp:319 +msgid "Top shell is %1% mm thick for layer height %2% mm." +msgstr "Верхня оболонка має товщину %1% мм для висоти шару %2% мм." + +#: src/slic3r/GUI/PresetHints.cpp:322 +msgid "Minimum top shell thickness is %1% mm." +msgstr "Мінімальна товщина верхньої оболонки становить %1% мм." + +#: src/slic3r/GUI/PresetHints.cpp:325 +msgid "Top is open." +msgstr "Верх відкритий." + +#: src/slic3r/GUI/PresetHints.cpp:338 +msgid "Bottom shell is %1% mm thick for layer height %2% mm." +msgstr "Нижня оболонка має товщину %1% мм для висоти шару %2% мм." + +#: src/slic3r/GUI/PresetHints.cpp:341 +msgid "Minimum bottom shell thickness is %1% mm." +msgstr "Мінімальна товщина нижньої оболонки становить %1% мм." + +#: src/slic3r/GUI/PresetHints.cpp:344 +msgid "Bottom is open." +msgstr "Внизу відкрито." + +#: src/slic3r/GUI/PrintHostDialogs.cpp:35 msgid "Send G-Code to printer host" -msgstr "" +msgstr "Надіслання G-коду на хост друку" -#: src/slic3r/GUI/PrintHostDialogs.cpp:32 +#: src/slic3r/GUI/PrintHostDialogs.cpp:35 msgid "Upload to Printer Host with the following filename:" -msgstr "" +msgstr "Завантажити на хост принтера з таким ім’ям файлу:" -#: src/slic3r/GUI/PrintHostDialogs.cpp:34 +#: src/slic3r/GUI/PrintHostDialogs.cpp:37 msgid "Start printing after upload" -msgstr "" +msgstr "Почати друк після заведення" -#: src/slic3r/GUI/PrintHostDialogs.cpp:41 +#: src/slic3r/GUI/PrintHostDialogs.cpp:45 msgid "Use forward slashes ( / ) as a directory separator if needed." -msgstr "" +msgstr "За потреби використовуйте скісні риски (/) як роздільник каталогів." -#: src/slic3r/GUI/PrintHostDialogs.cpp:157 +#: src/slic3r/GUI/PrintHostDialogs.cpp:58 +msgid "Group" +msgstr "Group" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +msgid "ID" +msgstr "ID" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:177 +msgid "Progress" +msgstr "Прогрес" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:178 +msgid "Status" +msgstr "Статус" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:179 +msgid "Host" +msgstr "Хост" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:180 +msgid "Filename" +msgstr "Ім'я файлу" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:181 +msgid "Error Message" +msgstr "Повідомлення про помилку" + +#: src/slic3r/GUI/PrintHostDialogs.cpp:184 msgid "Cancel selected" -msgstr "" +msgstr "Скасувати вибране" -#: src/slic3r/GUI/PrintHostDialogs.cpp:159 +#: src/slic3r/GUI/PrintHostDialogs.cpp:186 msgid "Show error message" -msgstr "" +msgstr "Показати повідомлення про помилку" -#: src/slic3r/GUI/PrintHostDialogs.cpp:198 -#: src/slic3r/GUI/PrintHostDialogs.cpp:217 +#: src/slic3r/GUI/PrintHostDialogs.cpp:228 +#: src/slic3r/GUI/PrintHostDialogs.cpp:261 msgid "Enqueued" -msgstr "" +msgstr "У черзі" -#: src/slic3r/GUI/PrintHostDialogs.cpp:218 +#: src/slic3r/GUI/PrintHostDialogs.cpp:262 msgid "Uploading" -msgstr "" +msgstr "Завантаження" -#: src/slic3r/GUI/PrintHostDialogs.cpp:222 +#: src/slic3r/GUI/PrintHostDialogs.cpp:266 msgid "Completed" -msgstr "" +msgstr "Завершено" -#: src/slic3r/GUI/PrintHostDialogs.cpp:260 +#: src/slic3r/GUI/PrintHostDialogs.cpp:304 msgid "Error uploading to print host:" -msgstr "" +msgstr "Помилка завантаження на хост друку:" #: src/slic3r/GUI/RammingChart.cpp:23 msgid "NO RAMMING AT ALL" -msgstr "" +msgstr "ВЗАГАЛІ БЕЗ раммінгу" -#: src/slic3r/GUI/RammingChart.cpp:76 -msgid "Time" -msgstr "" - -#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/RammingChart.cpp:81 -#: src/slic3r/GUI/WipeTowerDialog.cpp:82 src/libslic3r/PrintConfig.cpp:611 -#: src/libslic3r/PrintConfig.cpp:655 src/libslic3r/PrintConfig.cpp:670 -#: src/libslic3r/PrintConfig.cpp:2241 src/libslic3r/PrintConfig.cpp:2250 -#: src/libslic3r/PrintConfig.cpp:2308 src/libslic3r/PrintConfig.cpp:2315 +#: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/WipeTowerDialog.cpp:83 +#: src/libslic3r/PrintConfig.cpp:706 src/libslic3r/PrintConfig.cpp:750 +#: src/libslic3r/PrintConfig.cpp:765 src/libslic3r/PrintConfig.cpp:2636 +#: src/libslic3r/PrintConfig.cpp:2645 src/libslic3r/PrintConfig.cpp:2755 +#: src/libslic3r/PrintConfig.cpp:2763 src/libslic3r/PrintConfig.cpp:2771 +#: src/libslic3r/PrintConfig.cpp:2778 src/libslic3r/PrintConfig.cpp:2786 +#: src/libslic3r/PrintConfig.cpp:2794 msgid "s" -msgstr "" +msgstr "с" #: src/slic3r/GUI/RammingChart.cpp:81 msgid "Volumetric speed" -msgstr "" +msgstr "Об'ємна швидкість" -#: src/slic3r/GUI/SysInfoDialog.cpp:44 -msgid "Slic3r Prusa Edition - System Information" -msgstr "" +#: src/slic3r/GUI/RammingChart.cpp:81 src/libslic3r/PrintConfig.cpp:663 +#: src/libslic3r/PrintConfig.cpp:1458 +msgid "mm³/s" +msgstr "мм³/с" -#: src/slic3r/GUI/Tab.cpp:50 src/libslic3r/PrintConfig.cpp:228 +#: src/slic3r/GUI/SavePresetDialog.cpp:57 +#, c-format +msgid "Save %s as:" +msgstr "Зберегти %s як:" + +#: src/slic3r/GUI/SavePresetDialog.cpp:110 +msgid "the following suffix is not allowed:" +msgstr "такий суфікс не допускається:" + +#: src/slic3r/GUI/SavePresetDialog.cpp:116 +msgid "The supplied name is not available." +msgstr "Надане ім'я недоступне." + +#: src/slic3r/GUI/SavePresetDialog.cpp:122 +msgid "Cannot overwrite a system profile." +msgstr "Неможливо замінити системний профіль." + +#: src/slic3r/GUI/SavePresetDialog.cpp:127 +msgid "Cannot overwrite an external profile." +msgstr "Неможливо замінити сторонній профіль." + +#: src/slic3r/GUI/SavePresetDialog.cpp:134 +msgid "Preset with name \"%1%\" already exists." +msgstr "Пресет з ім'ям \"%1%\" вже існує." + +#: src/slic3r/GUI/SavePresetDialog.cpp:136 +msgid "" +"Preset with name \"%1%\" already exists and is incompatible with selected " +"printer." +msgstr "Пресет з ім'ям \"%1%\" вже існує і несумісний з вибраним принтером." + +#: src/slic3r/GUI/SavePresetDialog.cpp:137 +msgid "Note: This preset will be replaced after saving" +msgstr "Примітка: Цей пресет буде замінено після збереження" + +#: src/slic3r/GUI/SavePresetDialog.cpp:142 +msgid "The name cannot be empty." +msgstr "Ім'я не може бути порожнім." + +#: src/slic3r/GUI/SavePresetDialog.cpp:147 +msgid "The name cannot start with space character." +msgstr "Ім'я не може починатися з пробілу." + +#: src/slic3r/GUI/SavePresetDialog.cpp:152 +msgid "The name cannot end with space character." +msgstr "Ім'я не може закінчуватися пробілом." + +#: src/slic3r/GUI/SavePresetDialog.cpp:186 +#: src/slic3r/GUI/SavePresetDialog.cpp:192 +msgid "Save preset" +msgstr "Зберегти налаштування" + +#: src/slic3r/GUI/SavePresetDialog.cpp:215 +msgctxt "PresetName" +msgid "Copy" +msgstr "Копія" + +#: src/slic3r/GUI/SavePresetDialog.cpp:273 +msgid "" +"You have selected physical printer \"%1%\" \n" +"with related printer preset \"%2%\"" +msgstr "" +"Ви вибрали фізичний принтер \"%1%\"\n" +"із пов'язаним пресетом \"%2%\"" + +#: src/slic3r/GUI/SavePresetDialog.cpp:306 +msgid "What would you like to do with \"%1%\" preset after saving?" +msgstr "Що ви хочете зробити із пресетом \"%1%\" після збереження?" + +#: src/slic3r/GUI/SavePresetDialog.cpp:309 +msgid "Change \"%1%\" to \"%2%\" for this physical printer \"%3%\"" +msgstr "Для цього фізичного принтера \"%3%\" змінити \"%1%\" на \"%2%\"" + +#: src/slic3r/GUI/SavePresetDialog.cpp:310 +msgid "Add \"%1%\" as a next preset for the the physical printer \"%2%\"" +msgstr "Додати \"%1%\" як наступний пресет для фізичного принтера \"%2%\"" + +#: src/slic3r/GUI/SavePresetDialog.cpp:311 +msgid "Just switch to \"%1%\" preset" +msgstr "Просто переключитися до пресету \"%1%\"" + +#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2421 +msgid "Stealth" +msgstr "Тихий" + +#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2415 +msgid "Normal" +msgstr "Нормальний" + +#: src/slic3r/GUI/Selection.cpp:172 +msgid "Selection-Add" +msgstr "Виділення - Додано" + +#: src/slic3r/GUI/Selection.cpp:213 +msgid "Selection-Remove" +msgstr "Виділення - Видалено" + +#: src/slic3r/GUI/Selection.cpp:245 +msgid "Selection-Add Object" +msgstr "Виділення - Додано об'єкт" + +#: src/slic3r/GUI/Selection.cpp:264 +msgid "Selection-Remove Object" +msgstr "Виділення - Видалено об'єкт" + +#: src/slic3r/GUI/Selection.cpp:282 +msgid "Selection-Add Instance" +msgstr "Виділення - Додано екземпляр" + +#: src/slic3r/GUI/Selection.cpp:301 +msgid "Selection-Remove Instance" +msgstr "Виділення - Видалено екземпляр" + +#: src/slic3r/GUI/Selection.cpp:402 +msgid "Selection-Add All" +msgstr "Виділення - Додано все" + +#: src/slic3r/GUI/Selection.cpp:428 +msgid "Selection-Remove All" +msgstr "Виділення - Видалено все" + +#: src/slic3r/GUI/Selection.cpp:960 +msgid "Scale To Fit" +msgstr "Масштабувати під область друку" + +#: src/slic3r/GUI/Selection.cpp:1487 +msgid "Set Printable Instance" +msgstr "Встановити екземпляр \"Для друку\"" + +#: src/slic3r/GUI/Selection.cpp:1487 +msgid "Set Unprintable Instance" +msgstr "Встановити екземпляр \"Не для друку\"" + +#: src/slic3r/GUI/SysInfoDialog.cpp:82 +msgid "System Information" +msgstr "Інформація про систему" + +#: src/slic3r/GUI/SysInfoDialog.cpp:158 +msgid "Copy to Clipboard" +msgstr "Скопіювати в буфер обміну" + +#: src/slic3r/GUI/Tab.cpp:109 src/libslic3r/PrintConfig.cpp:321 msgid "Compatible printers" msgstr "Сумісні принтери" -#: src/slic3r/GUI/Tab.cpp:51 +#: src/slic3r/GUI/Tab.cpp:110 msgid "Select the printers this profile is compatible with." msgstr "Оберіть принтери, сумісні з цим профілем." -#: src/slic3r/GUI/Tab.cpp:56 src/libslic3r/PrintConfig.cpp:243 +#: src/slic3r/GUI/Tab.cpp:115 src/libslic3r/PrintConfig.cpp:336 msgid "Compatible print profiles" -msgstr "" +msgstr "Сумісні пресети друку" -#: src/slic3r/GUI/Tab.cpp:57 +#: src/slic3r/GUI/Tab.cpp:116 msgid "Select the print profiles this profile is compatible with." -msgstr "" +msgstr "Оберіть профілі друку, з якими цей профіль сумісний." -#: src/slic3r/GUI/Tab.cpp:132 -msgid "Save current " -msgstr "Зберегти поточний " +#. TRN "Save current Settings" +#: src/slic3r/GUI/Tab.cpp:211 +#, c-format +msgid "Save current %s" +msgstr "Зберегти поточний %s" -#: src/slic3r/GUI/Tab.cpp:133 +#: src/slic3r/GUI/Tab.cpp:212 msgid "Delete this preset" msgstr "Видалити це налаштування" -#: src/slic3r/GUI/Tab.cpp:145 +#: src/slic3r/GUI/Tab.cpp:216 msgid "" "Hover the cursor over buttons to find more information \n" "or click this button." msgstr "" +"Наведіть курсор на кнопки, щоб знайти додаткову інформацію\n" +"або натисніть цю кнопку." -#: src/slic3r/GUI/Tab.cpp:858 -msgid "It's a default preset." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:220 +msgid "Search in settings [%1%]" +msgstr "Шукайте в налаштуваннях [%1%]" -#: src/slic3r/GUI/Tab.cpp:859 -msgid "It's a system preset." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:1237 +msgid "Detach from system preset" +msgstr "Від'єднати від системного пресету" -#: src/slic3r/GUI/Tab.cpp:860 -msgid "Current preset is inherited from " -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:865 -msgid "It can't be deleted or modified. " -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:866 +#: src/slic3r/GUI/Tab.cpp:1250 msgid "" -"Any modifications should be saved as a new preset inherited from this one. " +"A copy of the current system preset will be created, which will be detached " +"from the system preset." msgstr "" +"Буде створено копію поточного системного пресету, який буде від'єднано від " +"системного пресету." -#: src/slic3r/GUI/Tab.cpp:867 +#: src/slic3r/GUI/Tab.cpp:1251 +msgid "" +"The current custom preset will be detached from the parent system preset." +msgstr "" +"Поточний власний пресет буде від'єднаний від батьківського системного " +"пресету." + +#: src/slic3r/GUI/Tab.cpp:1254 +msgid "Modifications to the current profile will be saved." +msgstr "Зміни до поточного профілю буде збережено." + +#: src/slic3r/GUI/Tab.cpp:1257 +msgid "" +"This action is not revertable.\n" +"Do you want to proceed?" +msgstr "" +"Цю дію не можна повернути.\n" +"Ви хочете продовжити?" + +#: src/slic3r/GUI/Tab.cpp:1259 +msgid "Detach preset" +msgstr "Від'єднати пресет" + +#: src/slic3r/GUI/Tab.cpp:1285 +msgid "This is a default preset." +msgstr "Цей пресет є пресетом за-замовчуванням." + +#: src/slic3r/GUI/Tab.cpp:1287 +msgid "This is a system preset." +msgstr "Цей пресет є системним пресетом." + +#: src/slic3r/GUI/Tab.cpp:1289 +msgid "Current preset is inherited from the default preset." +msgstr "Поточний пресет успадковується від пресету за замовчуванням." + +#: src/slic3r/GUI/Tab.cpp:1293 +msgid "Current preset is inherited from" +msgstr "Поточний пресет успадковується від" + +#: src/slic3r/GUI/Tab.cpp:1297 +msgid "It can't be deleted or modified." +msgstr "Його не можна видалити або змінити." + +#: src/slic3r/GUI/Tab.cpp:1298 +msgid "" +"Any modifications should be saved as a new preset inherited from this one." +msgstr "" +"Будь-які модифікації слід зберігати як новий пресет, успадкований від цього." + +#: src/slic3r/GUI/Tab.cpp:1299 msgid "To do that please specify a new name for the preset." -msgstr "" +msgstr "Для цього вкажіть нову назву пресету." -#: src/slic3r/GUI/Tab.cpp:871 +#: src/slic3r/GUI/Tab.cpp:1303 msgid "Additional information:" -msgstr "" +msgstr "Додаткова інформація:" -#: src/slic3r/GUI/Tab.cpp:877 +#: src/slic3r/GUI/Tab.cpp:1309 msgid "printer model" -msgstr "" +msgstr "модель принтеру" -#: src/slic3r/GUI/Tab.cpp:885 +#: src/slic3r/GUI/Tab.cpp:1317 msgid "default print profile" -msgstr "" +msgstr "профіль друку за замовчанням" -#: src/slic3r/GUI/Tab.cpp:888 +#: src/slic3r/GUI/Tab.cpp:1320 msgid "default filament profile" -msgstr "" +msgstr "профіль філаметну за замовчанням" -#: src/slic3r/GUI/Tab.cpp:902 +#: src/slic3r/GUI/Tab.cpp:1334 msgid "default SLA material profile" -msgstr "" +msgstr "профіль SLA-матеріалу за замовчанням" -#: src/slic3r/GUI/Tab.cpp:906 +#: src/slic3r/GUI/Tab.cpp:1338 msgid "default SLA print profile" -msgstr "" +msgstr "профіль SLA-друку за замовчанням" -#: src/slic3r/GUI/Tab.cpp:948 src/slic3r/GUI/Tab.cpp:3303 +#: src/slic3r/GUI/Tab.cpp:1346 +msgid "full profile name" +msgstr "повне ім'я профілю" + +#: src/slic3r/GUI/Tab.cpp:1347 +msgid "symbolic profile name" +msgstr "символічне ім'я профілю" + +#: src/slic3r/GUI/Tab.cpp:1385 src/slic3r/GUI/Tab.cpp:4042 msgid "Layers and perimeters" msgstr "Шари та периметри" -#: src/slic3r/GUI/Tab.cpp:949 src/libslic3r/PrintConfig.cpp:55 -msgid "Layer height" -msgstr "Висота шару" - -#: src/slic3r/GUI/Tab.cpp:953 +#: src/slic3r/GUI/Tab.cpp:1391 msgid "Vertical shells" msgstr "Вертикальні оболонки" -#: src/slic3r/GUI/Tab.cpp:964 +#: src/slic3r/GUI/Tab.cpp:1403 msgid "Horizontal shells" msgstr "Горизонтальні оболонки" -#: src/slic3r/GUI/Tab.cpp:965 src/libslic3r/PrintConfig.cpp:1709 +#: src/slic3r/GUI/Tab.cpp:1404 src/libslic3r/PrintConfig.cpp:1980 msgid "Solid layers" msgstr "Суцільні шари" -#: src/slic3r/GUI/Tab.cpp:970 +#: src/slic3r/GUI/Tab.cpp:1409 +msgid "Minimum shell thickness" +msgstr "Мінімальна товщина оболонки" + +#: src/slic3r/GUI/Tab.cpp:1420 msgid "Quality (slower slicing)" msgstr "Якість (повільне нарізання)" -#: src/slic3r/GUI/Tab.cpp:988 +#: src/slic3r/GUI/Tab.cpp:1448 msgid "Reducing printing time" msgstr "Зниження часу друку" -#: src/slic3r/GUI/Tab.cpp:1000 +#: src/slic3r/GUI/Tab.cpp:1460 msgid "Skirt and brim" msgstr "Плінтус та край" -#: src/slic3r/GUI/Tab.cpp:1017 +#: src/slic3r/GUI/Tab.cpp:1480 msgid "Raft" msgstr "Пліт" -#: src/slic3r/GUI/Tab.cpp:1021 +#: src/slic3r/GUI/Tab.cpp:1484 msgid "Options for support material and raft" msgstr "Варіанти для опорного матеріалу та плоту" -#: src/slic3r/GUI/Tab.cpp:1036 +#: src/slic3r/GUI/Tab.cpp:1499 msgid "Speed for print moves" msgstr "Швидкість друкарських рухів" -#: src/slic3r/GUI/Tab.cpp:1048 +#: src/slic3r/GUI/Tab.cpp:1512 msgid "Speed for non-print moves" msgstr "Швидкість недрукарських рухів" -#: src/slic3r/GUI/Tab.cpp:1051 +#: src/slic3r/GUI/Tab.cpp:1515 msgid "Modifiers" msgstr "Модифікатори" -#: src/slic3r/GUI/Tab.cpp:1054 +#: src/slic3r/GUI/Tab.cpp:1518 msgid "Acceleration control (advanced)" msgstr "Контроль прискорення (розширений)" -#: src/slic3r/GUI/Tab.cpp:1061 +#: src/slic3r/GUI/Tab.cpp:1525 msgid "Autospeed (advanced)" msgstr "Автоматична швидкість (розширена)" -#: src/slic3r/GUI/Tab.cpp:1069 +#: src/slic3r/GUI/Tab.cpp:1533 msgid "Multiple Extruders" msgstr "Кілька екструдерів" -#: src/slic3r/GUI/Tab.cpp:1077 +#: src/slic3r/GUI/Tab.cpp:1541 msgid "Ooze prevention" -msgstr "Профілактика просочування" +msgstr "Запобігання просочування" -#: src/slic3r/GUI/Tab.cpp:1094 +#: src/slic3r/GUI/Tab.cpp:1559 msgid "Extrusion width" msgstr "Ширина екструзії" -#: src/slic3r/GUI/Tab.cpp:1104 +#: src/slic3r/GUI/Tab.cpp:1569 msgid "Overlap" msgstr "Перекриття" -#: src/slic3r/GUI/Tab.cpp:1107 +#: src/slic3r/GUI/Tab.cpp:1572 msgid "Flow" msgstr "Потік" -#: src/slic3r/GUI/Tab.cpp:1116 +#: src/slic3r/GUI/Tab.cpp:1581 msgid "Other" msgstr "Інше" -#: src/slic3r/GUI/Tab.cpp:1119 src/slic3r/GUI/Tab.cpp:3351 +#: src/slic3r/GUI/Tab.cpp:1584 src/slic3r/GUI/Tab.cpp:4118 msgid "Output options" msgstr "Параметри виводу" -#: src/slic3r/GUI/Tab.cpp:1120 +#: src/slic3r/GUI/Tab.cpp:1585 msgid "Sequential printing" msgstr "Послідовне друкування" -#: src/slic3r/GUI/Tab.cpp:1122 -msgid "Extruder clearance (mm)" -msgstr "Розмір екструдера (мм)" +#: src/slic3r/GUI/Tab.cpp:1587 +msgid "Extruder clearance" +msgstr "Область зіткнення екструдера" -#: src/slic3r/GUI/Tab.cpp:1131 src/slic3r/GUI/Tab.cpp:3352 +#: src/slic3r/GUI/Tab.cpp:1592 src/slic3r/GUI/Tab.cpp:4119 msgid "Output file" msgstr "Вихідний файл" -#: src/slic3r/GUI/Tab.cpp:1138 src/libslic3r/PrintConfig.cpp:1382 +#: src/slic3r/GUI/Tab.cpp:1599 src/libslic3r/PrintConfig.cpp:1662 msgid "Post-processing scripts" msgstr "Скрипти пост-обробки" -#: src/slic3r/GUI/Tab.cpp:1144 src/slic3r/GUI/Tab.cpp:1145 -#: src/slic3r/GUI/Tab.cpp:1527 src/slic3r/GUI/Tab.cpp:1528 -#: src/slic3r/GUI/Tab.cpp:1935 src/slic3r/GUI/Tab.cpp:1936 -#: src/slic3r/GUI/Tab.cpp:2027 src/slic3r/GUI/Tab.cpp:2028 -#: src/slic3r/GUI/Tab.cpp:3240 src/slic3r/GUI/Tab.cpp:3241 +#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1606 +#: src/slic3r/GUI/Tab.cpp:1927 src/slic3r/GUI/Tab.cpp:1928 +#: src/slic3r/GUI/Tab.cpp:2266 src/slic3r/GUI/Tab.cpp:2267 +#: src/slic3r/GUI/Tab.cpp:2342 src/slic3r/GUI/Tab.cpp:2343 +#: src/slic3r/GUI/Tab.cpp:3985 src/slic3r/GUI/Tab.cpp:3986 msgid "Notes" msgstr "Примітки" -#: src/slic3r/GUI/Tab.cpp:1151 src/slic3r/GUI/Tab.cpp:1535 -#: src/slic3r/GUI/Tab.cpp:1942 src/slic3r/GUI/Tab.cpp:2034 -#: src/slic3r/GUI/Tab.cpp:3248 src/slic3r/GUI/Tab.cpp:3357 +#: src/slic3r/GUI/Tab.cpp:1612 src/slic3r/GUI/Tab.cpp:1935 +#: src/slic3r/GUI/Tab.cpp:2273 src/slic3r/GUI/Tab.cpp:2349 +#: src/slic3r/GUI/Tab.cpp:3993 src/slic3r/GUI/Tab.cpp:4124 msgid "Dependencies" msgstr "Залежності" -#: src/slic3r/GUI/Tab.cpp:1152 src/slic3r/GUI/Tab.cpp:1536 -#: src/slic3r/GUI/Tab.cpp:1943 src/slic3r/GUI/Tab.cpp:2035 -#: src/slic3r/GUI/Tab.cpp:3249 src/slic3r/GUI/Tab.cpp:3358 +#: src/slic3r/GUI/Tab.cpp:1613 src/slic3r/GUI/Tab.cpp:1936 +#: src/slic3r/GUI/Tab.cpp:2274 src/slic3r/GUI/Tab.cpp:2350 +#: src/slic3r/GUI/Tab.cpp:3994 src/slic3r/GUI/Tab.cpp:4125 msgid "Profile dependencies" msgstr "Залежності профілю" -#: src/slic3r/GUI/Tab.cpp:1198 -#, no-c-format -msgid "" -"The Spiral Vase mode requires:\n" -"- one perimeter\n" -"- no top solid layers\n" -"- 0% fill density\n" -"- no support material\n" -"- no ensure_vertical_shell_thickness\n" -"\n" -"Shall I adjust those settings in order to enable Spiral Vase?" -msgstr "" -"Режим спіральної вази вимагає:\n" -"- один периметр\n" -"- немає верхніх щільних шарів\n" -"- 0% щільність заповнення\n" -"- немає підтримуючого матеріалу\n" -"- не забезпечує товщини вертикальної оболонки\n" -"\n" -"Чи потрібно змінити ці налаштування, щоб увімкнути режим Спіральної вази?" +#: src/slic3r/GUI/Tab.cpp:1693 +msgid "Filament Overrides" +msgstr "Переписування глобальних змінних" -#: src/slic3r/GUI/Tab.cpp:1205 -msgid "Spiral Vase" -msgstr "Спіральна ваза" +#: src/slic3r/GUI/Tab.cpp:1815 +msgid "Temperature" +msgstr "Температура" -#: src/slic3r/GUI/Tab.cpp:1228 -msgid "" -"The Wipe Tower currently supports the non-soluble supports only\n" -"if they are printed with the current extruder without triggering a tool " -"change.\n" -"(both support_material_extruder and support_material_interface_extruder need " -"to be set to 0).\n" -"\n" -"Shall I adjust those settings in order to enable the Wipe Tower?" -msgstr "" -"Вичіщуюча веж в даний час підтримує лише нерозчинну підтримку\n" -"якщо вони друкуються з поточним екструдером, не запускаючи зміну " -"інструменту.\n" -"(обидва значення support_material_extruder і " -"support_material_interface_extruder повинні бути встановлені на 0).\n" -"\n" -"Чи потрібно коригувати ці налаштування, щоб увімкнути вичіщуючу веж?" +#: src/slic3r/GUI/Tab.cpp:1816 +msgid "Nozzle" +msgstr "Сопло" -#: src/slic3r/GUI/Tab.cpp:1232 src/slic3r/GUI/Tab.cpp:1249 -msgid "Wipe Tower" -msgstr "Вичіщуюча веж" - -#: src/slic3r/GUI/Tab.cpp:1246 -msgid "" -"For the Wipe Tower to work with the soluble supports, the support layers\n" -"need to be synchronized with the object layers.\n" -"\n" -"Shall I synchronize support layers in order to enable the Wipe Tower?" -msgstr "" -"Для того, щоб Вичіщуюча веж працювала з розчинними підтримками, шари " -"підтримки\n" -"повинні бути синхронізовані з шаром об'єкта.\n" -"\n" -"Чи потрібно синхронізувати шари підтримки, щоб увімкнути вичіщуючу веж?" - -#: src/slic3r/GUI/Tab.cpp:1264 -msgid "" -"Supports work better, if the following feature is enabled:\n" -"- Detect bridging perimeters\n" -"\n" -"Shall I adjust those settings for supports?" -msgstr "" -"Підтримка працює краще, якщо ввімкнено таку функцію:\n" -"- Виявлення висячих периметрів(перемичок)\n" -"\n" -"Чи потрібно змінити ці налаштування для підтримки?" - -#: src/slic3r/GUI/Tab.cpp:1267 -msgid "Support Generator" -msgstr "Створення підтримки" - -#: src/slic3r/GUI/Tab.cpp:1309 -msgid "The " -msgstr "Шаблон наповнення " - -#: src/slic3r/GUI/Tab.cpp:1309 -#, no-c-format -msgid "" -" infill pattern is not supposed to work at 100%% density.\n" -"\n" -"Shall I switch to rectilinear fill pattern?" -msgstr "" -" не підтримується на 100% щільності.\n" -"\n" -"Чи потрібно змінити його на Rectilinear шаблон заповнення?" - -#: src/slic3r/GUI/Tab.cpp:1429 -msgid "Temperature " -msgstr "Температура " - -#: src/slic3r/GUI/Tab.cpp:1435 +#: src/slic3r/GUI/Tab.cpp:1821 msgid "Bed" -msgstr "Полотно" +msgstr "Стіл" -#: src/slic3r/GUI/Tab.cpp:1440 +#: src/slic3r/GUI/Tab.cpp:1826 msgid "Cooling" msgstr "Охолодження" -#: src/slic3r/GUI/Tab.cpp:1441 src/libslic3r/PrintConfig.cpp:1285 -#: src/libslic3r/PrintConfig.cpp:2097 +#: src/slic3r/GUI/Tab.cpp:1828 src/libslic3r/PrintConfig.cpp:1565 +#: src/libslic3r/PrintConfig.cpp:2428 msgid "Enable" msgstr "Увімкнути" -#: src/slic3r/GUI/Tab.cpp:1452 +#: src/slic3r/GUI/Tab.cpp:1839 msgid "Fan settings" msgstr "Налаштування вентилятора" -#: src/slic3r/GUI/Tab.cpp:1453 -msgid "Fan speed" -msgstr "Швидкість вентилятора" - -#: src/slic3r/GUI/Tab.cpp:1461 +#: src/slic3r/GUI/Tab.cpp:1850 msgid "Cooling thresholds" msgstr "Пороги охолодження" -#: src/slic3r/GUI/Tab.cpp:1467 +#: src/slic3r/GUI/Tab.cpp:1856 msgid "Filament properties" msgstr "Властивості філаменту" -#: src/slic3r/GUI/Tab.cpp:1471 +#: src/slic3r/GUI/Tab.cpp:1863 msgid "Print speed override" msgstr "Перевизначення швидкості друку" -#: src/slic3r/GUI/Tab.cpp:1481 +#: src/slic3r/GUI/Tab.cpp:1873 +msgid "Wipe tower parameters" +msgstr "Параметри вежі витирання" + +#: src/slic3r/GUI/Tab.cpp:1876 msgid "Toolchange parameters with single extruder MM printers" -msgstr "" +msgstr "Параметри зміни інструменту в одно-екструдерному ММ-принтері" -#: src/slic3r/GUI/Tab.cpp:1496 +#: src/slic3r/GUI/Tab.cpp:1889 msgid "Ramming settings" -msgstr "" +msgstr "Налаштування раммінгу" -#: src/slic3r/GUI/Tab.cpp:1514 src/slic3r/GUI/Tab.cpp:1898 +#: src/slic3r/GUI/Tab.cpp:1912 src/slic3r/GUI/Tab.cpp:2205 +#: src/libslic3r/PrintConfig.cpp:2063 msgid "Custom G-code" msgstr "Користувацький G-код" -#: src/slic3r/GUI/Tab.cpp:1515 src/slic3r/GUI/Tab.cpp:1899 -#: src/libslic3r/PrintConfig.cpp:1735 src/libslic3r/PrintConfig.cpp:1750 +#: src/slic3r/GUI/Tab.cpp:1913 src/slic3r/GUI/Tab.cpp:2206 +#: src/libslic3r/PrintConfig.cpp:2013 src/libslic3r/PrintConfig.cpp:2028 msgid "Start G-code" msgstr "Початок G-коду" -#: src/slic3r/GUI/Tab.cpp:1521 src/slic3r/GUI/Tab.cpp:1905 -#: src/libslic3r/PrintConfig.cpp:358 src/libslic3r/PrintConfig.cpp:368 +#: src/slic3r/GUI/Tab.cpp:1920 src/slic3r/GUI/Tab.cpp:2213 +#: src/libslic3r/PrintConfig.cpp:441 src/libslic3r/PrintConfig.cpp:451 msgid "End G-code" msgstr "Закінчення G-коду" -#: src/slic3r/GUI/Tab.cpp:1632 src/slic3r/GUI/Tab.cpp:1689 -msgid " Browse " -msgstr " Переглянути " +#: src/slic3r/GUI/Tab.cpp:1970 +msgid "Volumetric flow hints not available" +msgstr "Підказки об'ємного потоку відсутні" -#: src/slic3r/GUI/Tab.cpp:1651 src/slic3r/GUI/Tab.cpp:1838 -msgid "Test" -msgstr "Перевірити" - -#: src/slic3r/GUI/Tab.cpp:1662 -msgid "Could not get a valid Printer Host reference" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:1668 src/slic3r/GUI/Tab.cpp:1851 -msgid "Success!" -msgstr "Успіх!" - -#: src/slic3r/GUI/Tab.cpp:1683 +#: src/slic3r/GUI/Tab.cpp:2066 msgid "" -"HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" -"signed certificate." +"Note: All parameters from this group are moved to the Physical Printer " +"settings (see changelog).\n" +"\n" +"A new Physical Printer profile is created by clicking on the \"cog\" icon " +"right of the Printer profiles combo box, by selecting the \"Add physical " +"printer\" item in the Printer combo box. The Physical Printer profile editor " +"opens also when clicking on the \"cog\" icon in the Printer settings tab. " +"The Physical Printer profiles are being stored into PrusaSlicer/" +"physical_printer directory." msgstr "" +"Примітка: Усі параметри з цієї групи переміщено до налаштувань фізичного " +"принтера (див. Журнал змін).\n" +"\n" +"Новий профіль фізичного принтера створюється натисканням на піктограму " +"\"гвинтик\" праворуч від списку \"Профілі принтера\", вибором пункту " +"\"Додати фізичний принтер\" у списку принтера. Редактор профілю фізичного " +"принтера відкривається також при натисканні на піктограму \"гвинтик\" на " +"вкладці \"Параметри принтеру\". Профілі фізичного принтера зберігаються в " +"каталозі \"PrusaSlicer/physical_printer\"." -#: src/slic3r/GUI/Tab.cpp:1696 -msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:1697 -msgid "Open CA certificate file" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:1725 -msgid "" -"HTTPS CA File:\n" -"\tOn this system, Slic3r uses HTTPS certificates from the system Certificate " -"Store or Keychain.\n" -"\tTo use a custom CA file, please import your CA file into Certificate " -"Store / Keychain." -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:1763 src/slic3r/GUI/Tab.cpp:1964 +#: src/slic3r/GUI/Tab.cpp:2099 src/slic3r/GUI/Tab.cpp:2286 msgid "Size and coordinates" msgstr "Розмір і координати" -#: src/slic3r/GUI/Tab.cpp:1767 src/slic3r/GUI/Tab.cpp:1968 -#: src/slic3r/GUI/Tab.cpp:2911 -msgid " Set " -msgstr " Встановити " - -#: src/slic3r/GUI/Tab.cpp:1790 +#: src/slic3r/GUI/Tab.cpp:2108 src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 msgid "Capabilities" msgstr "Можливості" -#: src/slic3r/GUI/Tab.cpp:1795 +#: src/slic3r/GUI/Tab.cpp:2113 msgid "Number of extruders of the printer." msgstr "Кількість екструдерів у принтері." -#: src/slic3r/GUI/Tab.cpp:1823 -msgid "USB/Serial connection" -msgstr "USB/послідовне з'єднання" - -#: src/slic3r/GUI/Tab.cpp:1824 src/libslic3r/PrintConfig.cpp:1590 -msgid "Serial port" -msgstr "Послідовний порт" - -#: src/slic3r/GUI/Tab.cpp:1829 -msgid "Rescan serial ports" -msgstr "Сканувати ще раз послідовні порти" - -#: src/slic3r/GUI/Tab.cpp:1851 -msgid "Connection to printer works correctly." -msgstr "Підключення до принтера працює коректно." - -#: src/slic3r/GUI/Tab.cpp:1854 -msgid "Connection failed." -msgstr "Підключення не вдалося." - -#: src/slic3r/GUI/Tab.cpp:1867 src/slic3r/GUI/Tab.cpp:2022 -msgid "Print Host upload" +#: src/slic3r/GUI/Tab.cpp:2141 +msgid "" +"Single Extruder Multi Material is selected, \n" +"and all extruders must have the same diameter.\n" +"Do you want to change the diameter for all extruders to first extruder " +"nozzle diameter value?" msgstr "" +"Вибрано мульти-матеріальний (ММ) друк з одним екструдером,\n" +"і всі екструдери повинні мати однаковий діаметр.\n" +"Хочете змінити діаметр для всіх екструдерів на значення діаметра сопла " +"першого екструдера?" -#: src/slic3r/GUI/Tab.cpp:1911 src/libslic3r/PrintConfig.cpp:128 +#: src/slic3r/GUI/Tab.cpp:2144 src/slic3r/GUI/Tab.cpp:2552 +#: src/libslic3r/PrintConfig.cpp:1534 +msgid "Nozzle diameter" +msgstr "Діаметр сопла" + +#: src/slic3r/GUI/Tab.cpp:2220 src/libslic3r/PrintConfig.cpp:209 msgid "Before layer change G-code" msgstr "G-код перед зміною шару" -#: src/slic3r/GUI/Tab.cpp:1917 src/libslic3r/PrintConfig.cpp:1030 +#: src/slic3r/GUI/Tab.cpp:2227 src/libslic3r/PrintConfig.cpp:1273 msgid "After layer change G-code" msgstr "G-код після зміни шару" -#: src/slic3r/GUI/Tab.cpp:1923 src/libslic3r/PrintConfig.cpp:2005 +#: src/slic3r/GUI/Tab.cpp:2234 src/libslic3r/PrintConfig.cpp:2321 msgid "Tool change G-code" msgstr "G-код зміни інструменту" -#: src/slic3r/GUI/Tab.cpp:1929 +#: src/slic3r/GUI/Tab.cpp:2241 msgid "Between objects G-code (for sequential printing)" msgstr "G-код між об'єктами (для послідовного друку)" -#: src/slic3r/GUI/Tab.cpp:1990 +#: src/slic3r/GUI/Tab.cpp:2248 +msgid "Color Change G-code" +msgstr "G-код зміни кольору" + +#: src/slic3r/GUI/Tab.cpp:2254 src/libslic3r/PrintConfig.cpp:2054 +msgid "Pause Print G-code" +msgstr "G-код для паузи друку" + +#: src/slic3r/GUI/Tab.cpp:2260 +msgid "Template Custom G-code" +msgstr "Шаблон власного G-коду" + +#: src/slic3r/GUI/Tab.cpp:2293 msgid "Display" -msgstr "" +msgstr "Дисплей" -#: src/slic3r/GUI/Tab.cpp:2001 +#: src/slic3r/GUI/Tab.cpp:2308 msgid "Tilt" -msgstr "" +msgstr "Нахил" -#: src/slic3r/GUI/Tab.cpp:2002 +#: src/slic3r/GUI/Tab.cpp:2309 msgid "Tilt time" -msgstr "" +msgstr "Час нахилу" -#: src/slic3r/GUI/Tab.cpp:2008 src/slic3r/GUI/Tab.cpp:3223 +#: src/slic3r/GUI/Tab.cpp:2315 src/slic3r/GUI/Tab.cpp:3969 msgid "Corrections" -msgstr "" +msgstr "Поправки" -#: src/slic3r/GUI/Tab.cpp:2074 src/slic3r/GUI/Tab.cpp:2136 -#: src/libslic3r/PrintConfig.cpp:1076 src/libslic3r/PrintConfig.cpp:1086 -#: src/libslic3r/PrintConfig.cpp:1096 src/libslic3r/PrintConfig.cpp:1109 -#: src/libslic3r/PrintConfig.cpp:1120 src/libslic3r/PrintConfig.cpp:1131 -#: src/libslic3r/PrintConfig.cpp:1142 +#: src/slic3r/GUI/Tab.cpp:2332 src/slic3r/GUI/Tab.cpp:3965 +msgid "Exposure" +msgstr "Експозиція" + +#: src/slic3r/GUI/Tab.cpp:2391 src/slic3r/GUI/Tab.cpp:2485 +#: src/libslic3r/PrintConfig.cpp:1302 src/libslic3r/PrintConfig.cpp:1337 +#: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1371 +#: src/libslic3r/PrintConfig.cpp:1387 src/libslic3r/PrintConfig.cpp:1397 +#: src/libslic3r/PrintConfig.cpp:1407 src/libslic3r/PrintConfig.cpp:1417 msgid "Machine limits" -msgstr "" +msgstr "Механічних обмеження" -#: src/slic3r/GUI/Tab.cpp:2088 -msgid "Values in this column are for Full Power mode" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2414 +msgid "Values in this column are for Normal mode" +msgstr "Значення в цьому стовпці для нормального режиму" -#: src/slic3r/GUI/Tab.cpp:2089 -msgid "Full Power" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:2420 +msgid "Values in this column are for Stealth mode" +msgstr "Значення в цьому стовпці для тихого режиму" -#: src/slic3r/GUI/Tab.cpp:2094 -msgid "Values in this column are for Silent mode" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2095 -msgid "Silent" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2103 +#: src/slic3r/GUI/Tab.cpp:2429 msgid "Maximum feedrates" -msgstr "" +msgstr "Максимальна швидкість подачі" -#: src/slic3r/GUI/Tab.cpp:2108 +#: src/slic3r/GUI/Tab.cpp:2434 msgid "Maximum accelerations" -msgstr "" +msgstr "Максимальні прискорення" -#: src/slic3r/GUI/Tab.cpp:2115 +#: src/slic3r/GUI/Tab.cpp:2441 msgid "Jerk limits" -msgstr "" +msgstr "Обмеження ривку" -#: src/slic3r/GUI/Tab.cpp:2120 +#: src/slic3r/GUI/Tab.cpp:2446 msgid "Minimum feedrates" -msgstr "" +msgstr "Мінімальна швидкість подачі" -#: src/slic3r/GUI/Tab.cpp:2158 src/slic3r/GUI/Tab.cpp:2166 +#: src/slic3r/GUI/Tab.cpp:2510 src/slic3r/GUI/Tab.cpp:2518 msgid "Single extruder MM setup" -msgstr "" +msgstr "Налаштування MM екструдера" -#: src/slic3r/GUI/Tab.cpp:2167 +#: src/slic3r/GUI/Tab.cpp:2519 msgid "Single extruder multimaterial parameters" +msgstr "Параметри екструдеру в багато-екструдерному принтері" + +#: src/slic3r/GUI/Tab.cpp:2550 +msgid "" +"This is a single extruder multimaterial printer, diameters of all extruders " +"will be set to the new value. Do you want to proceed?" msgstr "" +"Це одно-екструдерний багато-матеріальний принтер, діаметри всіх екструдерів " +"будуть встановлені на нове значення. Ви хочете продовжити?" -#: src/slic3r/GUI/Tab.cpp:2181 src/libslic3r/GCode/PreviewData.cpp:475 -#, c-format -msgid "Extruder %d" -msgstr "Екструдер %d" - -#: src/slic3r/GUI/Tab.cpp:2188 +#: src/slic3r/GUI/Tab.cpp:2574 msgid "Layer height limits" msgstr "Межі висоти шару" -#: src/slic3r/GUI/Tab.cpp:2193 +#: src/slic3r/GUI/Tab.cpp:2579 msgid "Position (for multi-extruder printers)" msgstr "Позиція (для мульти-екструдерних принтерів)" -#: src/slic3r/GUI/Tab.cpp:2196 -msgid "Retraction" -msgstr "Переривання" - -#: src/slic3r/GUI/Tab.cpp:2199 +#: src/slic3r/GUI/Tab.cpp:2585 msgid "Only lift Z" msgstr "Межі підняття Z" -#: src/slic3r/GUI/Tab.cpp:2212 +#: src/slic3r/GUI/Tab.cpp:2598 msgid "" "Retraction when tool is disabled (advanced settings for multi-extruder " "setups)" @@ -3531,11 +7409,11 @@ msgstr "" "Переривання при відключенні інструмента (додаткові налаштування для " "налагодження мульти-екструдерів)" -#: src/slic3r/GUI/Tab.cpp:2216 -msgid "Preview" -msgstr "Попередній перегляд" +#: src/slic3r/GUI/Tab.cpp:2605 +msgid "Reset to Filament Color" +msgstr "Скинути до кольору філаменту" -#: src/slic3r/GUI/Tab.cpp:2352 +#: src/slic3r/GUI/Tab.cpp:2783 msgid "" "The Wipe option is not available when using the Firmware Retraction mode.\n" "\n" @@ -3546,281 +7424,468 @@ msgstr "" "\n" "Відключити його для увімкнення програмного переривання?" -#: src/slic3r/GUI/Tab.cpp:2354 +#: src/slic3r/GUI/Tab.cpp:2785 msgid "Firmware Retraction" msgstr "Програмне переривання" -#: src/slic3r/GUI/Tab.cpp:2681 -#, c-format -msgid "Default preset (%s)" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:3376 +msgid "Detached" +msgstr "Від'єднаний" -#: src/slic3r/GUI/Tab.cpp:2682 -#, c-format -msgid "Preset (%s)" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2699 -msgid "has the following unsaved changes:" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2702 -msgid "is not compatible with printer" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2703 -msgid "is not compatible with print profile" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2705 -msgid "and it has the following unsaved changes:" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2708 -msgid "Discard changes and continue anyway?" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2709 -msgid "Unsaved Changes" -msgstr "Незбережені зміни" - -#: src/slic3r/GUI/Tab.cpp:2721 -msgid "Please check your object list before preset changing." -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2801 -msgid "Copy" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2823 -msgid "The supplied name is empty. It can't be saved." -msgstr "Надане ім'я порожнє. Не вдається зберегти." - -#: src/slic3r/GUI/Tab.cpp:2828 -msgid "Cannot overwrite a system profile." -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2832 -msgid "Cannot overwrite an external profile." -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:2858 +#: src/slic3r/GUI/Tab.cpp:3439 msgid "remove" -msgstr "перемістити" +msgstr "видалити" -#: src/slic3r/GUI/Tab.cpp:2858 +#: src/slic3r/GUI/Tab.cpp:3439 msgid "delete" msgstr "видалити" -#: src/slic3r/GUI/Tab.cpp:2859 -msgid "Are you sure you want to " -msgstr "Ви впевнені, що хочете " +#: src/slic3r/GUI/Tab.cpp:3448 +msgid "It's a last preset for this physical printer." +msgstr "Це останній пресет для цього фізичного принтера." -#: src/slic3r/GUI/Tab.cpp:2859 -msgid " the selected preset?" -msgstr " вибране налаштування?" - -#: src/slic3r/GUI/Tab.cpp:2860 -msgid "Remove" -msgstr "Перемістити" - -#: src/slic3r/GUI/Tab.cpp:2861 -msgid " Preset" -msgstr " Налаштування" - -#: src/slic3r/GUI/Tab.cpp:2989 +#: src/slic3r/GUI/Tab.cpp:3453 msgid "" -"LOCKED LOCK;indicates that the settings are the same as the system values " +"Are you sure you want to delete \"%1%\" preset from the physical printer " +"\"%2%\"?" +msgstr "" +"Ви впевнені, що хочете видалити пресет \"%1%\" із фізичного принтера \"%2%\"?" + +#: src/slic3r/GUI/Tab.cpp:3465 +msgid "" +"The physical printer(s) below is based on the preset, you are going to " +"delete." +msgstr "" +"Наведений(і) нижче фізичний(і) принтер(и) базується на пресеті, які ви " +"збираєтеся видалити." + +#: src/slic3r/GUI/Tab.cpp:3469 +msgid "" +"Note, that selected preset will be deleted from this/those printer(s) too." +msgstr "" +"Зверніть увагу, що вибраний пресет буде також видалено з цього/цих " +"принтеру(ів)." + +#: src/slic3r/GUI/Tab.cpp:3473 +msgid "" +"The physical printer(s) below is based only on the preset, you are going to " +"delete." +msgstr "" +"Наведений(і) нижче фізичний(і) принтер(и) базується тільки на пресеті, які " +"ви збираєтеся видалити." + +#: src/slic3r/GUI/Tab.cpp:3477 +msgid "" +"Note, that this/those printer(s) will be deleted after deleting of the " +"selected preset." +msgstr "" +"Зауважте, що цей/ці принтер(и) буде видалено після видалення вибраного " +"пресету." + +#: src/slic3r/GUI/Tab.cpp:3481 +msgid "Are you sure you want to %1% the selected preset?" +msgstr "Ви впевнені, що хочете %1% вибраний пресет?" + +#. TRN Remove/Delete +#: src/slic3r/GUI/Tab.cpp:3486 +msgid "%1% Preset" +msgstr "%1% пресет" + +#: src/slic3r/GUI/Tab.cpp:3567 src/slic3r/GUI/Tab.cpp:3639 +msgid "Set" +msgstr "Встановити" + +#: src/slic3r/GUI/Tab.cpp:3703 +msgid "" +"Machine limits will be emitted to G-code and used to estimate print time." +msgstr "" +"Механічних обмеження публікуватимуться в G-код і використовуватимуться для " +"розрахунку часу друку." + +#: src/slic3r/GUI/Tab.cpp:3706 +msgid "" +"Machine limits will NOT be emitted to G-code, however they will be used to " +"estimate print time, which may therefore not be accurate as the printer may " +"apply a different set of machine limits." +msgstr "" +"Механічних обмеження НЕ публікуватимуться в G-код, однак вони будуть " +"використовуватися для оцінки часу друку, що, отже, може бути неточним, " +"оскільки принтер може застосовувати інший набір механічних обмежень." + +#: src/slic3r/GUI/Tab.cpp:3710 +msgid "" +"Machine limits are not set, therefore the print time estimate may not be " +"accurate." +msgstr "" +"Механічних обмеження не встановлені, тому оцінка часу друку може бути " +"неточною." + +#: src/slic3r/GUI/Tab.cpp:3732 +msgid "LOCKED LOCK" +msgstr "ЗАКРИТИЙ ЗАМОК" + +#. TRN Description for "LOCKED LOCK" +#: src/slic3r/GUI/Tab.cpp:3734 +msgid "" +"indicates that the settings are the same as the system (or default) values " "for the current option group" msgstr "" +"вказує на те, що параметри збігаються із системними (або за замовчуванням) " +"значеннями для поточної групи опцій" -#: src/slic3r/GUI/Tab.cpp:2992 +#: src/slic3r/GUI/Tab.cpp:3736 +msgid "UNLOCKED LOCK" +msgstr "ВІДКРИТИЙ ЗАМОК" + +#. TRN Description for "UNLOCKED LOCK" +#: src/slic3r/GUI/Tab.cpp:3738 msgid "" -"UNLOCKED LOCK;indicates that some settings were changed and are not equal to " -"the system values for the current option group.\n" +"indicates that some settings were changed and are not equal to the system " +"(or default) values for the current option group.\n" "Click the UNLOCKED LOCK icon to reset all settings for current option group " -"to the system values." +"to the system (or default) values." msgstr "" +"вказує на те, що деякі параметри були змінені і не дорівнюють системним (або " +"за замовчуванням) значенням для поточної групи опцій.\n" +"Клацніть, щоб скинути всі налаштування для поточної групи опцій до системних " +"значень (або за замовчуванням)." -#: src/slic3r/GUI/Tab.cpp:2998 +#: src/slic3r/GUI/Tab.cpp:3743 +msgid "WHITE BULLET" +msgstr "БІЛА КУЛЯ" + +#. TRN Description for "WHITE BULLET" +#: src/slic3r/GUI/Tab.cpp:3745 msgid "" -"WHITE BULLET;for the left button: \tindicates a non-system preset,\n" -"for the right button: \tindicates that the settings hasn't been modified." +"for the left button: indicates a non-system (or non-default) preset,\n" +"for the right button: indicates that the settings hasn't been modified." msgstr "" +"для лівої кнопки: вказує на несистемний (або не за замовчуванням) пресет,\n" +"для правої кнопки: вказує на те, що параметри не були змінені." -#: src/slic3r/GUI/Tab.cpp:3002 +#: src/slic3r/GUI/Tab.cpp:3748 +msgid "BACK ARROW" +msgstr "СТРІЛКА НАЗАД" + +#. TRN Description for "BACK ARROW" +#: src/slic3r/GUI/Tab.cpp:3750 msgid "" -"BACK ARROW;indicates that the settings were changed and are not equal to the " -"last saved preset for the current option group.\n" +"indicates that the settings were changed and are not equal to the last saved " +"preset for the current option group.\n" "Click the BACK ARROW icon to reset all settings for the current option group " "to the last saved preset." msgstr "" +"вказує на те, що параметри були змінені і не дорівнюють останньому " +"збереженому пресету для поточної групи параметрів.\n" +"Клацніть, щоб скинути всі параметри для поточної групи параметрів до " +"останнього збереженого пресету." -#: src/slic3r/GUI/Tab.cpp:3028 +#: src/slic3r/GUI/Tab.cpp:3760 msgid "" -"LOCKED LOCK icon indicates that the settings are the same as the system " -"values for the current option group" +"LOCKED LOCK icon indicates that the settings are the same as the system (or " +"default) values for the current option group" msgstr "" +"Значок \"ЗАКРИТИЙ ЗАМОК\" вказує на те, що параметри збігаються із " +"системними (або за замовчуванням) значеннями для поточної групи опцій" -#: src/slic3r/GUI/Tab.cpp:3030 +#: src/slic3r/GUI/Tab.cpp:3762 msgid "" "UNLOCKED LOCK icon indicates that some settings were changed and are not " -"equal to the system values for the current option group.\n" -"Click to reset all settings for current option group to the system values." +"equal to the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or " +"default) values." msgstr "" +"Значок \"ВІДКРИТИЙ ЗАМОК\" вказує на те, що деякі параметри були змінені і " +"не дорівнюють системним (або за замовчуванням) значенням для поточної групи " +"опцій.\n" +"Клацніть, щоб скинути всі налаштування для поточної групи опцій до системних " +"значень (або за замовчуванням)." -#: src/slic3r/GUI/Tab.cpp:3033 -msgid "WHITE BULLET icon indicates a non system preset." +#: src/slic3r/GUI/Tab.cpp:3765 +msgid "WHITE BULLET icon indicates a non system (or non default) preset." msgstr "" +"Значок \"БІЛА КУЛЯ\" вказує на несистемний (або не за замовчуванням) пресет." -#: src/slic3r/GUI/Tab.cpp:3036 +#: src/slic3r/GUI/Tab.cpp:3768 msgid "" "WHITE BULLET icon indicates that the settings are the same as in the last " "saved preset for the current option group." msgstr "" +"Значок \"БІЛА КУЛЯ\" вказує на те, що параметри збігаються тими, які є в " +"останньому збереженому пресеті для поточної групи опцій." -#: src/slic3r/GUI/Tab.cpp:3038 +#: src/slic3r/GUI/Tab.cpp:3770 msgid "" "BACK ARROW icon indicates that the settings were changed and are not equal " "to the last saved preset for the current option group.\n" "Click to reset all settings for the current option group to the last saved " "preset." msgstr "" +"Значок \"СТРІЛКА НАЗАД\" вказує на те, що параметри були змінені і не " +"дорівнюють останньому збереженому пресету для поточної групи параметрів.\n" +"Клацніть, щоб скинути всі параметри для поточної групи параметрів до " +"останнього збереженого пресету." -#: src/slic3r/GUI/Tab.cpp:3044 +#: src/slic3r/GUI/Tab.cpp:3776 msgid "" -"LOCKED LOCK icon indicates that the value is the same as the system value." +"LOCKED LOCK icon indicates that the value is the same as the system (or " +"default) value." msgstr "" +"Значок \"ЗАКРИТИЙ ЗАМОК\" вказує на те, що значення збігається із системним " +"(або за замовчуванням)." -#: src/slic3r/GUI/Tab.cpp:3045 +#: src/slic3r/GUI/Tab.cpp:3777 msgid "" "UNLOCKED LOCK icon indicates that the value was changed and is not equal to " -"the system value.\n" -"Click to reset current value to the system value." +"the system (or default) value.\n" +"Click to reset current value to the system (or default) value." msgstr "" +"Значок \"ВІДКРИТИЙ ЗАМОК\" вказує на те, що значення було змінено і не " +"дорівнює системному (або за замовчуванням) значенню.\n" +"Клацніть, щоб скинути поточне значення до системного (або за замовчуванням)." -#: src/slic3r/GUI/Tab.cpp:3051 +#: src/slic3r/GUI/Tab.cpp:3783 msgid "" "WHITE BULLET icon indicates that the value is the same as in the last saved " "preset." msgstr "" +"Значок \"БІЛА КУЛЯ\" вказує на те, що значення збігається з значенням " +"збереженого пресету." -#: src/slic3r/GUI/Tab.cpp:3052 +#: src/slic3r/GUI/Tab.cpp:3784 msgid "" "BACK ARROW icon indicates that the value was changed and is not equal to the " "last saved preset.\n" "Click to reset current value to the last saved preset." msgstr "" +"Значок \"СТРІЛКА НАЗАД\" вказує на те, що значення було змінено і не " +"дорівнює останньому збереженому пресету.\n" +"Клацніть, щоб скинути поточне значення до останнього збереженого пресету." -#: src/slic3r/GUI/Tab.cpp:3152 -msgid " as:" -msgstr " як:" - -#: src/slic3r/GUI/Tab.cpp:3196 -msgid "the following postfix are not allowed:" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:3200 -msgid "The supplied name is not available." -msgstr "Надане ім'я недійсне." - -#: src/slic3r/GUI/Tab.cpp:3213 +#: src/slic3r/GUI/Tab.cpp:3928 src/slic3r/GUI/Tab.cpp:3930 msgid "Material" -msgstr "" +msgstr "Матеріал" -#: src/slic3r/GUI/Tab.cpp:3215 src/slic3r/GUI/Tab.cpp:3305 -msgid "Layers" -msgstr "Шари" - -#: src/slic3r/GUI/Tab.cpp:3219 -msgid "Exposure" -msgstr "" - -#: src/slic3r/GUI/Tab.cpp:3313 +#: src/slic3r/GUI/Tab.cpp:4052 msgid "Support head" -msgstr "" +msgstr "Головка підтримки" -#: src/slic3r/GUI/Tab.cpp:3318 +#: src/slic3r/GUI/Tab.cpp:4057 msgid "Support pillar" -msgstr "" +msgstr "Стовп підтримки" -#: src/slic3r/GUI/Tab.cpp:3328 +#: src/slic3r/GUI/Tab.cpp:4080 msgid "Connection of the support sticks and junctions" -msgstr "" +msgstr "З'єднання опорних стовпів і стиків" -#: src/slic3r/GUI/Tab.cpp:3333 +#: src/slic3r/GUI/Tab.cpp:4085 msgid "Automatic generation" -msgstr "" +msgstr "Автоматичне згенерування" -#: src/slic3r/GUI/Tab.cpp:3395 -msgid "Head penetration should not be greater than the head width." +#: src/slic3r/GUI/Tab.cpp:4159 +msgid "" +"\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" +"To enable \"%1%\", please switch off \"%2%\"" msgstr "" +"\"%1%\" вимкнено, оскільки в категорії \"%3%\" увімкнено \"%2%\".\n" +"Щоб увімкнути \"%1%\", вимкніть \"%2%\"" -#: src/slic3r/GUI/Tab.cpp:3396 -msgid "Invalid Head penetration" -msgstr "" +#: src/slic3r/GUI/Tab.cpp:4161 src/libslic3r/PrintConfig.cpp:3002 +msgid "Object elevation" +msgstr "Підняття об’єкта" -#: src/slic3r/GUI/Tab.cpp:3408 -msgid "Pinhead diameter should be smaller than the pillar diameter." -msgstr "" +#: src/slic3r/GUI/Tab.cpp:4161 src/libslic3r/PrintConfig.cpp:3104 +msgid "Pad around object" +msgstr "Подушка навколо об’єкта" -#: src/slic3r/GUI/Tab.cpp:3409 -msgid "Invalid pinhead diameter" -msgstr "" - -#: src/slic3r/GUI/Tab.hpp:307 src/slic3r/GUI/Tab.hpp:395 +#: src/slic3r/GUI/Tab.hpp:370 src/slic3r/GUI/Tab.hpp:492 msgid "Print Settings" msgstr "Параметри друку" -#: src/slic3r/GUI/Tab.hpp:325 +#: src/slic3r/GUI/Tab.hpp:401 msgid "Filament Settings" msgstr "Параметри філаменту" -#: src/slic3r/GUI/Tab.hpp:358 +#: src/slic3r/GUI/Tab.hpp:442 msgid "Printer Settings" msgstr "Параметри принтеру" -#: src/slic3r/GUI/Tab.hpp:381 +#: src/slic3r/GUI/Tab.hpp:476 msgid "Material Settings" +msgstr "Параметри матеріалу" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:149 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 +msgid "Undef" +msgstr "Невизначений" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:537 +msgid "PrusaSlicer is closing: Unsaved Changes" +msgstr "PrusaSlicer закривається: Незбережені зміни" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:554 +msgid "Switching Presets: Unsaved Changes" +msgstr "Перемикання пресетів: незбережені зміни" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:620 +msgid "Old Value" +msgstr "Старе значення" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:621 +msgid "New Value" +msgstr "Нове значення" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:652 +msgid "Transfer" +msgstr "Перенести" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:653 +msgid "Discard" +msgstr "Відхилити" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:654 +msgid "Save" +msgstr "Зберегти" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:674 +msgid "PrusaSlicer will remember your action." +msgstr "PrusaSlicer запам'ятає ваші дії." + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:676 +msgid "" +"You will not be asked about the unsaved changes the next time you close " +"PrusaSlicer." msgstr "" +"Наступного разу, коли ви закриватимете PrusaSlicer, вас не питатимуть про " +"незбережені зміни." -#: src/slic3r/GUI/Tab.hpp:407 -msgid "Save preset" -msgstr "Зберегти налаштування" +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:677 +msgid "" +"You will not be asked about the unsaved changes the next time you switch a " +"preset." +msgstr "" +"Наступного разу, коли ви переключите пресет, вас не питатимуть про " +"незбережені зміни." -#: src/slic3r/GUI/UpdateDialogs.cpp:29 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:678 +msgid "" +"Visit \"Preferences\" and check \"%1%\"\n" +"to be asked about unsaved changes again." +msgstr "" +"Відвідайте \"Преференції\" та встановіть прапорець \"%1%\"\n" +"щоб знову запитати про незбережені зміни." + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:680 +msgid "PrusaSlicer: Don't ask me again" +msgstr "PrusaSlicer: Не питай мене більше" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:747 +msgid "" +"Some fields are too long to fit. Right mouse click reveals the full text." +msgstr "" +"Деякі поля занадто довгі, щоб вміститися у чарунку. Клацніть правою кнопкою " +"миші, щоб відкрити повний текст." + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:749 +msgid "All settings changes will be discarded." +msgstr "Усі зміни параметрів буде відхилено." + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:752 +msgid "Save the selected options." +msgstr "Зберегти вибрані параметри." + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:752 +msgid "Transfer the selected settings to the newly selected preset." +msgstr "Перенести вибрані параметри до нещодавно вибраного пресету." + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:756 +msgid "Save the selected options to preset \"%1%\"." +msgstr "Зберегти вибрані параметри до пресету \"%1%\"." + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:757 +msgid "Transfer the selected options to the newly selected preset \"%1%\"." +msgstr "Перенести вибрані параметри до нещодавно вибраного пресету \"%1%\"." + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1019 +msgid "The following presets were modified:" +msgstr "Наступні пресети були змінені :" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1024 +msgid "Preset \"%1%\" has the following unsaved changes:" +msgstr "Пресет \"%1%\" має такі незбережені зміни:" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1028 +msgid "" +"Preset \"%1%\" is not compatible with the new printer profile and it has the " +"following unsaved changes:" +msgstr "" +"Пресет \"%1%\" несумісний з новим профілем принтера, і він має такі " +"незбережені зміни:" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1029 +msgid "" +"Preset \"%1%\" is not compatible with the new print profile and it has the " +"following unsaved changes:" +msgstr "" +"Пресет \"%1%\" несумісний з новим профілем друку, і він має такі незбережені " +"зміни:" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1075 +msgid "Extruders count" +msgstr "Кількість екструдерів" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1197 +msgid "Old value" +msgstr "Нове значення" + +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:1198 +msgid "New value" +msgstr "Нове значення" + +#: src/slic3r/GUI/UpdateDialogs.cpp:38 msgid "Update available" -msgstr "" +msgstr "Доступне оновлення" -#: src/slic3r/GUI/UpdateDialogs.cpp:29 -msgid "New version of Slic3r PE is available" -msgstr "" +#: src/slic3r/GUI/UpdateDialogs.cpp:38 +#, c-format +msgid "New version of %s is available" +msgstr "Доступна нова версія %s" -#: src/slic3r/GUI/UpdateDialogs.cpp:36 -msgid "To download, follow the link below." -msgstr "" - -#: src/slic3r/GUI/UpdateDialogs.cpp:44 +#: src/slic3r/GUI/UpdateDialogs.cpp:43 msgid "Current version:" -msgstr "" +msgstr "Поточна версія:" -#: src/slic3r/GUI/UpdateDialogs.cpp:46 +#: src/slic3r/GUI/UpdateDialogs.cpp:45 msgid "New version:" -msgstr "" +msgstr "Нова версія:" -#: src/slic3r/GUI/UpdateDialogs.cpp:54 +#: src/slic3r/GUI/UpdateDialogs.cpp:53 +msgid "Changelog && Download" +msgstr "Журнал змін і завантаження" + +#: src/slic3r/GUI/UpdateDialogs.cpp:60 src/slic3r/GUI/UpdateDialogs.cpp:125 +#: src/slic3r/GUI/UpdateDialogs.cpp:183 +msgid "Open changelog page" +msgstr "Відкрийте сторінку журналу змін" + +#: src/slic3r/GUI/UpdateDialogs.cpp:65 +msgid "Open download page" +msgstr "Відкрити сторінку завантаження" + +#: src/slic3r/GUI/UpdateDialogs.cpp:71 msgid "Don't notify about new releases any more" -msgstr "" +msgstr "Більше не сповіщати про нові випуски" -#: src/slic3r/GUI/UpdateDialogs.cpp:72 src/slic3r/GUI/UpdateDialogs.cpp:164 +#: src/slic3r/GUI/UpdateDialogs.cpp:89 src/slic3r/GUI/UpdateDialogs.cpp:266 msgid "Configuration update" -msgstr "" +msgstr "Оновлення конфігурації" -#: src/slic3r/GUI/UpdateDialogs.cpp:72 +#: src/slic3r/GUI/UpdateDialogs.cpp:89 msgid "Configuration update is available" -msgstr "" +msgstr "Доступне оновлення конфігурації" -#: src/slic3r/GUI/UpdateDialogs.cpp:75 +#: src/slic3r/GUI/UpdateDialogs.cpp:92 msgid "" "Would you like to install it?\n" "\n" @@ -3829,48 +7894,91 @@ msgid "" "\n" "Updated configuration bundles:" msgstr "" - -#: src/slic3r/GUI/UpdateDialogs.cpp:111 -msgid "Slic3r incompatibility" -msgstr "" - -#: src/slic3r/GUI/UpdateDialogs.cpp:111 -msgid "Slic3r configuration is incompatible" -msgstr "" - -#: src/slic3r/GUI/UpdateDialogs.cpp:114 -msgid "" -"This version of Slic3r PE is not compatible with currently installed " -"configuration bundles.\n" -"This probably happened as a result of running an older Slic3r PE after using " -"a newer one.\n" +"Ви хотіли б його встановити?\n" "\n" -"You may either exit Slic3r and try again with a newer version, or you may re-" -"run the initial configuration. Doing so will create a backup snapshot of the " -"existing configuration before installing files compatible with this Slic3r.\n" -msgstr "" +"Зверніть увагу, що спочатку буде створено повний знімок конфігурації. Потім " +"його можна відновити в будь-який час, у випадку проблем з новою версією.\n" +"\n" +"Оновлені пакети конфігурації:" -#: src/slic3r/GUI/UpdateDialogs.cpp:123 +#: src/slic3r/GUI/UpdateDialogs.cpp:113 src/slic3r/GUI/UpdateDialogs.cpp:173 +msgid "Comment:" +msgstr "Коментар:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:148 src/slic3r/GUI/UpdateDialogs.cpp:210 #, c-format -msgid "This Slic3r PE version: %s" -msgstr "" +msgid "%s incompatibility" +msgstr "Несумісність з %s" -#: src/slic3r/GUI/UpdateDialogs.cpp:128 -msgid "Incompatible bundles:" -msgstr "" +#: src/slic3r/GUI/UpdateDialogs.cpp:148 +msgid "You must install a configuration update." +msgstr "Потрібно встановити оновлення конфігурації." -#: src/slic3r/GUI/UpdateDialogs.cpp:144 -msgid "Exit Slic3r" -msgstr "" - -#: src/slic3r/GUI/UpdateDialogs.cpp:147 -msgid "Re-configure" -msgstr "" - -#: src/slic3r/GUI/UpdateDialogs.cpp:168 +#: src/slic3r/GUI/UpdateDialogs.cpp:151 #, c-format msgid "" -"Slic3r PE now uses an updated configuration structure.\n" +"%s will now start updates. Otherwise it won't be able to start.\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then " +"be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"Зараз %s розпочне оновлення. Інакше він не зможе запуститися.\n" +"\n" +"Зверніть увагу, що спочатку буде створено повний знімок конфігурації. Потім " +"його можна буде відновити в будь-який час, якщо виникне проблема з новою " +"версією.\n" +"\n" +"Оновлені пакети конфігурації:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:191 src/slic3r/GUI/UpdateDialogs.cpp:246 +#, c-format +msgid "Exit %s" +msgstr "Вихід %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:211 +#, c-format +msgid "%s configuration is incompatible" +msgstr "конфігурація %s є несумісна" + +#: src/slic3r/GUI/UpdateDialogs.cpp:216 +#, c-format +msgid "" +"This version of %s is not compatible with currently installed configuration " +"bundles.\n" +"This probably happened as a result of running an older %s after using a " +"newer one.\n" +"\n" +"You may either exit %s and try again with a newer version, or you may re-run " +"the initial configuration. Doing so will create a backup snapshot of the " +"existing configuration before installing files compatible with this %s." +msgstr "" +"Ця версія %s не сумісна з встановленими на сьогодні пакетами конфігурації.\n" +"Можливо, це сталося в результаті запуску старішого %s після використання " +"нового.\n" +"\n" +"Ви можете вийти зі %s і спробувати ще раз із новою версією, або повторно " +"запустити початкову конфігурацію. Це створить резервний знімок існуючої " +"конфігурації перед встановленням файлів, сумісних із цим %s." + +#: src/slic3r/GUI/UpdateDialogs.cpp:225 +#, c-format +msgid "This %s version: %s" +msgstr "%s версії %s" + +#: src/slic3r/GUI/UpdateDialogs.cpp:230 +msgid "Incompatible bundles:" +msgstr "Несумісні комплекти:" + +#: src/slic3r/GUI/UpdateDialogs.cpp:249 +msgid "Re-configure" +msgstr "Пере-налаштувати" + +#: src/slic3r/GUI/UpdateDialogs.cpp:270 +#, c-format +msgid "" +"%s now uses an updated configuration structure.\n" "\n" "So called 'System presets' have been introduced, which hold the built-in " "default settings for various printers. These System presets cannot be " @@ -3882,16 +7990,40 @@ msgid "" "Please proceed with the %s that follows to set up the new presets and to " "choose whether to enable automatic preset updates." msgstr "" +"%s тепер використовує оновлену структуру конфігурації.\n" +"\n" +"Були введені так звані \"системні пресети\", які містять вбудовані " +"налаштування за замовчуванням для різних принтерів. Ці системні пресети не " +"можуть бути змінені, натомість користувачі тепер можуть створювати власні " +"пресети, успадковуючи налаштування з одного із системних пресетів.\n" +"Спадковий пресет може успадкувати певне значення від свого батька або " +"замінити його своїм власним значенням.\n" +"\n" +"Будь ласка, перейдіть до %s, щоб налаштувати нові пресети та вибрати, чи " +"вмикати їх автоматичне оновлення." -#: src/slic3r/GUI/UpdateDialogs.cpp:184 +#: src/slic3r/GUI/UpdateDialogs.cpp:287 msgid "For more information please visit our wiki page:" -msgstr "" +msgstr "Для отримання додаткової інформації відвідайте нашу wiki-сторінку:" -#: src/slic3r/GUI/WipeTowerDialog.cpp:14 +#: src/slic3r/GUI/UpdateDialogs.cpp:304 +msgid "Configuration updates" +msgstr "Оновлення конфігурацій" + +#: src/slic3r/GUI/UpdateDialogs.cpp:304 +msgid "No updates available" +msgstr "Немає оновлень" + +#: src/slic3r/GUI/UpdateDialogs.cpp:309 +#, c-format +msgid "%s has no configuration updates available." +msgstr "%s не має оновлень конфігурації." + +#: src/slic3r/GUI/WipeTowerDialog.cpp:15 msgid "Ramming customization" -msgstr "" +msgstr "Налаштування раммінгу" -#: src/slic3r/GUI/WipeTowerDialog.cpp:40 +#: src/slic3r/GUI/WipeTowerDialog.cpp:41 msgid "" "Ramming denotes the rapid extrusion just before a tool change in a single-" "extruder MM printer. Its purpose is to properly shape the end of the " @@ -3903,576 +8035,835 @@ msgid "" "This is an expert-level setting, incorrect adjustment will likely lead to " "jams, extruder wheel grinding into filament etc." msgstr "" +"Раммінг означає швидке екструдування безпосередньо перед заміною інструменту " +"в одно-екструдерному принтері ММ. Його мета полягає у правильній формі кінця " +"виведеного філаменту, щоб вона не заважала вставці нового філаменту і може " +"бути знову встановлений пізніше. Ця фаза є важливою, і різні матеріали " +"можуть вимагати різної швидкості екструзії для отримання гарної форми. З " +"цієї причини швидкість екструдування під час раммінгу регулюється.\n" +"\n" +"Це налаштування на рівні експерта, неправильне регулювання, ймовірно, " +"призведе до заклинювання, подрібнення екструдерного колеса до філаменту тощо." -#: src/slic3r/GUI/WipeTowerDialog.cpp:82 +#: src/slic3r/GUI/WipeTowerDialog.cpp:83 msgid "Total ramming time" -msgstr "" +msgstr "Загальний час швидкої екструзії" -#: src/slic3r/GUI/WipeTowerDialog.cpp:84 +#: src/slic3r/GUI/WipeTowerDialog.cpp:85 msgid "Total rammed volume" -msgstr "" +msgstr "Загальний обсяг швидкої екструзії" -#: src/slic3r/GUI/WipeTowerDialog.cpp:88 +#: src/slic3r/GUI/WipeTowerDialog.cpp:89 msgid "Ramming line width" -msgstr "" +msgstr "Ширина ліній раммінгу" -#: src/slic3r/GUI/WipeTowerDialog.cpp:90 +#: src/slic3r/GUI/WipeTowerDialog.cpp:91 msgid "Ramming line spacing" -msgstr "" +msgstr "Проміжки між лініями раммінгу" -#: src/slic3r/GUI/WipeTowerDialog.cpp:141 +#: src/slic3r/GUI/WipeTowerDialog.cpp:142 msgid "Wipe tower - Purging volume adjustment" -msgstr "" +msgstr "Вежа витирання - Регулювання об'єму продувки" -#: src/slic3r/GUI/WipeTowerDialog.cpp:225 +#: src/slic3r/GUI/WipeTowerDialog.cpp:254 msgid "" "Here you can adjust required purging volume (mm³) for any given pair of " "tools." msgstr "" +"Тут ви можете відрегулювати необхідний об'єм витирання (мм³) для будь-якої " +"пари інструментів." -#: src/slic3r/GUI/WipeTowerDialog.cpp:226 +#: src/slic3r/GUI/WipeTowerDialog.cpp:255 msgid "Extruder changed to" -msgstr "" +msgstr "Екструдер змінено на" -#: src/slic3r/GUI/WipeTowerDialog.cpp:234 +#: src/slic3r/GUI/WipeTowerDialog.cpp:263 msgid "unloaded" -msgstr "" +msgstr "виведено" -#: src/slic3r/GUI/WipeTowerDialog.cpp:235 +#: src/slic3r/GUI/WipeTowerDialog.cpp:264 msgid "loaded" -msgstr "" +msgstr "заведено" -#: src/slic3r/GUI/WipeTowerDialog.cpp:240 +#: src/slic3r/GUI/WipeTowerDialog.cpp:276 msgid "Tool #" -msgstr "" +msgstr "Інструмент №" -#: src/slic3r/GUI/WipeTowerDialog.cpp:247 +#: src/slic3r/GUI/WipeTowerDialog.cpp:285 msgid "" "Total purging volume is calculated by summing two values below, depending on " "which tools are loaded/unloaded." msgstr "" +"Загальний об'єм витирання обчислюється шляхом підсумовування двох значень " +"нижче, залежно від того, який інструмент заведено/виведено." -#: src/slic3r/GUI/WipeTowerDialog.cpp:248 +#: src/slic3r/GUI/WipeTowerDialog.cpp:286 msgid "Volume to purge (mm³) when the filament is being" -msgstr "" +msgstr "Об'єм для витирання (мм³) при наявності філаменту" -#: src/slic3r/GUI/WipeTowerDialog.cpp:262 +#: src/slic3r/GUI/WipeTowerDialog.cpp:300 msgid "From" -msgstr "" +msgstr "Від" -#: src/slic3r/GUI/WipeTowerDialog.cpp:327 +#: src/slic3r/GUI/WipeTowerDialog.cpp:365 msgid "" "Switching to simple settings will discard changes done in the advanced " "mode!\n" "\n" "Do you want to proceed?" msgstr "" +"Перехід в простий режим налаштувань призведе до скасування змін, здійснених " +"у розширеному режимі!\n" +"\n" +"Хочете продовжити?" -#: src/slic3r/GUI/WipeTowerDialog.cpp:339 +#: src/slic3r/GUI/WipeTowerDialog.cpp:377 msgid "Show simplified settings" -msgstr "" +msgstr "Показати спрощені налаштування" -#: src/slic3r/GUI/WipeTowerDialog.cpp:339 +#: src/slic3r/GUI/WipeTowerDialog.cpp:377 msgid "Show advanced settings" -msgstr "" +msgstr "Показати розширені налаштування" -#: src/slic3r/GUI/wxExtensions.cpp:2398 +#: src/slic3r/GUI/wxExtensions.cpp:627 #, c-format msgid "Switch to the %s mode" msgstr "Перейти до режиму %s" -#: src/slic3r/GUI/wxExtensions.cpp:2399 +#: src/slic3r/GUI/wxExtensions.cpp:628 #, c-format msgid "Current mode is %s" msgstr "Поточний режим - %s" -#: src/slic3r/Utils/Duet.cpp:51 -msgid "Connection to Duet works correctly." -msgstr "" - -#: src/slic3r/Utils/Duet.cpp:56 -msgid "Could not connect to Duet" -msgstr "" - -#: src/slic3r/Utils/Duet.cpp:84 src/slic3r/Utils/Duet.cpp:154 -msgid "Unknown error occured" -msgstr "" - -#: src/slic3r/Utils/Duet.cpp:148 -msgid "Wrong password" -msgstr "" - -#: src/slic3r/Utils/Duet.cpp:151 -msgid "Could not get resources to create a new connection" -msgstr "" - -#: src/slic3r/Utils/OctoPrint.cpp:69 +#: src/slic3r/Utils/AstroBox.cpp:69 src/slic3r/Utils/OctoPrint.cpp:68 #, c-format msgid "Mismatched type of print host: %s" -msgstr "" +msgstr "Несумісний тип хосту друку: %s" -#: src/slic3r/Utils/OctoPrint.cpp:84 -msgid "Connection to OctoPrint works correctly." +#: src/slic3r/Utils/AstroBox.cpp:84 +msgid "Connection to AstroBox works correctly." msgstr "Підключення до OctoPrint працює правильно." -#: src/slic3r/Utils/OctoPrint.cpp:90 -msgid "Could not connect to OctoPrint" -msgstr "" +#: src/slic3r/Utils/AstroBox.cpp:90 +msgid "Could not connect to AstroBox" +msgstr "Не можливо підключитися до AstroBox" -#: src/slic3r/Utils/OctoPrint.cpp:90 -msgid "Note: OctoPrint version at least 1.1.0 is required." -msgstr "" +#: src/slic3r/Utils/AstroBox.cpp:92 +msgid "Note: AstroBox version at least 1.1.0 is required." +msgstr "Примітка: Потрібна версія AstroBox принаймні 1.1.0." -#: src/slic3r/Utils/OctoPrint.cpp:195 -msgid "Connection to Prusa SLA works correctly." -msgstr "" +#: src/slic3r/Utils/Duet.cpp:47 +msgid "Connection to Duet works correctly." +msgstr "Підключення до Duet працює правильно." -#: src/slic3r/Utils/OctoPrint.cpp:200 -msgid "Could not connect to Prusa SLA" -msgstr "" +#: src/slic3r/Utils/Duet.cpp:53 +msgid "Could not connect to Duet" +msgstr "Не можливо підключитися до Duet" -#: src/slic3r/Utils/PresetUpdater.cpp:583 -#, c-format -msgid "requires min. %s and max. %s" -msgstr "" +#: src/slic3r/Utils/Duet.cpp:88 src/slic3r/Utils/Duet.cpp:151 +#: src/slic3r/Utils/FlashAir.cpp:122 src/slic3r/Utils/FlashAir.cpp:143 +#: src/slic3r/Utils/FlashAir.cpp:159 +msgid "Unknown error occured" +msgstr "Сталася невідома помилка" -#: src/slic3r/Utils/PresetUpdater.cpp:588 -#, c-format -msgid "requires min. %s" -msgstr "" +#: src/slic3r/Utils/Duet.cpp:145 +msgid "Wrong password" +msgstr "Неправильний пароль" -#: src/slic3r/Utils/PresetUpdater.cpp:590 -#, c-format -msgid "requires max. %s" -msgstr "" +#: src/slic3r/Utils/Duet.cpp:148 +msgid "Could not get resources to create a new connection" +msgstr "Не вдалося отримати ресурси для створення нового з’єднання" #: src/slic3r/Utils/FixModelByWin10.cpp:219 #: src/slic3r/Utils/FixModelByWin10.cpp:359 msgid "Exporting source model" -msgstr "" +msgstr "Експортування вихідної моделі" #: src/slic3r/Utils/FixModelByWin10.cpp:235 msgid "Failed loading the input model." -msgstr "" +msgstr "Помилка завантаження вхідної моделі." #: src/slic3r/Utils/FixModelByWin10.cpp:242 msgid "Repairing model by the Netfabb service" -msgstr "" +msgstr "Відновлення моделі службою Netfabb" #: src/slic3r/Utils/FixModelByWin10.cpp:248 msgid "Mesh repair failed." -msgstr "" +msgstr "Не вдалося відновити сітку." #: src/slic3r/Utils/FixModelByWin10.cpp:251 #: src/slic3r/Utils/FixModelByWin10.cpp:378 msgid "Loading repaired model" -msgstr "" +msgstr "Завантаження відремонтованої моделі" #: src/slic3r/Utils/FixModelByWin10.cpp:263 #: src/slic3r/Utils/FixModelByWin10.cpp:270 #: src/slic3r/Utils/FixModelByWin10.cpp:302 msgid "Saving mesh into the 3MF container failed." -msgstr "" +msgstr "Не вдалося зберегти сітку в контейнері 3MF." #: src/slic3r/Utils/FixModelByWin10.cpp:340 msgid "Model fixing" -msgstr "" +msgstr "Ремонт моделі" #: src/slic3r/Utils/FixModelByWin10.cpp:341 -msgid "Exporting model..." -msgstr "" +msgid "Exporting model" +msgstr "Експортування моделі" #: src/slic3r/Utils/FixModelByWin10.cpp:368 msgid "Export of a temporary 3mf file failed" -msgstr "" +msgstr "Не вдалося експортувати тимчасовий 3MF-файл" #: src/slic3r/Utils/FixModelByWin10.cpp:383 msgid "Import of the repaired 3mf file failed" -msgstr "" +msgstr "Не вдалося імпортувати відновлений 3MF-файл" #: src/slic3r/Utils/FixModelByWin10.cpp:385 msgid "Repaired 3MF file does not contain any object" -msgstr "" +msgstr "Відновлений 3MF-файл не містить жодного об'єкта" #: src/slic3r/Utils/FixModelByWin10.cpp:387 msgid "Repaired 3MF file contains more than one object" -msgstr "" +msgstr "Відновлений 3MF-файл містить більше одного об'єкта" #: src/slic3r/Utils/FixModelByWin10.cpp:389 msgid "Repaired 3MF file does not contain any volume" -msgstr "" +msgstr "Відновлений 3MF-файл не містить жодної часті" #: src/slic3r/Utils/FixModelByWin10.cpp:391 msgid "Repaired 3MF file contains more than one volume" -msgstr "" +msgstr "Відновлений 3MF-файл містить більше однієї часті" #: src/slic3r/Utils/FixModelByWin10.cpp:400 msgid "Model repair finished" -msgstr "" +msgstr "Ремонт моделі завершено" #: src/slic3r/Utils/FixModelByWin10.cpp:406 msgid "Model repair canceled" -msgstr "" +msgstr "Ремонт моделі скасовано" #: src/slic3r/Utils/FixModelByWin10.cpp:423 msgid "Model repaired successfully" -msgstr "" +msgstr "Модель успішно відремонтована" #: src/slic3r/Utils/FixModelByWin10.cpp:423 #: src/slic3r/Utils/FixModelByWin10.cpp:426 msgid "Model Repair by the Netfabb service" -msgstr "" +msgstr "Ремонт моделі сервісом Netfabb" #: src/slic3r/Utils/FixModelByWin10.cpp:426 -msgid "Model repair failed: \n" -msgstr "" +msgid "Model repair failed:" +msgstr "Не вдалося відремонтувати модель:" -#: src/libslic3r/Zipper.cpp:35 +#: src/slic3r/Utils/FlashAir.cpp:58 +msgid "Upload not enabled on FlashAir card." +msgstr "Завантаження не ввімкнено на картці FlashAir." + +#: src/slic3r/Utils/FlashAir.cpp:68 +msgid "Connection to FlashAir works correctly and upload is enabled." +msgstr "Підключення до FlashAir працює правильно, і завантаження ввімкнено." + +#: src/slic3r/Utils/FlashAir.cpp:74 +msgid "Could not connect to FlashAir" +msgstr "Не можливо підключитися до FlashAir" + +#: src/slic3r/Utils/FlashAir.cpp:76 +msgid "" +"Note: FlashAir with firmware 2.00.02 or newer and activated upload function " +"is required." +msgstr "" +"Примітка: Потрібна FlashAir із прошивкою 2.00.02 або новішою та активованою " +"функцією завантаження." + +#: src/slic3r/Utils/OctoPrint.cpp:83 +msgid "Connection to OctoPrint works correctly." +msgstr "Підключення до OctoPrint працює правильно." + +#: src/slic3r/Utils/OctoPrint.cpp:89 +msgid "Could not connect to OctoPrint" +msgstr "Не можливо підключитися до OctoPrint" + +#: src/slic3r/Utils/OctoPrint.cpp:91 +msgid "Note: OctoPrint version at least 1.1.0 is required." +msgstr "Зауважте: Необхідна версія OctoPrint - принаймні 1.1.0." + +#: src/slic3r/Utils/OctoPrint.cpp:185 +msgid "Connection to Prusa SL1 works correctly." +msgstr "Підключення до Prusa SL1 працює правильно." + +#: src/slic3r/Utils/OctoPrint.cpp:191 +msgid "Could not connect to Prusa SLA" +msgstr "Не можливо підключитися до Prusa SLA" + +#: src/slic3r/Utils/PresetUpdater.cpp:727 +#, c-format +msgid "requires min. %s and max. %s" +msgstr "вимагається мін. %s та макс. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:731 +#, c-format +msgid "requires min. %s" +msgstr "вимагається мін. %s" + +#: src/slic3r/Utils/PresetUpdater.cpp:734 +#, c-format +msgid "requires max. %s" +msgstr "вимагається макс. %s" + +#: src/slic3r/Utils/Http.cpp:73 +msgid "" +"Could not detect system SSL certificate store. PrusaSlicer will be unable to " +"establish secure network connections." +msgstr "" +"Не вдалося виявити системе сховище SSL сертифікатів. PrusaSlicer не зможе " +"встановити безпечні мережеві з'єднання." + +#: src/slic3r/Utils/Http.cpp:78 +msgid "PrusaSlicer detected system SSL certificate store in: %1%" +msgstr "PrusaSlicer виявив системне сховище сертифікатів SSL у: %1%" + +#: src/slic3r/Utils/Http.cpp:82 +msgid "" +"To specify the system certificate store manually, please set the %1% " +"environment variable to the correct CA bundle and restart the application." +msgstr "" +"Щоб вказати системне сховище сертифікатів вручну, встановіть змінну " +"середовища %1% на правильний пакет CA і перезапустіть програму." + +#: src/slic3r/Utils/Http.cpp:91 +msgid "" +"CURL init has failed. PrusaSlicer will be unable to establish network " +"connections. See logs for additional details." +msgstr "" +"Curl init зазнав невдачі. PrusaSlicer не зможе встановити мережні " +"підключення. Додаткові відомості див." + +#: src/slic3r/Utils/Process.cpp:151 +msgid "Open G-code file:" +msgstr "Відкрити файл G-кода:" + +#: src/libslic3r/GCode.cpp:518 +msgid "There is an object with no extrusions on the first layer." +msgstr "Виявлено об'єкт без екструзії на першому шарі." + +#: src/libslic3r/GCode.cpp:536 +msgid "Empty layers detected, the output would not be printable." +msgstr "Виявлено порожні шари, вихідні дані не можна надрукувати." + +#: src/libslic3r/GCode.cpp:537 +msgid "Print z" +msgstr "Друк на висоті" + +#: src/libslic3r/GCode.cpp:538 +msgid "" +"This is usually caused by negligibly small extrusions or by a faulty model. " +"Try to repair the model or change its orientation on the bed." +msgstr "" +"Зазвичай це спричинено мізерно малою екструзією або несправністю моделі. " +"Спробуйте відремонтувати модель або змінити її орієнтацію на столі." + +#: src/libslic3r/GCode.cpp:1261 +msgid "" +"Your print is very close to the priming regions. Make sure there is no " +"collision." +msgstr "" +"Ваша модель для друку розташована дуже близький до основних областей. " +"Переконайтесь, що немає зіткнення." + +#: src/libslic3r/ExtrusionEntity.cpp:324 src/libslic3r/ExtrusionEntity.cpp:360 +msgid "Mixed" +msgstr "Змішаний" + +#: src/libslic3r/Flow.cpp:61 +msgid "" +"Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible." +msgstr "" +"Не вдається розрахувати ширину екструзії для %1%: Змінна \"%2%\" недоступна." + +#: src/libslic3r/Format/3mf.cpp:1668 +msgid "" +"The selected 3mf file has been saved with a newer version of %1% and is not " +"compatible." +msgstr "Вибраний 3MF-файл було збережено з новою версією %1% і не сумісний." + +#: src/libslic3r/Format/AMF.cpp:958 +msgid "" +"The selected amf file has been saved with a newer version of %1% and is not " +"compatible." +msgstr "Вибраний АMF-файл було збережено з новою версією %1% і не сумісний." + +#: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" -msgstr "" +msgstr "невизначена помилка" -#: src/libslic3r/Zipper.cpp:37 +#: src/libslic3r/miniz_extension.cpp:93 msgid "too many files" -msgstr "" +msgstr "забагато файлів" -#: src/libslic3r/Zipper.cpp:39 +#: src/libslic3r/miniz_extension.cpp:95 msgid "file too large" -msgstr "" +msgstr "файл занадто великий" -#: src/libslic3r/Zipper.cpp:41 +#: src/libslic3r/miniz_extension.cpp:97 msgid "unsupported method" -msgstr "" +msgstr "непідтримуваний метод" -#: src/libslic3r/Zipper.cpp:43 +#: src/libslic3r/miniz_extension.cpp:99 msgid "unsupported encryption" -msgstr "" +msgstr "непідтримуване шифрування" -#: src/libslic3r/Zipper.cpp:45 +#: src/libslic3r/miniz_extension.cpp:101 msgid "unsupported feature" -msgstr "" +msgstr "непідтримувана функція" -#: src/libslic3r/Zipper.cpp:47 +#: src/libslic3r/miniz_extension.cpp:103 msgid "failed finding central directory" -msgstr "" +msgstr "не вдалося знайти центральний каталог" -#: src/libslic3r/Zipper.cpp:49 +#: src/libslic3r/miniz_extension.cpp:105 msgid "not a ZIP archive" -msgstr "" +msgstr "не ZIP-архів" -#: src/libslic3r/Zipper.cpp:51 +#: src/libslic3r/miniz_extension.cpp:107 msgid "invalid header or archive is corrupted" -msgstr "" +msgstr "недійсний заголовок або архів пошкоджено" -#: src/libslic3r/Zipper.cpp:53 +#: src/libslic3r/miniz_extension.cpp:109 msgid "unsupported multidisk archive" -msgstr "" +msgstr "непідтримуваний багатодисковий архів" -#: src/libslic3r/Zipper.cpp:55 +#: src/libslic3r/miniz_extension.cpp:111 msgid "decompression failed or archive is corrupted" -msgstr "" +msgstr "не вдалося розпакувати або архів пошкоджено" -#: src/libslic3r/Zipper.cpp:57 +#: src/libslic3r/miniz_extension.cpp:113 msgid "compression failed" -msgstr "" +msgstr "помилка компресії" -#: src/libslic3r/Zipper.cpp:59 +#: src/libslic3r/miniz_extension.cpp:115 msgid "unexpected decompressed size" -msgstr "" +msgstr "несподіваний розпакований розмір" -#: src/libslic3r/Zipper.cpp:61 +#: src/libslic3r/miniz_extension.cpp:117 msgid "CRC-32 check failed" -msgstr "" +msgstr "Помилка перевірки CRC-32" -#: src/libslic3r/Zipper.cpp:63 +#: src/libslic3r/miniz_extension.cpp:119 msgid "unsupported central directory size" -msgstr "" +msgstr "непідтримуваний розмір центрального каталогу" -#: src/libslic3r/Zipper.cpp:65 +#: src/libslic3r/miniz_extension.cpp:121 msgid "allocation failed" -msgstr "" +msgstr "розміщення не вдався" -#: src/libslic3r/Zipper.cpp:67 +#: src/libslic3r/miniz_extension.cpp:123 msgid "file open failed" -msgstr "" +msgstr "не вдалося відкрити файл" -#: src/libslic3r/Zipper.cpp:69 +#: src/libslic3r/miniz_extension.cpp:125 msgid "file create failed" -msgstr "" +msgstr "не вдалося створити файл" -#: src/libslic3r/Zipper.cpp:71 +#: src/libslic3r/miniz_extension.cpp:127 msgid "file write failed" -msgstr "" +msgstr "не вдалося записати файл" -#: src/libslic3r/Zipper.cpp:73 +#: src/libslic3r/miniz_extension.cpp:129 msgid "file read failed" -msgstr "" +msgstr "не вдалося прочитати файл" -#: src/libslic3r/Zipper.cpp:75 +#: src/libslic3r/miniz_extension.cpp:131 msgid "file close failed" -msgstr "" +msgstr "не вдалося закрити файл" -#: src/libslic3r/Zipper.cpp:77 +#: src/libslic3r/miniz_extension.cpp:133 msgid "file seek failed" -msgstr "" +msgstr "пошук файлу не вдався" -#: src/libslic3r/Zipper.cpp:79 +#: src/libslic3r/miniz_extension.cpp:135 msgid "file stat failed" -msgstr "" +msgstr "не вдалося відкрити STAT-файл" -#: src/libslic3r/Zipper.cpp:81 +#: src/libslic3r/miniz_extension.cpp:137 msgid "invalid parameter" -msgstr "" +msgstr "некоректний параметр" -#: src/libslic3r/Zipper.cpp:83 +#: src/libslic3r/miniz_extension.cpp:139 msgid "invalid filename" -msgstr "" +msgstr "некоректне ім'я файлу" -#: src/libslic3r/Zipper.cpp:85 +#: src/libslic3r/miniz_extension.cpp:141 msgid "buffer too small" -msgstr "" +msgstr "занадто малий буфер" -#: src/libslic3r/Zipper.cpp:87 +#: src/libslic3r/miniz_extension.cpp:143 msgid "internal error" -msgstr "" +msgstr "внутрішня помилка" -#: src/libslic3r/Zipper.cpp:89 +#: src/libslic3r/miniz_extension.cpp:145 msgid "file not found" -msgstr "" +msgstr "файл не знайдено" -#: src/libslic3r/Zipper.cpp:91 +#: src/libslic3r/miniz_extension.cpp:147 msgid "archive is too large" -msgstr "" +msgstr "архів завеликий" -#: src/libslic3r/Zipper.cpp:93 +#: src/libslic3r/miniz_extension.cpp:149 msgid "validation failed" -msgstr "" +msgstr "не вдалося перевірити" -#: src/libslic3r/Zipper.cpp:95 +#: src/libslic3r/miniz_extension.cpp:151 msgid "write calledback failed" -msgstr "" +msgstr "помилка запису зворотного виклику" -#: src/libslic3r/Zipper.cpp:105 -msgid "Error with zip archive" -msgstr "" +#: src/libslic3r/Preset.cpp:1299 +msgid "filament" +msgstr "філамент" -#: src/libslic3r/SLA/SLASupportTree.cpp:2153 -msgid "Starting" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2154 -msgid "Filtering" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2155 -msgid "Generate pinheads" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2156 -msgid "Classification" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2157 -msgid "Routing to ground" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2158 -msgid "Routing supports to model surface" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2159 -msgid "Cascading pillars" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2160 -msgid "Processing small holes" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2161 -msgid "Done" -msgstr "" - -#: src/libslic3r/SLA/SLASupportTree.cpp:2162 -msgid "Abort" -msgstr "" - -#: src/libslic3r/Print.cpp:1136 +#: src/libslic3r/Print.cpp:1251 msgid "All objects are outside of the print volume." -msgstr "" +msgstr "Усі об'єкти знаходяться поза просторем друку." -#: src/libslic3r/Print.cpp:1165 +#: src/libslic3r/Print.cpp:1254 +msgid "The supplied settings will cause an empty print." +msgstr "Надані параметри спричинять порожній друк." + +#: src/libslic3r/Print.cpp:1258 msgid "Some objects are too close; your extruder will collide with them." msgstr "" +"Деякі предмети розташовано занадто близько; ваш екструдер зіткнеться з ними." -#: src/libslic3r/Print.cpp:1180 +#: src/libslic3r/Print.cpp:1260 msgid "" "Some objects are too tall and cannot be printed without extruder collisions." msgstr "" +"Деякі предмети занадто високі, і їх неможливо надрукувати без зіткнення " +"екструдера." -#: src/libslic3r/Print.cpp:1190 -msgid "The Spiral Vase option can only be used when printing a single object." +#: src/libslic3r/Print.cpp:1269 +msgid "" +"Only a single object may be printed at a time in Spiral Vase mode. Either " +"remove all but the last object, or enable sequential mode by " +"\"complete_objects\"." msgstr "" +"Одночасно в режимі спіральної вази можна друкувати лише один об’єкт. Або " +"видаліть усі, крім останнього об'єкта, або ввімкніть послідовний режим за " +"допомогою \"повних об'єктів\" (\"complete_objects\")." -#: src/libslic3r/Print.cpp:1192 +#: src/libslic3r/Print.cpp:1277 msgid "" "The Spiral Vase option can only be used when printing single material " "objects." msgstr "" +"Варіант спіральної вази можна використовувати лише під час друку одно-" +"матеріальних об’єктів." -#: src/libslic3r/Print.cpp:1198 +#: src/libslic3r/Print.cpp:1290 msgid "" -"All extruders must have the same diameter for single extruder multimaterial " -"printer." +"The wipe tower is only supported if all extruders have the same nozzle " +"diameter and use filaments of the same diameter." msgstr "" +"Вежа витирання підтримується лише в тому випадку, якщо всі екструдери мають " +"однаковий діаметр сопла і використовують філаменти одинакового діаметру." -#: src/libslic3r/Print.cpp:1203 +#: src/libslic3r/Print.cpp:1296 msgid "" -"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter " -"and Repetier G-code flavors." +"The Wipe Tower is currently only supported for the Marlin, RepRap/Sprinter, " +"RepRapFirmware and Repetier G-code flavors." msgstr "" +"Наразі вежа витирання підтримується лише для G-кодів, сумісних з Marlin, " +"RepRap/Sprinter, RepRapFirmware та Repetier ." -#: src/libslic3r/Print.cpp:1205 +#: src/libslic3r/Print.cpp:1298 msgid "" "The Wipe Tower is currently only supported with the relative extruder " "addressing (use_relative_e_distances=1)." msgstr "" +"Наразі вежа витирання підтримує лише відносну адресацію екструдерів " +"(use_relative_e_distances = 1)." -#: src/libslic3r/Print.cpp:1226 +#: src/libslic3r/Print.cpp:1300 +msgid "Ooze prevention is currently not supported with the wipe tower enabled." +msgstr "" +"Наразі запобігання просочування не підтримується з увімкненою вежею " +"витирання." + +#: src/libslic3r/Print.cpp:1302 +msgid "" +"The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." +msgstr "Наразі вежа витирання не підтримує об'ємне E (use_volumetric_e = 0)." + +#: src/libslic3r/Print.cpp:1304 +msgid "" +"The Wipe Tower is currently not supported for multimaterial sequential " +"prints." +msgstr "" +"Наразі вежа витирання не підтримується для багато-матеріального послідовного " +"друку." + +#: src/libslic3r/Print.cpp:1325 msgid "" "The Wipe Tower is only supported for multiple objects if they have equal " -"layer heigths" +"layer heights" msgstr "" +"Вежа витирання для кількох об’єктів підтримується лише у випадку, коли вони " +"мають однакову висоту шару" -#: src/libslic3r/Print.cpp:1228 +#: src/libslic3r/Print.cpp:1327 msgid "" "The Wipe Tower is only supported for multiple objects if they are printed " "over an equal number of raft layers" msgstr "" +"Вежа витирання для кількох об’єктів підтримується лише у випадку, коли вони " +"надруковані на рівній кількості шарів плоту" -#: src/libslic3r/Print.cpp:1230 +#: src/libslic3r/Print.cpp:1329 msgid "" "The Wipe Tower is only supported for multiple objects if they are printed " "with the same support_material_contact_distance" msgstr "" +"Вежа витирання для кількох об’єктів підтримується лише у випадку, коли вони " +"надруковані з однаковою відстанню support_material_contact_distance" -#: src/libslic3r/Print.cpp:1232 +#: src/libslic3r/Print.cpp:1331 msgid "" "The Wipe Tower is only supported for multiple objects if they are sliced " "equally." msgstr "" +"Вежа витирання для кількох об’єктів підтримується лише у випадку, коли вони " +"нарізані однаково." -#: src/libslic3r/Print.cpp:1261 +#: src/libslic3r/Print.cpp:1373 msgid "" -"The Wipe tower is only supported if all objects have the same layer height " -"profile" +"The Wipe tower is only supported if all objects have the same variable layer " +"height" msgstr "" +"Вежа витирання підтримується лише в тому випадку, якщо всі об’єкти мають " +"однакову висоту змінного шару" -#: src/libslic3r/Print.cpp:1271 -msgid "The supplied settings will cause an empty print." -msgstr "" - -#: src/libslic3r/Print.cpp:1288 +#: src/libslic3r/Print.cpp:1399 msgid "" "One or more object were assigned an extruder that the printer does not have." msgstr "" +"Одному або декільком об’єктам було призначено екструдер, якого принтер не " +"має." -#: src/libslic3r/Print.cpp:1297 +#: src/libslic3r/Print.cpp:1408 +msgid "%1%=%2% mm is too low to be printable at a layer height %3% mm" +msgstr "%1%=%2% мм є занадто низьким для друку на висоті шару %3% мм" + +#: src/libslic3r/Print.cpp:1411 +msgid "Excessive %1%=%2% mm to be printable with a nozzle diameter %3% mm" +msgstr "%1% = %2% мм є надмірно для друку з діаметром сопла %3% мм" + +#: src/libslic3r/Print.cpp:1422 msgid "" "Printing with multiple extruders of differing nozzle diameters. If support " "is to be printed with the current extruder (support_material_extruder == 0 " "or support_material_interface_extruder == 0), all nozzles have to be of the " "same diameter." msgstr "" +"Друк за допомогою декількох екструдерів різного діаметру сопла. Якщо " +"підтримки слід друкувати поточним екструдерем (support_material_extruder == " +"0 або support_material_interface_extruder == 0), усі сопла повинні мати " +"однаковий діаметр." -#: src/libslic3r/Print.cpp:1305 +#: src/libslic3r/Print.cpp:1430 msgid "" "For the Wipe Tower to work with the soluble supports, the support layers " "need to be synchronized with the object layers." msgstr "" +"Для того, щоб вежа витирання працювала з розчинними підтримками, шари " +"підтримки повинні бути синхронізовані з шарами об'єкта." -#: src/libslic3r/Print.cpp:1309 +#: src/libslic3r/Print.cpp:1434 msgid "" "The Wipe Tower currently supports the non-soluble supports only if they are " "printed with the current extruder without triggering a tool change. (both " "support_material_extruder and support_material_interface_extruder need to be " "set to 0)." msgstr "" +"Вежа витирання в даний момент підтримує лише нерозчинні підтримки, якщо вони " +"друкуються з поточним екструдером, не запускаючи зміну інструменту. (Обидва " +"значення support_material_extruder і support_material_interface_extruder " +"повинні бути встановлені на 0)." -#: src/libslic3r/Print.cpp:1316 -msgid "first_layer_height" -msgstr "" - -#: src/libslic3r/Print.cpp:1331 +#: src/libslic3r/Print.cpp:1456 msgid "First layer height can't be greater than nozzle diameter" -msgstr "" +msgstr "Висота першого шару не може перевищувати діаметр сопла" -#: src/libslic3r/Print.cpp:1335 +#: src/libslic3r/Print.cpp:1461 msgid "Layer height can't be greater than nozzle diameter" -msgstr "" +msgstr "Висота шару не може перевищувати діаметр сопла" -#: src/libslic3r/SLAPrint.cpp:55 -msgid "Slicing model" -msgstr "" +#: src/libslic3r/Print.cpp:1620 +msgid "Infilling layers" +msgstr "Шари наповнення" -#: src/libslic3r/SLAPrint.cpp:56 src/libslic3r/SLAPrint.cpp:801 -msgid "Generating support points" -msgstr "" +#: src/libslic3r/Print.cpp:1646 +msgid "Generating skirt" +msgstr "Генерування спідниці" -#: src/libslic3r/SLAPrint.cpp:57 -msgid "Generating support tree" -msgstr "" +#: src/libslic3r/Print.cpp:1655 +msgid "Generating brim" +msgstr "Генерування краю" -#: src/libslic3r/SLAPrint.cpp:58 -msgid "Generating pad" -msgstr "" +#: src/libslic3r/Print.cpp:1678 +msgid "Exporting G-code" +msgstr "Експортування G-коду" -#: src/libslic3r/SLAPrint.cpp:59 -msgid "Slicing supports" -msgstr "" +#: src/libslic3r/Print.cpp:1682 +msgid "Generating G-code" +msgstr "Генерування G-коду" -#: src/libslic3r/SLAPrint.cpp:71 -msgid "Merging slices and calculating statistics" -msgstr "" +#: src/libslic3r/SLA/Pad.cpp:532 +msgid "Pad brim size is too small for the current configuration." +msgstr "Розмір краю подушки замалий для поточної конфігурації." -#: src/libslic3r/SLAPrint.cpp:72 -msgid "Rasterizing layers" -msgstr "" - -#: src/libslic3r/SLAPrint.cpp:605 +#: src/libslic3r/SLAPrint.cpp:630 msgid "" "Cannot proceed without support points! Add support points or disable support " "generation." msgstr "" +"Не можливо продовжувати без точок підтримки! Додайте точки підтримки або " +"вимкніть генерацію підтримки." -#: src/libslic3r/SLAPrint.cpp:617 -msgid "Elevation is too low for object." +#: src/libslic3r/SLAPrint.cpp:642 +msgid "" +"Elevation is too low for object. Use the \"Pad around object\" feature to " +"print the object without elevation." msgstr "" +"Підняття занадто мале для об'єкта. Використовуйте функцію \"Подушка навколо " +"об'єкта\" для друку об'єкта без підняття." -#: src/libslic3r/SLAPrint.cpp:699 -msgid "Slicing had to be stopped due to an internal error." +#: src/libslic3r/SLAPrint.cpp:648 +msgid "" +"The endings of the support pillars will be deployed on the gap between the " +"object and the pad. 'Support base safety distance' has to be greater than " +"the 'Pad object gap' parameter to avoid this." msgstr "" +"Кінці стовпів підтримок будуть розміщені на зазорі між об'єктом і подушкою. " +"\"Безпечна відстань між основами підтримки\" повинна бути більшою за " +"параметр \"Розрив Подушка-Об'єкт\", щоб уникнути цього." -#: src/libslic3r/SLAPrint.cpp:849 src/libslic3r/SLAPrint.cpp:859 -#: src/libslic3r/SLAPrint.cpp:907 -msgid "Visualizing supports" -msgstr "" +#: src/libslic3r/SLAPrint.cpp:663 +msgid "Exposition time is out of printer profile bounds." +msgstr "Час експозиції виходить за межі профілю принтера." -#: src/libslic3r/SLAPrint.cpp:1449 +#: src/libslic3r/SLAPrint.cpp:670 +msgid "Initial exposition time is out of printer profile bounds." +msgstr "Початковий час експозиції виходить за межі профілю принтера." + +#: src/libslic3r/SLAPrint.cpp:786 msgid "Slicing done" -msgstr "" +msgstr "Нарізання завершено" -#: src/libslic3r/PrintBase.cpp:65 +#: src/libslic3r/SLAPrintSteps.cpp:44 +msgid "Hollowing model" +msgstr "Випорожнення моделі" + +#: src/libslic3r/SLAPrintSteps.cpp:45 +msgid "Drilling holes into model." +msgstr "Свердління отворів в моделі." + +#: src/libslic3r/SLAPrintSteps.cpp:46 +msgid "Slicing model" +msgstr "Нарізання моделі" + +#: src/libslic3r/SLAPrintSteps.cpp:47 src/libslic3r/SLAPrintSteps.cpp:359 +msgid "Generating support points" +msgstr "Генерування точок підтримки" + +#: src/libslic3r/SLAPrintSteps.cpp:48 +msgid "Generating support tree" +msgstr "Генерування дерева підтримки" + +#: src/libslic3r/SLAPrintSteps.cpp:49 +msgid "Generating pad" +msgstr "Генерування подушки" + +#: src/libslic3r/SLAPrintSteps.cpp:50 +msgid "Slicing supports" +msgstr "Нарізання підтримок" + +#: src/libslic3r/SLAPrintSteps.cpp:65 +msgid "Merging slices and calculating statistics" +msgstr "Об'єднання шарів друку та обчислення статистики" + +#: src/libslic3r/SLAPrintSteps.cpp:66 +msgid "Rasterizing layers" +msgstr "Растеризуючі шари" + +#: src/libslic3r/SLAPrintSteps.cpp:192 +msgid "Too many overlapping holes." +msgstr "Забагато отворів, що перекриваються." + +#: src/libslic3r/SLAPrintSteps.cpp:201 +msgid "" +"Drilling holes into the mesh failed. This is usually caused by broken model. " +"Try to fix it first." +msgstr "" +"Не вдалося висвердлити отвори. Зазвичай це викликано зламаною моделлю. " +"Спершу спробуйте її виправити." + +#: src/libslic3r/SLAPrintSteps.cpp:247 +msgid "" +"Slicing had to be stopped due to an internal error: Inconsistent slice index." +msgstr "" +"Нарізання довелося зупинити через внутрішню помилку: Невідповідний індекс " +"зрізу." + +#: src/libslic3r/SLAPrintSteps.cpp:411 src/libslic3r/SLAPrintSteps.cpp:420 +#: src/libslic3r/SLAPrintSteps.cpp:459 +msgid "Visualizing supports" +msgstr "Візуалізація підтримки" + +#: src/libslic3r/SLAPrintSteps.cpp:451 +msgid "No pad can be generated for this model with the current configuration" +msgstr "" +"Для цієї моделі з поточною конфігурацією неможливо створити жодну подушку" + +#: src/libslic3r/SLAPrintSteps.cpp:619 +msgid "" +"There are unprintable objects. Try to adjust support settings to make the " +"objects printable." +msgstr "" +"Є об’єкти, що не друкуються. Спробуйте налаштувати параметри підтримки, щоб " +"зробити об’єкти для друку." + +#: src/libslic3r/PrintBase.cpp:72 msgid "Failed processing of the output_filename_format template." -msgstr "" +msgstr "Помилка обробки шаблону output_filename_format." -#: src/libslic3r/PrintConfig.cpp:42 src/libslic3r/PrintConfig.cpp:43 +#: src/libslic3r/PrintConfig.cpp:43 src/libslic3r/PrintConfig.cpp:44 msgid "Printer technology" -msgstr "" +msgstr "Технологія друку" -#: src/libslic3r/PrintConfig.cpp:50 +#: src/libslic3r/PrintConfig.cpp:51 msgid "Bed shape" -msgstr "Форма полотна" +msgstr "Форма столу" -#: src/libslic3r/PrintConfig.cpp:57 +#: src/libslic3r/PrintConfig.cpp:56 +msgid "Bed custom texture" +msgstr "Власна текстура столу" + +#: src/libslic3r/PrintConfig.cpp:61 +msgid "Bed custom model" +msgstr "Власна модель столу" + +#: src/libslic3r/PrintConfig.cpp:66 +msgid "G-code thumbnails" +msgstr "Ескізи G-коду" + +#: src/libslic3r/PrintConfig.cpp:67 +msgid "" +"Picture sizes to be stored into a .gcode and .sl1 files, in the following " +"format: \"XxY, XxY, ...\"" +msgstr "" +"Розміри зображень, які слід зберігати у файлах .gcode та .sl1, у такому " +"форматі: \"XxY, XxY, ...\"" + +#: src/libslic3r/PrintConfig.cpp:75 msgid "" "This setting controls the height (and thus the total number) of the slices/" "layers. Thinner layers give better accuracy but take more time to print." @@ -4480,52 +8871,118 @@ msgstr "" "Цей параметр визначає висоту (і, таким чином, загальну кількість) шарів. " "Тонкі шари забезпечують більшу точність, але для друку потрібно більше часу." -#: src/libslic3r/PrintConfig.cpp:64 +#: src/libslic3r/PrintConfig.cpp:82 msgid "Max print height" -msgstr "" +msgstr "Максимальна висота друку" -#: src/libslic3r/PrintConfig.cpp:65 +#: src/libslic3r/PrintConfig.cpp:83 msgid "" "Set this to the maximum height that can be reached by your extruder while " "printing." msgstr "" +"Встановіть це значення на максимальну висоту, якої може досягти ваш " +"екструдер під час друку." -#: src/libslic3r/PrintConfig.cpp:71 +#: src/libslic3r/PrintConfig.cpp:91 msgid "Slice gap closing radius" -msgstr "" +msgstr "Радіус закриття зазору зрізу" -#: src/libslic3r/PrintConfig.cpp:73 +#: src/libslic3r/PrintConfig.cpp:93 msgid "" "Cracks smaller than 2x gap closing radius are being filled during the " "triangle mesh slicing. The gap closing operation may reduce the final print " "resolution, therefore it is advisable to keep the value reasonably low." msgstr "" +"Тріщини з радіусом, меншим ніж 2 закриття зазору, заповнюються під час " +"нарізування трикутної сітки. Операція заповнення проміжку може зменшити " +"остаточну роздільну здатність друку, тому доцільно підтримувати значення на " +"досить низькому рівні." -#: src/libslic3r/PrintConfig.cpp:81 +#: src/libslic3r/PrintConfig.cpp:101 msgid "Hostname, IP or URL" -msgstr "" +msgstr "Ім'я хоста, IP або URL" -#: src/libslic3r/PrintConfig.cpp:82 +#: src/libslic3r/PrintConfig.cpp:102 msgid "" "Slic3r can upload G-code files to a printer host. This field should contain " -"the hostname, IP address or URL of the printer host instance." +"the hostname, IP address or URL of the printer host instance. Print host " +"behind HAProxy with basic auth enabled can be accessed by putting the user " +"name and password into the URL in the following format: https://username:" +"password@your-octopi-address/" msgstr "" +"Slic3r може завантажувати файли G-коду на хост принтера. Це поле повинно " +"містити ім’я хосту, IP-адресу або URL-адресу екземпляра хосту принтера. Хост " +"друку, що стоїть за HAProxy з увімкненою базовою автентифікацією, можна " +"отримати, ввівши ім’я користувача та пароль у URL-адресу у такому форматі: " +"https://username:password@your-octopi-address/" -#: src/libslic3r/PrintConfig.cpp:88 +#: src/libslic3r/PrintConfig.cpp:110 msgid "API Key / Password" -msgstr "" +msgstr "Ключ API / Пароль" -#: src/libslic3r/PrintConfig.cpp:89 +#: src/libslic3r/PrintConfig.cpp:111 msgid "" "Slic3r can upload G-code files to a printer host. This field should contain " "the API Key or the password required for authentication." msgstr "" +"Slic3r може завантажувати файли G-коду на хост принтера. Це поле повинно " +"містити ключ API або пароль, необхідний для автентифікації." -#: src/libslic3r/PrintConfig.cpp:111 +#: src/libslic3r/PrintConfig.cpp:118 +msgid "Name of the printer" +msgstr "Назва принтера" + +#: src/libslic3r/PrintConfig.cpp:125 +msgid "" +"Custom CA certificate file can be specified for HTTPS OctoPrint connections, " +"in crt/pem format. If left blank, the default OS CA certificate repository " +"is used." +msgstr "" +"Настроюваний файл сертифіката CA можна вказати для з'єднань HTTPS OctoPrint " +"у форматі crt/pem. Якщо залишити це поле порожнім, буде використано типове " +"сховище сертифікатів OS CA." + +#: src/libslic3r/PrintConfig.cpp:131 +msgid "Elephant foot compensation" +msgstr "Зрівноваження Стопи слона" + +#: src/libslic3r/PrintConfig.cpp:133 +msgid "" +"The first layer will be shrunk in the XY plane by the configured value to " +"compensate for the 1st layer squish aka an Elephant Foot effect." +msgstr "" +"Перший шар буде зменшено в площині XY завдяки налаштованому значенню, щоб " +"компенсувати ефект Ноги Слона для 1-го шару." + +#: src/libslic3r/PrintConfig.cpp:149 +msgid "Password" +msgstr "Пароль" + +#: src/libslic3r/PrintConfig.cpp:155 +msgid "Printer preset name" +msgstr "Назва пресету принтера" + +#: src/libslic3r/PrintConfig.cpp:156 +msgid "Related printer preset name" +msgstr "Назва пов’язаного пресету принтера" + +#: src/libslic3r/PrintConfig.cpp:161 +msgid "Authorization Type" +msgstr "Тип авторизації" + +#: src/libslic3r/PrintConfig.cpp:166 +msgid "API key" +msgstr "Ключ API" + +#: src/libslic3r/PrintConfig.cpp:167 +msgid "HTTP digest" +msgstr "Дайджест HTTP" + +#: src/libslic3r/PrintConfig.cpp:180 msgid "Avoid crossing perimeters" msgstr "Уникати перетинання периметрів" -#: src/libslic3r/PrintConfig.cpp:112 +#: src/libslic3r/PrintConfig.cpp:181 msgid "" "Optimize travel moves in order to minimize the crossing of perimeters. This " "is mostly useful with Bowden extruders which suffer from oozing. This " @@ -4535,37 +8992,57 @@ msgstr "" "основному це корисно для екструдерів Bowden, які страждають від протікання. " "Ця функція уповільнює як друк, так і генерацію G-коду." -#: src/libslic3r/PrintConfig.cpp:119 src/libslic3r/PrintConfig.cpp:1976 +#: src/libslic3r/PrintConfig.cpp:188 +msgid "Avoid crossing perimeters - Max detour length" +msgstr "Уникати перетинання периметрів - Макс. довжина обходу" + +#: src/libslic3r/PrintConfig.cpp:190 +msgid "" +"The maximum detour length for avoid crossing perimeters. If the detour is " +"longer than this value, avoid crossing perimeters is not applied for this " +"travel path. Detour length could be specified either as an absolute value or " +"as percentage (for example 50%) of a direct travel path." +msgstr "" +"Максимальна довжина обходу, щоб уникнути перетину периметрів. Якщо обхід " +"довший за це значення, уникнення перетину периметрів для цього шляху не " +"застосовується. Довжина обходу може бути вказана або як абсолютне значення, " +"або як відсоток (наприклад, 50%) від прямого шляху проходу." + +#: src/libslic3r/PrintConfig.cpp:193 +msgid "mm or % (zero to disable)" +msgstr "мм або % (0, щоб вимкнути)" + +#: src/libslic3r/PrintConfig.cpp:199 src/libslic3r/PrintConfig.cpp:2291 msgid "Other layers" msgstr "Інші шари" -#: src/libslic3r/PrintConfig.cpp:120 +#: src/libslic3r/PrintConfig.cpp:200 msgid "" "Bed temperature for layers after the first one. Set this to zero to disable " "bed temperature control commands in the output." msgstr "" -"Температура полотна для останніх шарів після першого. Установіть 0, щоб " -"відключити команди керування температурою полотна на виході." +"Температура столу для останніх шарів після першого. Установіть 0, щоб " +"відключити команди керування температурою столу на виході." -#: src/libslic3r/PrintConfig.cpp:122 +#: src/libslic3r/PrintConfig.cpp:203 msgid "Bed temperature" -msgstr "Температура полотна" +msgstr "Температура столу" -#: src/libslic3r/PrintConfig.cpp:129 +#: src/libslic3r/PrintConfig.cpp:210 msgid "" "This custom code is inserted at every layer change, right before the Z move. " "Note that you can use placeholder variables for all Slic3r settings as well " "as [layer_num] and [layer_z]." msgstr "" "Цей користувацький код вставляється при кожній зміні шару перед початком " -"переміщення Z. Зауважте, що ви можете використовувати змінні-заповнювачі для " +"переміщення Z. Зауважте, що ви можете використовувати шаблонні змінні для " "всіх параметрів Slic3r, а також [layer_num] і [layer_z]." -#: src/libslic3r/PrintConfig.cpp:139 +#: src/libslic3r/PrintConfig.cpp:220 msgid "Between objects G-code" msgstr "G-код між об'єктами" -#: src/libslic3r/PrintConfig.cpp:140 +#: src/libslic3r/PrintConfig.cpp:221 msgid "" "This code is inserted between objects when using sequential printing. By " "default extruder and bed temperature are reset using non-wait command; " @@ -4578,23 +9055,35 @@ msgstr "" "замовчуванням екструдер і температура полотна скидаються за допомогою " "команди non-wait; однак, якщо в цьому користувальному коді виявляються M104, " "M109, M140 або M190, Slic3r не додаватиме команди температури. Зверніть " -"увагу, що ви можете використовувати змінні-заповнювачі для всіх параметрів " +"увагу, що ви можете використовувати шаблонні змінні для всіх параметрів " "Slic3r, то ж ви можете вставити команду \"M109 S [first_layer_temperature]\" " "де завгодно." -#: src/libslic3r/PrintConfig.cpp:150 +#: src/libslic3r/PrintConfig.cpp:232 msgid "Number of solid layers to generate on bottom surfaces." msgstr "Кількість суцільних шарів, генерованих на нижніх поверхнях." -#: src/libslic3r/PrintConfig.cpp:151 +#: src/libslic3r/PrintConfig.cpp:233 msgid "Bottom solid layers" msgstr "Нижні суцільні шари" -#: src/libslic3r/PrintConfig.cpp:156 +#: src/libslic3r/PrintConfig.cpp:241 +msgid "" +"The number of bottom solid layers is increased above bottom_solid_layers if " +"necessary to satisfy minimum thickness of bottom shell." +msgstr "" +"Кількість твердих шарів знизу збільшується над нижчими твердими шарами, якщо " +"це необхідно для задоволення мінімальної товщини донної оболонки." + +#: src/libslic3r/PrintConfig.cpp:243 +msgid "Minimum bottom shell thickness" +msgstr "Мінімальна товщина нижньої оболонки" + +#: src/libslic3r/PrintConfig.cpp:249 msgid "Bridge" msgstr "Міст" -#: src/libslic3r/PrintConfig.cpp:157 +#: src/libslic3r/PrintConfig.cpp:250 msgid "" "This is the acceleration your printer will use for bridges. Set zero to " "disable acceleration control for bridges." @@ -4602,18 +9091,18 @@ msgstr "" "Це прискорення, яке ваш принтер використовуватиме для мостів. Встановити 0, " "щоб відключити управління прискоренням для мостів." -#: src/libslic3r/PrintConfig.cpp:159 src/libslic3r/PrintConfig.cpp:302 -#: src/libslic3r/PrintConfig.cpp:814 src/libslic3r/PrintConfig.cpp:935 -#: src/libslic3r/PrintConfig.cpp:1088 src/libslic3r/PrintConfig.cpp:1133 -#: src/libslic3r/PrintConfig.cpp:1144 src/libslic3r/PrintConfig.cpp:1333 +#: src/libslic3r/PrintConfig.cpp:252 src/libslic3r/PrintConfig.cpp:395 +#: src/libslic3r/PrintConfig.cpp:940 src/libslic3r/PrintConfig.cpp:1079 +#: src/libslic3r/PrintConfig.cpp:1360 src/libslic3r/PrintConfig.cpp:1409 +#: src/libslic3r/PrintConfig.cpp:1419 src/libslic3r/PrintConfig.cpp:1612 msgid "mm/s²" msgstr "мм/с²" -#: src/libslic3r/PrintConfig.cpp:165 +#: src/libslic3r/PrintConfig.cpp:258 msgid "Bridging angle" msgstr "Кут моста" -#: src/libslic3r/PrintConfig.cpp:167 +#: src/libslic3r/PrintConfig.cpp:260 msgid "" "Bridging angle override. If left to zero, the bridging angle will be " "calculated automatically. Otherwise the provided angle will be used for all " @@ -4623,33 +9112,35 @@ msgstr "" "автоматично. Інакше передбачений кут буде використаний для всіх мостів. " "Використовуйте 180° для нульового кута." -#: src/libslic3r/PrintConfig.cpp:170 src/libslic3r/PrintConfig.cpp:732 -#: src/libslic3r/PrintConfig.cpp:1569 src/libslic3r/PrintConfig.cpp:1579 -#: src/libslic3r/PrintConfig.cpp:1807 src/libslic3r/PrintConfig.cpp:1961 -#: src/libslic3r/PrintConfig.cpp:2459 +#: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:852 +#: src/libslic3r/PrintConfig.cpp:1853 src/libslic3r/PrintConfig.cpp:1863 +#: src/libslic3r/PrintConfig.cpp:2121 src/libslic3r/PrintConfig.cpp:2276 +#: src/libslic3r/PrintConfig.cpp:2475 src/libslic3r/PrintConfig.cpp:2976 +#: src/libslic3r/PrintConfig.cpp:3097 msgid "°" msgstr "°" -#: src/libslic3r/PrintConfig.cpp:176 +#: src/libslic3r/PrintConfig.cpp:269 msgid "Bridges fan speed" msgstr "Швидкість вентилятора для мостів" -#: src/libslic3r/PrintConfig.cpp:177 +#: src/libslic3r/PrintConfig.cpp:270 msgid "This fan speed is enforced during all bridges and overhangs." msgstr "Ця швидкість вентилятора виконується для всіх мостів і виступів." -#: src/libslic3r/PrintConfig.cpp:178 src/libslic3r/PrintConfig.cpp:744 -#: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1216 -#: src/libslic3r/PrintConfig.cpp:1461 src/libslic3r/PrintConfig.cpp:2258 -#: src/libslic3r/PrintConfig.cpp:2498 +#: src/libslic3r/PrintConfig.cpp:271 src/libslic3r/PrintConfig.cpp:864 +#: src/libslic3r/PrintConfig.cpp:1248 src/libslic3r/PrintConfig.cpp:1427 +#: src/libslic3r/PrintConfig.cpp:1490 src/libslic3r/PrintConfig.cpp:1745 +#: src/libslic3r/PrintConfig.cpp:2653 src/libslic3r/PrintConfig.cpp:2890 +#: src/libslic3r/PrintConfig.cpp:3016 msgid "%" msgstr "%" -#: src/libslic3r/PrintConfig.cpp:185 +#: src/libslic3r/PrintConfig.cpp:278 msgid "Bridge flow ratio" msgstr "Співвідношення мостового потоку" -#: src/libslic3r/PrintConfig.cpp:187 +#: src/libslic3r/PrintConfig.cpp:280 msgid "" "This factor affects the amount of plastic for bridging. You can decrease it " "slightly to pull the extrudates and prevent sagging, although default " @@ -4661,32 +9152,33 @@ msgstr "" "стандартні налаштування зазвичай добрі, тому ви маете по-експериментувати з " "охолодженням (використовуйте вентилятор), перш ніж їх налаштувати." -#: src/libslic3r/PrintConfig.cpp:197 +#: src/libslic3r/PrintConfig.cpp:290 msgid "Bridges" msgstr "Мости" -#: src/libslic3r/PrintConfig.cpp:199 +#: src/libslic3r/PrintConfig.cpp:292 msgid "Speed for printing bridges." msgstr "Швидкість друку мостів." -#: src/libslic3r/PrintConfig.cpp:200 src/libslic3r/PrintConfig.cpp:576 -#: src/libslic3r/PrintConfig.cpp:584 src/libslic3r/PrintConfig.cpp:593 -#: src/libslic3r/PrintConfig.cpp:601 src/libslic3r/PrintConfig.cpp:628 -#: src/libslic3r/PrintConfig.cpp:647 src/libslic3r/PrintConfig.cpp:873 -#: src/libslic3r/PrintConfig.cpp:1000 src/libslic3r/PrintConfig.cpp:1078 -#: src/libslic3r/PrintConfig.cpp:1098 src/libslic3r/PrintConfig.cpp:1111 -#: src/libslic3r/PrintConfig.cpp:1122 src/libslic3r/PrintConfig.cpp:1175 -#: src/libslic3r/PrintConfig.cpp:1234 src/libslic3r/PrintConfig.cpp:1362 -#: src/libslic3r/PrintConfig.cpp:1536 src/libslic3r/PrintConfig.cpp:1545 -#: src/libslic3r/PrintConfig.cpp:1940 src/libslic3r/PrintConfig.cpp:2051 +#: src/libslic3r/PrintConfig.cpp:293 src/libslic3r/PrintConfig.cpp:671 +#: src/libslic3r/PrintConfig.cpp:679 src/libslic3r/PrintConfig.cpp:688 +#: src/libslic3r/PrintConfig.cpp:696 src/libslic3r/PrintConfig.cpp:723 +#: src/libslic3r/PrintConfig.cpp:742 src/libslic3r/PrintConfig.cpp:1015 +#: src/libslic3r/PrintConfig.cpp:1194 src/libslic3r/PrintConfig.cpp:1267 +#: src/libslic3r/PrintConfig.cpp:1343 src/libslic3r/PrintConfig.cpp:1377 +#: src/libslic3r/PrintConfig.cpp:1389 src/libslic3r/PrintConfig.cpp:1399 +#: src/libslic3r/PrintConfig.cpp:1449 src/libslic3r/PrintConfig.cpp:1508 +#: src/libslic3r/PrintConfig.cpp:1642 src/libslic3r/PrintConfig.cpp:1820 +#: src/libslic3r/PrintConfig.cpp:1829 src/libslic3r/PrintConfig.cpp:2255 +#: src/libslic3r/PrintConfig.cpp:2382 msgid "mm/s" msgstr "мм/с" -#: src/libslic3r/PrintConfig.cpp:207 +#: src/libslic3r/PrintConfig.cpp:300 msgid "Brim width" msgstr "Ширина краю" -#: src/libslic3r/PrintConfig.cpp:208 +#: src/libslic3r/PrintConfig.cpp:301 msgid "" "Horizontal width of the brim that will be printed around each object on the " "first layer." @@ -4694,33 +9186,33 @@ msgstr "" "Горизонтальна ширина краю, яка буде надрукована навколо кожного об'єкта на " "першому шарі." -#: src/libslic3r/PrintConfig.cpp:215 +#: src/libslic3r/PrintConfig.cpp:308 msgid "Clip multi-part objects" msgstr "Обрізати об'єкти, що складаються з кількох частин" -#: src/libslic3r/PrintConfig.cpp:216 +#: src/libslic3r/PrintConfig.cpp:309 msgid "" -"When printing multi-material objects, this settings will make slic3r to clip " +"When printing multi-material objects, this settings will make Slic3r to clip " "the overlapping object parts one by the other (2nd part will be clipped by " "the 1st, 3rd part will be clipped by the 1st and 2nd etc)." msgstr "" -"Під час друку багатоматеріальних об'єктів ці налаштування змушують slic3r " -"обрізати частини, що перекриваються один одною (друга частина буде обрізана " -"першою, третя - першою та другою, тощо)." +"Під час друку багато-матеріальних об'єктів ці налаштування дозволять Slic3r " +"відсікати накладені частини об'єкта одна за одною (друга частина буде " +"відсічена першою, третя частина буде відсічена першою та другою тощо)." -#: src/libslic3r/PrintConfig.cpp:223 +#: src/libslic3r/PrintConfig.cpp:316 msgid "Colorprint height" -msgstr "" +msgstr "Висота кольорового друку" -#: src/libslic3r/PrintConfig.cpp:224 -msgid "Heights at which a filament change is to occur. " -msgstr "" +#: src/libslic3r/PrintConfig.cpp:317 +msgid "Heights at which a filament change is to occur." +msgstr "Висоти, на яких має відбуватися зміна філаменту." -#: src/libslic3r/PrintConfig.cpp:234 +#: src/libslic3r/PrintConfig.cpp:327 msgid "Compatible printers condition" -msgstr "Стан сумісних принтерів" +msgstr "Умови сумісності принтерів" -#: src/libslic3r/PrintConfig.cpp:235 +#: src/libslic3r/PrintConfig.cpp:328 msgid "" "A boolean expression using the configuration values of an active printer " "profile. If this expression evaluates to true, this profile is considered " @@ -4730,22 +9222,25 @@ msgstr "" "принтера. Якщо цей вираз оцінюється як Правда, цей профіль вважається " "сумісним з активним профілем принтера." -#: src/libslic3r/PrintConfig.cpp:249 +#: src/libslic3r/PrintConfig.cpp:342 msgid "Compatible print profiles condition" -msgstr "" +msgstr "Умови сумісності пресетів друку" -#: src/libslic3r/PrintConfig.cpp:250 +#: src/libslic3r/PrintConfig.cpp:343 msgid "" "A boolean expression using the configuration values of an active print " "profile. If this expression evaluates to true, this profile is considered " "compatible with the active print profile." msgstr "" +"Логічний вираз, що використовує значення конфігурації активного профілю " +"друку. Якщо цей вираз оцінюється як Правда, цей профіль вважається сумісним " +"з активним профілем друку." -#: src/libslic3r/PrintConfig.cpp:267 +#: src/libslic3r/PrintConfig.cpp:360 msgid "Complete individual objects" msgstr "Закінчити окремі об'єкти" -#: src/libslic3r/PrintConfig.cpp:268 +#: src/libslic3r/PrintConfig.cpp:361 msgid "" "When printing multiple objects or copies, this feature will complete each " "object before moving onto next one (and starting it from its bottom layer). " @@ -4757,11 +9252,11 @@ msgstr "" "шару). Ця функція корисна для уникнення ризику зіпсованих відбитків. Slic3r " "має попередити та запобігти зіткненню екструдера, але будьте обережні." -#: src/libslic3r/PrintConfig.cpp:276 +#: src/libslic3r/PrintConfig.cpp:369 msgid "Enable auto cooling" msgstr "Увімкнути автоматичне охолодження" -#: src/libslic3r/PrintConfig.cpp:277 +#: src/libslic3r/PrintConfig.cpp:370 msgid "" "This flag enables the automatic cooling logic that adjusts print speed and " "fan speed according to layer printing time." @@ -4769,23 +9264,26 @@ msgstr "" "Цей прапорець дозволяє автоматичну логіку охолодження, яка регулює швидкість " "друку та швидкість вентиляції відповідно до часу друку шару." -#: src/libslic3r/PrintConfig.cpp:282 +#: src/libslic3r/PrintConfig.cpp:375 msgid "Cooling tube position" -msgstr "" +msgstr "Позиція охолоджувальної трубки" -#: src/libslic3r/PrintConfig.cpp:283 -msgid "Distance of the center-point of the cooling tube from the extruder tip " +#: src/libslic3r/PrintConfig.cpp:376 +msgid "Distance of the center-point of the cooling tube from the extruder tip." msgstr "" +"Відстань центральної точки охолоджувальної трубки від наконечника екструдера." -#: src/libslic3r/PrintConfig.cpp:290 +#: src/libslic3r/PrintConfig.cpp:383 msgid "Cooling tube length" -msgstr "" +msgstr "Довжина охолоджувальної трубки" -#: src/libslic3r/PrintConfig.cpp:291 -msgid "Length of the cooling tube to limit space for cooling moves inside it " +#: src/libslic3r/PrintConfig.cpp:384 +msgid "Length of the cooling tube to limit space for cooling moves inside it." msgstr "" +"Довжина охолоджувальної трубки для обмеження простору для охолоджуючих рухів " +"всередині неї." -#: src/libslic3r/PrintConfig.cpp:299 +#: src/libslic3r/PrintConfig.cpp:392 msgid "" "This is the acceleration your printer will be reset to after the role-" "specific acceleration values are used (perimeter/infill). Set zero to " @@ -4795,34 +9293,38 @@ msgstr "" "використані конкретні визначені прискорення (периметру / заповнення). " "Встановити 0, щоб запобігти скиданням прискорення взагалі." -#: src/libslic3r/PrintConfig.cpp:308 +#: src/libslic3r/PrintConfig.cpp:401 msgid "Default filament profile" -msgstr "" +msgstr "Профіль філаметну за замовчанням" -#: src/libslic3r/PrintConfig.cpp:309 +#: src/libslic3r/PrintConfig.cpp:402 msgid "" "Default filament profile associated with the current printer profile. On " "selection of the current printer profile, this filament profile will be " "activated." msgstr "" +"Профіль філаметну за замовчанням, пов'язаний з поточним профілем принтера. " +"При виборі поточного профілю принтера цей профіль філаметну буде активовано." -#: src/libslic3r/PrintConfig.cpp:315 +#: src/libslic3r/PrintConfig.cpp:408 msgid "Default print profile" -msgstr "" +msgstr "Профіль друку за замовчанням" -#: src/libslic3r/PrintConfig.cpp:316 src/libslic3r/PrintConfig.cpp:2337 -#: src/libslic3r/PrintConfig.cpp:2348 +#: src/libslic3r/PrintConfig.cpp:409 src/libslic3r/PrintConfig.cpp:2820 +#: src/libslic3r/PrintConfig.cpp:2831 msgid "" "Default print profile associated with the current printer profile. On " "selection of the current printer profile, this print profile will be " "activated." msgstr "" +"Профіль друку за промовчанням, пов'язаний із поточним профілем принтера. При " +"виборі поточного профілю принтера цей профіль друку буде активовано." -#: src/libslic3r/PrintConfig.cpp:322 +#: src/libslic3r/PrintConfig.cpp:415 msgid "Disable fan for the first" msgstr "Вимкнути вентилятор для першого(их)" -#: src/libslic3r/PrintConfig.cpp:323 +#: src/libslic3r/PrintConfig.cpp:416 msgid "" "You can set this to a positive value to disable fan at all during the first " "layers, so that it does not make adhesion worse." @@ -4831,18 +9333,11 @@ msgstr "" "протягом друку декількох перших шарів, щоб це не призвело до гіршого " "зчеплення." -#: src/libslic3r/PrintConfig.cpp:325 src/libslic3r/PrintConfig.cpp:945 -#: src/libslic3r/PrintConfig.cpp:1434 src/libslic3r/PrintConfig.cpp:1619 -#: src/libslic3r/PrintConfig.cpp:1680 src/libslic3r/PrintConfig.cpp:1843 -#: src/libslic3r/PrintConfig.cpp:1888 -msgid "layers" -msgstr "шару(ів)" - -#: src/libslic3r/PrintConfig.cpp:332 +#: src/libslic3r/PrintConfig.cpp:425 msgid "Don't support bridges" msgstr "Не підтримувати мости" -#: src/libslic3r/PrintConfig.cpp:334 +#: src/libslic3r/PrintConfig.cpp:427 msgid "" "Experimental option for preventing support material from being generated " "under bridged areas." @@ -4850,51 +9345,42 @@ msgstr "" "Експериментальний варіант для запобігання утворенню допоміжного матеріалу в " "областях під мостами." -#: src/libslic3r/PrintConfig.cpp:340 +#: src/libslic3r/PrintConfig.cpp:433 msgid "Distance between copies" msgstr "Відстань між копіями" -#: src/libslic3r/PrintConfig.cpp:341 +#: src/libslic3r/PrintConfig.cpp:434 msgid "Distance used for the auto-arrange feature of the plater." msgstr "Відстань використовується для автоматичного розташування платеру." -#: src/libslic3r/PrintConfig.cpp:348 -msgid "Elephant foot compensation" -msgstr "Зрівноваження Стопи слона" - -#: src/libslic3r/PrintConfig.cpp:350 -msgid "" -"The first layer will be shrunk in the XY plane by the configured value to " -"compensate for the 1st layer squish aka an Elephant Foot effect." -msgstr "" -"Перший шар буде зменшено в площині XY завдяки налаштованому значенню, щоб " -"компенсувати ефект Ноги Слона для 1-го шару." - -#: src/libslic3r/PrintConfig.cpp:359 +#: src/libslic3r/PrintConfig.cpp:442 msgid "" "This end procedure is inserted at the end of the output file. Note that you " -"can use placeholder variables for all Slic3r settings." +"can use placeholder variables for all PrusaSlicer settings." msgstr "" -"Ця кінцева процедура вставляється в кінці вихідного файлу. Зауважте, що ви " -"можете використовувати заповнювачі змінних для всіх параметрів Slic3r." +"Ця процедура завершення вставляється в кінець вихідного файлу. Зверніть " +"увагу, що ви можете використовувати шаблонні змінні для всіх налаштувань " +"PrusaSlicer." -#: src/libslic3r/PrintConfig.cpp:369 +#: src/libslic3r/PrintConfig.cpp:452 msgid "" "This end procedure is inserted at the end of the output file, before the " -"printer end gcode. Note that you can use placeholder variables for all " -"Slic3r settings. If you have multiple extruders, the gcode is processed in " -"extruder order." +"printer end gcode (and before any toolchange from this filament in case of " +"multimaterial printers). Note that you can use placeholder variables for all " +"PrusaSlicer settings. If you have multiple extruders, the gcode is processed " +"in extruder order." msgstr "" -"Ця кінцева процедура вставляється в кінці вихідного файлу перед кінцевим " -"кодом принтера. Зауважте, що ви можете використовувати заповнювачі змінних " -"для всіх параметрів Slic3r. Якщо у вас є кілька екструдерів, G-code " -"обробляється в порядку екструдерів." +"Ця процедура завершення вставляється в кінець вихідного файлу, перед " +"кінцевим кодом принтера (і перед будь-якою заміною інструменту з цього " +"філаменту у разі багатоматеріальних принтерів). Зверніть увагу, що ви можете " +"використовувати шаблонні змінні для всіх налаштувань PrusaSlicer. Якщо у вас " +"кілька екструдерів, G-код обробляється в порядку екструдера." -#: src/libslic3r/PrintConfig.cpp:379 +#: src/libslic3r/PrintConfig.cpp:463 msgid "Ensure vertical shell thickness" -msgstr "Перевірте товщину вертикальної оболонки" +msgstr "Забезпечення товщини вертикальної оболонки" -#: src/libslic3r/PrintConfig.cpp:381 +#: src/libslic3r/PrintConfig.cpp:465 msgid "" "Add solid infill near sloping surfaces to guarantee the vertical shell " "thickness (top+bottom solid layers)." @@ -4902,52 +9388,64 @@ msgstr "" "Додайте суцільні наповнювачі біля нахилених поверхонь, щоб гарантувати " "товщину вертикальної оболонки (верхній і нижній суцільні шари)." -#: src/libslic3r/PrintConfig.cpp:387 +#: src/libslic3r/PrintConfig.cpp:471 msgid "Top fill pattern" -msgstr "" +msgstr "Верхній шаблон наповнення" -#: src/libslic3r/PrintConfig.cpp:389 +#: src/libslic3r/PrintConfig.cpp:473 msgid "" "Fill pattern for top infill. This only affects the top visible layer, and " "not its adjacent solid shells." msgstr "" +"Шаблон для верхнього наповнення. Це впливає лише на зовнішній видимий шар, а " +"не на сусідні суцільні оболонки." -#: src/libslic3r/PrintConfig.cpp:397 src/libslic3r/PrintConfig.cpp:795 -#: src/libslic3r/PrintConfig.cpp:1921 +#: src/libslic3r/PrintConfig.cpp:483 src/libslic3r/PrintConfig.cpp:918 +#: src/libslic3r/PrintConfig.cpp:2236 msgid "Rectilinear" -msgstr "" +msgstr "Прямолінійний" -#: src/libslic3r/PrintConfig.cpp:398 src/libslic3r/PrintConfig.cpp:801 +#: src/libslic3r/PrintConfig.cpp:484 +msgid "Monotonic" +msgstr "Монотонне" + +#: src/libslic3r/PrintConfig.cpp:485 src/libslic3r/PrintConfig.cpp:919 +msgid "Aligned Rectilinear" +msgstr "Вирівняний прямолінійний" + +#: src/libslic3r/PrintConfig.cpp:486 src/libslic3r/PrintConfig.cpp:925 msgid "Concentric" -msgstr "" +msgstr "Концентричний" -#: src/libslic3r/PrintConfig.cpp:399 src/libslic3r/PrintConfig.cpp:805 +#: src/libslic3r/PrintConfig.cpp:487 src/libslic3r/PrintConfig.cpp:929 msgid "Hilbert Curve" -msgstr "" +msgstr "Крива Гільберта" -#: src/libslic3r/PrintConfig.cpp:400 src/libslic3r/PrintConfig.cpp:806 +#: src/libslic3r/PrintConfig.cpp:488 src/libslic3r/PrintConfig.cpp:930 msgid "Archimedean Chords" -msgstr "" +msgstr "Архімедові акорди" -#: src/libslic3r/PrintConfig.cpp:401 src/libslic3r/PrintConfig.cpp:807 +#: src/libslic3r/PrintConfig.cpp:489 src/libslic3r/PrintConfig.cpp:931 msgid "Octagram Spiral" -msgstr "" +msgstr "Спіраль октаграм" -#: src/libslic3r/PrintConfig.cpp:408 +#: src/libslic3r/PrintConfig.cpp:495 msgid "Bottom fill pattern" -msgstr "" +msgstr "Нижній шаблон наповнення" -#: src/libslic3r/PrintConfig.cpp:409 +#: src/libslic3r/PrintConfig.cpp:497 msgid "" "Fill pattern for bottom infill. This only affects the bottom external " "visible layer, and not its adjacent solid shells." msgstr "" +"Шаблон для нижнього наповнення. Це впливає лише на зовнішній видимий шар, а " +"не на сусідні суцільні оболонки." -#: src/libslic3r/PrintConfig.cpp:414 src/libslic3r/PrintConfig.cpp:424 +#: src/libslic3r/PrintConfig.cpp:506 src/libslic3r/PrintConfig.cpp:517 msgid "External perimeters" msgstr "Зовнішні периметри" -#: src/libslic3r/PrintConfig.cpp:416 +#: src/libslic3r/PrintConfig.cpp:508 msgid "" "Set this to a non-zero value to set a manual extrusion width for external " "perimeters. If left zero, default extrusion width will be used if set, " @@ -4960,14 +9458,16 @@ msgstr "" "сопла. Якщо він виражений у відсотках (наприклад, 200%), він буде " "обчислюватися за висотою шару." -#: src/libslic3r/PrintConfig.cpp:419 src/libslic3r/PrintConfig.cpp:834 -#: src/libslic3r/PrintConfig.cpp:966 src/libslic3r/PrintConfig.cpp:1353 -#: src/libslic3r/PrintConfig.cpp:1691 src/libslic3r/PrintConfig.cpp:1864 -#: src/libslic3r/PrintConfig.cpp:2022 -msgid "mm or % (leave 0 for default)" -msgstr "мм або % (залиште 0 за замовчанням)" +#: src/libslic3r/PrintConfig.cpp:511 src/libslic3r/PrintConfig.cpp:621 +#: src/libslic3r/PrintConfig.cpp:962 src/libslic3r/PrintConfig.cpp:975 +#: src/libslic3r/PrintConfig.cpp:1104 src/libslic3r/PrintConfig.cpp:1159 +#: src/libslic3r/PrintConfig.cpp:1185 src/libslic3r/PrintConfig.cpp:1632 +#: src/libslic3r/PrintConfig.cpp:1961 src/libslic3r/PrintConfig.cpp:2110 +#: src/libslic3r/PrintConfig.cpp:2178 src/libslic3r/PrintConfig.cpp:2339 +msgid "mm or %" +msgstr "мм або %" -#: src/libslic3r/PrintConfig.cpp:426 +#: src/libslic3r/PrintConfig.cpp:519 msgid "" "This separate setting will affect the speed of external perimeters (the " "visible ones). If expressed as percentage (for example: 80%) it will be " @@ -4978,17 +9478,17 @@ msgstr "" "налаштування швидкості периметра вище. Встановити 0 для автоматичного " "використання." -#: src/libslic3r/PrintConfig.cpp:429 src/libslic3r/PrintConfig.cpp:855 -#: src/libslic3r/PrintConfig.cpp:1650 src/libslic3r/PrintConfig.cpp:1701 -#: src/libslic3r/PrintConfig.cpp:1907 src/libslic3r/PrintConfig.cpp:2034 +#: src/libslic3r/PrintConfig.cpp:522 src/libslic3r/PrintConfig.cpp:984 +#: src/libslic3r/PrintConfig.cpp:1920 src/libslic3r/PrintConfig.cpp:1972 +#: src/libslic3r/PrintConfig.cpp:2222 src/libslic3r/PrintConfig.cpp:2352 msgid "mm/s or %" msgstr "мм/с або %" -#: src/libslic3r/PrintConfig.cpp:436 +#: src/libslic3r/PrintConfig.cpp:529 msgid "External perimeters first" msgstr "Спочатку зовнішні периметри" -#: src/libslic3r/PrintConfig.cpp:438 +#: src/libslic3r/PrintConfig.cpp:531 msgid "" "Print contour perimeters from the outermost one to the innermost one instead " "of the default inverse order." @@ -4996,12 +9496,11 @@ msgstr "" "Друкувати контури периметра від найзовнішнього до найвнутрішнього, замість " "інверсного порядку за замовчанням." -#: src/libslic3r/PrintConfig.cpp:444 +#: src/libslic3r/PrintConfig.cpp:537 msgid "Extra perimeters if needed" msgstr "Додаткові периметри, якщо необхідно" -#: src/libslic3r/PrintConfig.cpp:446 -#, no-c-format +#: src/libslic3r/PrintConfig.cpp:539 msgid "" "Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r " "keeps adding perimeters, until more than 70% of the loop immediately above " @@ -5011,7 +9510,7 @@ msgstr "" "Slic3r продовжує додавати периметри, поки підтримується більше 70% петель " "безпосередньо вище." -#: src/libslic3r/PrintConfig.cpp:456 +#: src/libslic3r/PrintConfig.cpp:549 msgid "" "The extruder to use (unless more specific extruder settings are specified). " "This value overrides perimeter and infill extruders, but not the support " @@ -5021,7 +9520,7 @@ msgstr "" "екструдера). Це значення перевизначає екструдери периметра та наповнювача, " "але не екструдери підтримки." -#: src/libslic3r/PrintConfig.cpp:468 +#: src/libslic3r/PrintConfig.cpp:561 msgid "" "Set this to the vertical distance between your nozzle tip and (usually) the " "X carriage rods. In other words, this is the height of the clearance " @@ -5033,11 +9532,7 @@ msgstr "" "навколо вашого екструдера, і це являє собою максимальну глибину, яку " "екструдер може розглядати до зіткнення з іншими друкованими предметами." -#: src/libslic3r/PrintConfig.cpp:478 -msgid "Radius" -msgstr "Радіус" - -#: src/libslic3r/PrintConfig.cpp:479 +#: src/libslic3r/PrintConfig.cpp:572 msgid "" "Set this to the clearance radius around your extruder. If the extruder is " "not centered, choose the largest value for safety. This setting is used to " @@ -5048,20 +9543,20 @@ msgstr "" "параметр використовується для перевірки зіткнень та відображення графічного " "попереднього перегляду в панелі." -#: src/libslic3r/PrintConfig.cpp:489 +#: src/libslic3r/PrintConfig.cpp:582 msgid "Extruder Color" msgstr "Колір екструдера" -#: src/libslic3r/PrintConfig.cpp:490 src/libslic3r/PrintConfig.cpp:550 +#: src/libslic3r/PrintConfig.cpp:583 src/libslic3r/PrintConfig.cpp:645 msgid "This is only used in the Slic3r interface as a visual help." msgstr "" "Ця опція використовується лише у інтерфейсі Slic3r як візуальна допомога." -#: src/libslic3r/PrintConfig.cpp:496 +#: src/libslic3r/PrintConfig.cpp:589 msgid "Extruder offset" msgstr "Зміщення екструдеру" -#: src/libslic3r/PrintConfig.cpp:497 +#: src/libslic3r/PrintConfig.cpp:590 msgid "" "If your firmware doesn't handle the extruder displacement you need the G-" "code to take it into account. This option lets you specify the displacement " @@ -5073,11 +9568,11 @@ msgstr "" "відносно першого. Він очікує позитивних координат (вони будуть віднімані від " "координати XY)." -#: src/libslic3r/PrintConfig.cpp:506 +#: src/libslic3r/PrintConfig.cpp:599 msgid "Extrusion axis" msgstr "Ось екструзії" -#: src/libslic3r/PrintConfig.cpp:507 +#: src/libslic3r/PrintConfig.cpp:600 msgid "" "Use this option to set the axis letter associated to your printer's extruder " "(usually E but some printers use A)." @@ -5085,11 +9580,11 @@ msgstr "" "Використовуйте цю опцію, щоб встановити букву осей, пов'язану з екструдером " "принтера (зазвичай E, але деякі принтери використовують A)." -#: src/libslic3r/PrintConfig.cpp:512 +#: src/libslic3r/PrintConfig.cpp:605 msgid "Extrusion multiplier" msgstr "Коефіцієнт екструзії" -#: src/libslic3r/PrintConfig.cpp:513 +#: src/libslic3r/PrintConfig.cpp:606 msgid "" "This factor changes the amount of flow proportionally. You may need to tweak " "this setting to get nice surface finish and correct single wall widths. " @@ -5099,14 +9594,14 @@ msgstr "" "Цей фактор пропорційно змінює величину потоку. Вам може знадобитися " "налаштувати цей параметр, щоб отримати хорошу обробку поверхні та правильно " "визначити ширину однієї стіни. Звичайні значення - від 0,9 до 1,1. Якщо ви " -"вважаєте, що його потрібно більше змінити, перевірте діаметр нитки та E " +"вважаєте, що його потрібно більше змінити, перевірте діаметр філаменту та E " "кроки прошивки ." -#: src/libslic3r/PrintConfig.cpp:521 +#: src/libslic3r/PrintConfig.cpp:615 msgid "Default extrusion width" msgstr "Ширина екструзії за замовчанням" -#: src/libslic3r/PrintConfig.cpp:523 +#: src/libslic3r/PrintConfig.cpp:617 msgid "" "Set this to a non-zero value to allow a manual extrusion width. If left to " "zero, Slic3r derives extrusion widths from the nozzle diameter (see the " @@ -5120,15 +9615,11 @@ msgstr "" "наповнювача тощо). Якщо значення виражене у відсотках (наприклад: 230%), " "воно буде обчислюватися за висотою шару." -#: src/libslic3r/PrintConfig.cpp:527 -msgid "mm or % (leave 0 for auto)" -msgstr "мм або % (залиште 0 для автообчислення)" - -#: src/libslic3r/PrintConfig.cpp:532 +#: src/libslic3r/PrintConfig.cpp:628 msgid "Keep fan always on" msgstr "Тримайте вентилятор завжди" -#: src/libslic3r/PrintConfig.cpp:533 +#: src/libslic3r/PrintConfig.cpp:629 msgid "" "If this is enabled, fan will never be disabled and will be kept running at " "least at its minimum speed. Useful for PLA, harmful for ABS." @@ -5137,11 +9628,11 @@ msgstr "" "триматися, як мінімум, на мінімальній швидкості. Корисно для PLA, шкідливо " "для ABS." -#: src/libslic3r/PrintConfig.cpp:538 +#: src/libslic3r/PrintConfig.cpp:634 msgid "Enable fan if layer print time is below" msgstr "Увімкнути вентилятор, якщо час друку шару нижче" -#: src/libslic3r/PrintConfig.cpp:539 +#: src/libslic3r/PrintConfig.cpp:635 msgid "" "If layer print time is estimated below this number of seconds, fan will be " "enabled and its speed will be calculated by interpolating the minimum and " @@ -5151,27 +9642,27 @@ msgstr "" "активований, а його швидкість буде розрахована шляхом інтерполяції " "мінімальної та максимальної швидкості." -#: src/libslic3r/PrintConfig.cpp:541 src/libslic3r/PrintConfig.cpp:1637 +#: src/libslic3r/PrintConfig.cpp:637 src/libslic3r/PrintConfig.cpp:1908 msgid "approximate seconds" msgstr "приблизні секунди" -#: src/libslic3r/PrintConfig.cpp:549 +#: src/libslic3r/PrintConfig.cpp:644 msgid "Color" msgstr "Колір" -#: src/libslic3r/PrintConfig.cpp:555 +#: src/libslic3r/PrintConfig.cpp:650 msgid "Filament notes" msgstr "Примітки до філаменту" -#: src/libslic3r/PrintConfig.cpp:556 +#: src/libslic3r/PrintConfig.cpp:651 msgid "You can put your notes regarding the filament here." msgstr "Тут ви можете помістити свої нотатки щодо філаменту." -#: src/libslic3r/PrintConfig.cpp:564 src/libslic3r/PrintConfig.cpp:1181 +#: src/libslic3r/PrintConfig.cpp:659 src/libslic3r/PrintConfig.cpp:1455 msgid "Max volumetric speed" msgstr "Максимальна об'ємна швидкість" -#: src/libslic3r/PrintConfig.cpp:565 +#: src/libslic3r/PrintConfig.cpp:660 msgid "" "Maximum volumetric speed allowed for this filament. Limits the maximum " "volumetric speed of a print to the minimum of print and filament volumetric " @@ -5181,79 +9672,86 @@ msgstr "" "максимальну об'ємну швидкість друку до мінімуму об'ємної швидкості друку та " "філаметну. Встановити 0 для відсутності обмежень." -#: src/libslic3r/PrintConfig.cpp:568 src/libslic3r/PrintConfig.cpp:1184 -msgid "mm³/s" -msgstr "мм³/с" - -#: src/libslic3r/PrintConfig.cpp:574 +#: src/libslic3r/PrintConfig.cpp:669 msgid "Loading speed" -msgstr "" +msgstr "Швидкість заведення" -#: src/libslic3r/PrintConfig.cpp:575 -msgid "Speed used for loading the filament on the wipe tower. " +#: src/libslic3r/PrintConfig.cpp:670 +msgid "Speed used for loading the filament on the wipe tower." msgstr "" +"Швидкість, що використовується для заведення філаменту на вежі витирання." -#: src/libslic3r/PrintConfig.cpp:582 +#: src/libslic3r/PrintConfig.cpp:677 msgid "Loading speed at the start" -msgstr "" +msgstr "Швидкість заведення на старті" -#: src/libslic3r/PrintConfig.cpp:583 -msgid "Speed used at the very beginning of loading phase. " -msgstr "" +#: src/libslic3r/PrintConfig.cpp:678 +msgid "Speed used at the very beginning of loading phase." +msgstr "Швидкість, що використовується на самому початку фази заведення." -#: src/libslic3r/PrintConfig.cpp:590 +#: src/libslic3r/PrintConfig.cpp:685 msgid "Unloading speed" -msgstr "" +msgstr "Швидкість виведення" -#: src/libslic3r/PrintConfig.cpp:591 +#: src/libslic3r/PrintConfig.cpp:686 msgid "" "Speed used for unloading the filament on the wipe tower (does not affect " -"initial part of unloading just after ramming). " +"initial part of unloading just after ramming)." msgstr "" +"Швидкість, яка використовується для виведення філаменту на вежі витирання " +"(не впливає на початкову частину виведення безпосередньо після раммінгу)." -#: src/libslic3r/PrintConfig.cpp:599 +#: src/libslic3r/PrintConfig.cpp:694 msgid "Unloading speed at the start" -msgstr "" +msgstr "Швидкість виведення на старті" -#: src/libslic3r/PrintConfig.cpp:600 +#: src/libslic3r/PrintConfig.cpp:695 msgid "" -"Speed used for unloading the tip of the filament immediately after ramming. " +"Speed used for unloading the tip of the filament immediately after ramming." msgstr "" +"Швидкість, яка використовується для виведення кінчику філаменту " +"безпосередньо після раммінгу." -#: src/libslic3r/PrintConfig.cpp:607 +#: src/libslic3r/PrintConfig.cpp:702 msgid "Delay after unloading" -msgstr "" +msgstr "Затримка після виведення" -#: src/libslic3r/PrintConfig.cpp:608 +#: src/libslic3r/PrintConfig.cpp:703 msgid "" "Time to wait after the filament is unloaded. May help to get reliable " "toolchanges with flexible materials that may need more time to shrink to " -"original dimensions. " +"original dimensions." msgstr "" +"Час очікування після виведення філаменту. Може допомогти отримати надійну " +"заміну інструменту для гнучких матеріалів, яким може знадобитися більше " +"часу, щоб зменшитись до початкових розмірів." -#: src/libslic3r/PrintConfig.cpp:617 +#: src/libslic3r/PrintConfig.cpp:712 msgid "Number of cooling moves" -msgstr "" +msgstr "Кількість охолоджуючих рухів" -#: src/libslic3r/PrintConfig.cpp:618 +#: src/libslic3r/PrintConfig.cpp:713 msgid "" "Filament is cooled by being moved back and forth in the cooling tubes. " -"Specify desired number of these moves " +"Specify desired number of these moves." msgstr "" +"Філамент охолоджується шляхом переміщення вперед-назад у охолоджувальних " +"трубках. Вкажіть бажану кількість цих рухів." -#: src/libslic3r/PrintConfig.cpp:626 +#: src/libslic3r/PrintConfig.cpp:721 msgid "Speed of the first cooling move" -msgstr "" +msgstr "Швидкість першого охолоджуючого руху" -#: src/libslic3r/PrintConfig.cpp:627 -msgid "Cooling moves are gradually accelerating beginning at this speed. " +#: src/libslic3r/PrintConfig.cpp:722 +msgid "Cooling moves are gradually accelerating beginning at this speed." msgstr "" +"Охолоджувальні рухи поступово прискорюються, починаючи з цієї швидкості." -#: src/libslic3r/PrintConfig.cpp:634 +#: src/libslic3r/PrintConfig.cpp:729 msgid "Minimal purge on wipe tower" -msgstr "" +msgstr "Мінімальний екструдований об'єм на очисній вежі" -#: src/libslic3r/PrintConfig.cpp:635 +#: src/libslic3r/PrintConfig.cpp:730 msgid "" "After a tool change, the exact position of the newly loaded filament inside " "the nozzle may not be known, and the filament pressure is likely not yet " @@ -5261,66 +9759,80 @@ msgid "" "object, Slic3r will always prime this amount of material into the wipe tower " "to produce successive infill or sacrificial object extrusions reliably." msgstr "" +"Після зміни інструменту точне положення знову заведеного філаменту всередину " +"сопла може бути невідоме, а тиск філаменту, скоріше за все, ще не " +"стабільний. Перш ніж прочищати друкувальну головку до заповнення або " +"очищувальної вежі, Slic3r завжди продавлює цю кількість матеріалу до " +"очищувальної вежі, щоб отримати послідовне заповнення." -#: src/libslic3r/PrintConfig.cpp:639 +#: src/libslic3r/PrintConfig.cpp:734 msgid "mm³" -msgstr "" +msgstr "мм³" -#: src/libslic3r/PrintConfig.cpp:645 +#: src/libslic3r/PrintConfig.cpp:740 msgid "Speed of the last cooling move" -msgstr "" +msgstr "Швидкість останнього охолоджуючого руху" -#: src/libslic3r/PrintConfig.cpp:646 -msgid "Cooling moves are gradually accelerating towards this speed. " -msgstr "" +#: src/libslic3r/PrintConfig.cpp:741 +msgid "Cooling moves are gradually accelerating towards this speed." +msgstr "Охолоджувальні рухи поступово прискорюються до цієї швидкості." -#: src/libslic3r/PrintConfig.cpp:653 +#: src/libslic3r/PrintConfig.cpp:748 msgid "Filament load time" -msgstr "" +msgstr "Час заведення філаменту" -#: src/libslic3r/PrintConfig.cpp:654 +#: src/libslic3r/PrintConfig.cpp:749 msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to load a new " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"Час для прошивки принтера (або Multi Material Unit 2.0), щоб завести новий " +"філамент під час заміни інструменту (під час виконання коду Т). Цей час " +"додається до загального часу друку за допомогою оцінювача часу G-коду." -#: src/libslic3r/PrintConfig.cpp:661 +#: src/libslic3r/PrintConfig.cpp:756 msgid "Ramming parameters" -msgstr "" +msgstr "Параметри раммінгу" -#: src/libslic3r/PrintConfig.cpp:662 +#: src/libslic3r/PrintConfig.cpp:757 msgid "" "This string is edited by RammingDialog and contains ramming specific " -"parameters " +"parameters." msgstr "" +"Цей рядок відредаговано у діалогу налаштувань раммінгу та містить певні " +"параметри раммінгу." -#: src/libslic3r/PrintConfig.cpp:668 +#: src/libslic3r/PrintConfig.cpp:763 msgid "Filament unload time" -msgstr "" +msgstr "Час виведення філаменту" -#: src/libslic3r/PrintConfig.cpp:669 +#: src/libslic3r/PrintConfig.cpp:764 msgid "" "Time for the printer firmware (or the Multi Material Unit 2.0) to unload a " "filament during a tool change (when executing the T code). This time is " "added to the total print time by the G-code time estimator." msgstr "" +"Час для прошивки принтера (або Multi Material Unit 2.0), щоб вивести " +"філамент під час заміни інструменту (під час виконання коду Т). Цей час " +"додається до загального часу друку за допомогою оцінювача часу G-коду." -#: src/libslic3r/PrintConfig.cpp:677 +#: src/libslic3r/PrintConfig.cpp:772 msgid "" "Enter your filament diameter here. Good precision is required, so use a " "caliper and do multiple measurements along the filament, then compute the " "average." msgstr "" "Введіть тут діаметр свого філаменту. Необхідна висока точність, тому " -"використовуйте суматор і виконайте декілька вимірювань вздовж нитки, потім " -"обчисліть середнє значення." +"використовуйте суматор і виконайте декілька вимірювань вздовж філаменту, " +"потім обчисліть середнє значення." -#: src/libslic3r/PrintConfig.cpp:684 +#: src/libslic3r/PrintConfig.cpp:779 src/libslic3r/PrintConfig.cpp:2731 +#: src/libslic3r/PrintConfig.cpp:2732 msgid "Density" msgstr "Щільність" -#: src/libslic3r/PrintConfig.cpp:685 +#: src/libslic3r/PrintConfig.cpp:780 msgid "" "Enter your filament density here. This is only for statistical information. " "A decent way is to weigh a known length of filament and compute the ratio of " @@ -5328,31 +9840,31 @@ msgid "" "displacement." msgstr "" "Введіть тут щільність свого філаменту. Це тільки для статистичної " -"інформації. Пристойним способом є зважування відомої довжини нитки та " +"інформації. Пристойним способом є зважування відомої довжини філаменту та " "обчислення співвідношення довжини до обсягу. Краще обчислити об'єм " "безпосередньо через зміщення." -#: src/libslic3r/PrintConfig.cpp:688 +#: src/libslic3r/PrintConfig.cpp:783 msgid "g/cm³" msgstr "г/см³" -#: src/libslic3r/PrintConfig.cpp:693 +#: src/libslic3r/PrintConfig.cpp:788 msgid "Filament type" msgstr "Тип філаменту" -#: src/libslic3r/PrintConfig.cpp:694 +#: src/libslic3r/PrintConfig.cpp:789 msgid "The filament material type for use in custom G-codes." -msgstr "" +msgstr "Тип матеріалу філаменту для використання в користувацьких G-кодах." -#: src/libslic3r/PrintConfig.cpp:710 +#: src/libslic3r/PrintConfig.cpp:816 msgid "Soluble material" msgstr "Розчинний матеріал" -#: src/libslic3r/PrintConfig.cpp:711 +#: src/libslic3r/PrintConfig.cpp:817 msgid "Soluble material is most likely used for a soluble support." msgstr "Розчинний матеріал переважно використовується для розчинної підтримки." -#: src/libslic3r/PrintConfig.cpp:717 +#: src/libslic3r/PrintConfig.cpp:823 msgid "" "Enter your filament cost per kg here. This is only for statistical " "information." @@ -5360,15 +9872,39 @@ msgstr "" "Введіть тут свою вартість філаменту на кг. Це тільки для статистичної " "інформації." -#: src/libslic3r/PrintConfig.cpp:718 +#: src/libslic3r/PrintConfig.cpp:824 msgid "money/kg" msgstr "грошових одиниць/кг" -#: src/libslic3r/PrintConfig.cpp:727 +#: src/libslic3r/PrintConfig.cpp:829 +msgid "Spool weight" +msgstr "Вага котушки" + +#: src/libslic3r/PrintConfig.cpp:830 +msgid "" +"Enter weight of the empty filament spool. One may weigh a partially consumed " +"filament spool before printing and one may compare the measured weight with " +"the calculated weight of the filament with the spool to find out whether the " +"amount of filament on the spool is sufficient to finish the print." +msgstr "" +"Введіть вагу порожньої котушки філаменту. Перед друком можна зважити " +"частково витрачену котушку філаменту, а можна порівняти виміряну вагу з " +"розрахунковою вагою філаменту з котушкою, щоб з’ясувати, чи достатньо " +"кількості філаменту на котушці для закінчення друку." + +#: src/libslic3r/PrintConfig.cpp:834 +msgid "g" +msgstr "г" + +#: src/libslic3r/PrintConfig.cpp:843 src/libslic3r/PrintConfig.cpp:2815 +msgid "(Unknown)" +msgstr "(Невідомий)" + +#: src/libslic3r/PrintConfig.cpp:847 msgid "Fill angle" msgstr "Кут наповнення" -#: src/libslic3r/PrintConfig.cpp:729 +#: src/libslic3r/PrintConfig.cpp:849 msgid "" "Default base angle for infill orientation. Cross-hatching will be applied to " "this. Bridges will be infilled using the best direction Slic3r can detect, " @@ -5378,60 +9914,68 @@ msgstr "" "застосовуватися крос-штрих. Мости будуть заповнені, використовуючи найкращий " "напрям, який може виявити Slic3r, тому цей параметр на них не впливає." -#: src/libslic3r/PrintConfig.cpp:741 +#: src/libslic3r/PrintConfig.cpp:861 msgid "Fill density" msgstr "Щільність заповнення" -#: src/libslic3r/PrintConfig.cpp:743 +#: src/libslic3r/PrintConfig.cpp:863 msgid "Density of internal infill, expressed in the range 0% - 100%." msgstr "Щільність внутрішнього заповнення, виражена в діапазоні 0% - 100%." -#: src/libslic3r/PrintConfig.cpp:778 +#: src/libslic3r/PrintConfig.cpp:898 msgid "Fill pattern" msgstr "Шаблон заповнення" -#: src/libslic3r/PrintConfig.cpp:780 +#: src/libslic3r/PrintConfig.cpp:900 msgid "Fill pattern for general low-density infill." msgstr "Шаблон заповнення для загального низько-швидкісного наповнення." -#: src/libslic3r/PrintConfig.cpp:796 +#: src/libslic3r/PrintConfig.cpp:920 msgid "Grid" -msgstr "" +msgstr "Сітка" -#: src/libslic3r/PrintConfig.cpp:797 +#: src/libslic3r/PrintConfig.cpp:921 msgid "Triangles" -msgstr "" +msgstr "Трикутники" -#: src/libslic3r/PrintConfig.cpp:798 +#: src/libslic3r/PrintConfig.cpp:922 msgid "Stars" -msgstr "" +msgstr "Зірки" -#: src/libslic3r/PrintConfig.cpp:799 +#: src/libslic3r/PrintConfig.cpp:923 msgid "Cubic" -msgstr "" +msgstr "Кубічний" -#: src/libslic3r/PrintConfig.cpp:800 +#: src/libslic3r/PrintConfig.cpp:924 msgid "Line" -msgstr "" +msgstr "Лінії" -#: src/libslic3r/PrintConfig.cpp:802 src/libslic3r/PrintConfig.cpp:1923 +#: src/libslic3r/PrintConfig.cpp:926 src/libslic3r/PrintConfig.cpp:2238 msgid "Honeycomb" -msgstr "" +msgstr "Стільниковий" -#: src/libslic3r/PrintConfig.cpp:803 +#: src/libslic3r/PrintConfig.cpp:927 msgid "3D Honeycomb" -msgstr "" +msgstr "3D стільник" -#: src/libslic3r/PrintConfig.cpp:804 +#: src/libslic3r/PrintConfig.cpp:928 msgid "Gyroid" -msgstr "" +msgstr "Гіроїд" -#: src/libslic3r/PrintConfig.cpp:811 src/libslic3r/PrintConfig.cpp:820 -#: src/libslic3r/PrintConfig.cpp:828 src/libslic3r/PrintConfig.cpp:861 +#: src/libslic3r/PrintConfig.cpp:932 +msgid "Adaptive Cubic" +msgstr "Адаптивний кубічний" + +#: src/libslic3r/PrintConfig.cpp:933 +msgid "Support Cubic" +msgstr "Кубічна підтримка" + +#: src/libslic3r/PrintConfig.cpp:937 src/libslic3r/PrintConfig.cpp:946 +#: src/libslic3r/PrintConfig.cpp:956 src/libslic3r/PrintConfig.cpp:990 msgid "First layer" msgstr "Перший шар" -#: src/libslic3r/PrintConfig.cpp:812 +#: src/libslic3r/PrintConfig.cpp:938 msgid "" "This is the acceleration your printer will use for first layer. Set zero to " "disable acceleration control for first layer." @@ -5439,7 +9983,11 @@ msgstr "" "Це прискорення, яке ваш принтер використовуватиме для першого шару. " "Встановити 0, щоб вимкнути керування прискоренням для першого шару." -#: src/libslic3r/PrintConfig.cpp:821 +#: src/libslic3r/PrintConfig.cpp:947 +msgid "First layer bed temperature" +msgstr "Температура столу на першому шарі" + +#: src/libslic3r/PrintConfig.cpp:948 msgid "" "Heated build plate temperature for the first layer. Set this to zero to " "disable bed temperature control commands in the output." @@ -5447,7 +9995,7 @@ msgstr "" "Температура підігрітої збірної пластини для першого шару. Установіть 0, щоб " "відключити команди керування температурою полотна на виході." -#: src/libslic3r/PrintConfig.cpp:830 +#: src/libslic3r/PrintConfig.cpp:958 msgid "" "Set this to a non-zero value to set a manual extrusion width for first " "layer. You can use this to force fatter extrudates for better adhesion. If " @@ -5460,11 +10008,7 @@ msgstr "" "(наприклад, 120%), вона буде обчислена за висотою першого шару. Якщо " "встановлено на 0 - використовуватиме стандартну ширину екструзії." -#: src/libslic3r/PrintConfig.cpp:840 -msgid "First layer height" -msgstr "Висота першого шару" - -#: src/libslic3r/PrintConfig.cpp:842 +#: src/libslic3r/PrintConfig.cpp:971 msgid "" "When printing with very low layer heights, you might still want to print a " "thicker bottom layer to improve adhesion and tolerance for non perfect build " @@ -5476,16 +10020,11 @@ msgstr "" "до невідповідних збірних пластин. Можна виразити як абсолютне значення або " "як відсоток (наприклад: 150%) по висоті шару за замовчуванням." -#: src/libslic3r/PrintConfig.cpp:846 src/libslic3r/PrintConfig.cpp:991 -#: src/libslic3r/PrintConfig.cpp:1796 -msgid "mm or %" -msgstr "мм або %" - -#: src/libslic3r/PrintConfig.cpp:851 +#: src/libslic3r/PrintConfig.cpp:980 msgid "First layer speed" msgstr "Швидкість першого шару" -#: src/libslic3r/PrintConfig.cpp:852 +#: src/libslic3r/PrintConfig.cpp:981 msgid "" "If expressed as absolute value in mm/s, this speed will be applied to all " "the print moves of the first layer, regardless of their type. If expressed " @@ -5496,17 +10035,39 @@ msgstr "" "вона виражена у відсотках (наприклад: 40%), вона буде масштабувати швидкість " "за замовчуванням." -#: src/libslic3r/PrintConfig.cpp:862 -msgid "" -"Extruder temperature for first layer. If you want to control temperature " -"manually during print, set this to zero to disable temperature control " -"commands in the output file." -msgstr "" -"Температура екструдеру для першого шару. Якщо ви хочете контролювати " -"температуру вручну під час друку, встановіть 0, щоб вимкнути команди " -"керування температурою у вихідному файлі." +#: src/libslic3r/PrintConfig.cpp:991 +msgid "First layer nozzle temperature" +msgstr "Температура сопла на першому шарі" -#: src/libslic3r/PrintConfig.cpp:871 +#: src/libslic3r/PrintConfig.cpp:992 +msgid "" +"Nozzle temperature for the first layer. If you want to control temperature " +"manually during print, set this to zero to disable temperature control " +"commands in the output G-code." +msgstr "" +"Температура сопла для першого шару. Якщо ви хочете контролювати температуру " +"вручну під час друку, встановіть її на нуль, щоб вимкнути команди контролю " +"температури у вихідному G-коді." + +#: src/libslic3r/PrintConfig.cpp:1000 +msgid "Full fan speed at layer" +msgstr "Повна швидкість вентилятора на шарі" + +#: src/libslic3r/PrintConfig.cpp:1001 +msgid "" +"Fan speed will be ramped up linearly from zero at layer " +"\"disable_fan_first_layers\" to maximum at layer \"full_fan_speed_layer\". " +"\"full_fan_speed_layer\" will be ignored if lower than " +"\"disable_fan_first_layers\", in which case the fan will be running at " +"maximum allowed speed at layer \"disable_fan_first_layers\" + 1." +msgstr "" +"Швидкість вентилятора буде збільшена лінійно з нуля на шарі " +"\"disable_fan_first_layers\" до максимальної на шарі \"full_fan_speed_layer" +"\". \"full_fan_speed_layer\" буде проігноровано, якщо нижче " +"\"disable_fan_first_layers\", і в цьому випадку вентилятор буде працювати з " +"максимально дозволеною швидкістю на рівні \"disable_fan_first_layers\" + 1." + +#: src/libslic3r/PrintConfig.cpp:1013 msgid "" "Speed for filling small gaps using short zigzag moves. Keep this reasonably " "low to avoid too much shaking and resonance issues. Set zero to disable gaps " @@ -5517,11 +10078,11 @@ msgstr "" "надмірних потрясінь та резонансних проблем. Встановити 0, щоб вимкнути " "заповнення розривів." -#: src/libslic3r/PrintConfig.cpp:879 +#: src/libslic3r/PrintConfig.cpp:1021 msgid "Verbose G-code" msgstr "Докладний G-код" -#: src/libslic3r/PrintConfig.cpp:880 +#: src/libslic3r/PrintConfig.cpp:1022 msgid "" "Enable this to get a commented G-code file, with each line explained by a " "descriptive text. If you print from SD card, the additional weight of the " @@ -5531,38 +10092,57 @@ msgstr "" "пояснюється описовим текстом. Якщо ви друкуєте з SD-карти, додаткова вага " "файлу може призвести до уповільнення прошивки." -#: src/libslic3r/PrintConfig.cpp:887 +#: src/libslic3r/PrintConfig.cpp:1029 msgid "G-code flavor" msgstr "Особливість G-коду" -#: src/libslic3r/PrintConfig.cpp:888 +#: src/libslic3r/PrintConfig.cpp:1030 msgid "" "Some G/M-code commands, including temperature control and others, are not " "universal. Set this option to your printer's firmware to get a compatible " -"output. The \"No extrusion\" flavor prevents Slic3r from exporting any " +"output. The \"No extrusion\" flavor prevents PrusaSlicer from exporting any " "extrusion value at all." msgstr "" -"Деякі команди G/M-коду, включаючи контроль температури тощо, не є " -"універсальними. Установіть цей параметр на прошивку принтера, щоб отримати " -"сумісний вихід. \"Відсутність екструзії\" не дозволяє Slic3r експортувати " -"будь-яке значення екструзії." +"Деякі команди G/M-коду, включаючи контроль температури та інші, не є " +"універсальними. Встановіть для цього параметра мікропрограму принтера, щоб " +"отримати сумісний вихід. Наявність вибору \"Без екструзії\" захищаюсь " +"PrusaSlicer від експорту взагалі будь-яких екструзійних значень." -#: src/libslic3r/PrintConfig.cpp:911 +#: src/libslic3r/PrintConfig.cpp:1055 msgid "No extrusion" -msgstr "" +msgstr "Без екструзії" -#: src/libslic3r/PrintConfig.cpp:924 +#: src/libslic3r/PrintConfig.cpp:1060 +msgid "Label objects" +msgstr "Маркувати об'єкти" + +#: src/libslic3r/PrintConfig.cpp:1061 +msgid "" +"Enable this to add comments into the G-Code labeling print moves with what " +"object they belong to, which is useful for the Octoprint CancelObject " +"plugin. This settings is NOT compatible with Single Extruder Multi Material " +"setup and Wipe into Object / Wipe into Infill." +msgstr "" +"Увімкніть це, щоб додати коментарі до ходів друку міток G-Code із об’єктом, " +"до якого вони належать, що корисно для плагіна Octoprint CancelObject. Ці " +"налаштування НЕ сумісні з параметрами \"Мульти-матеріальний (ММ) друк з " +"одним екструдером\" та \"Витирати в об'єкт\" / \"Витирати в заповнення\"." + +#: src/libslic3r/PrintConfig.cpp:1068 msgid "High extruder current on filament swap" -msgstr "" +msgstr "Звищення струму екструдера на заміні філамента" -#: src/libslic3r/PrintConfig.cpp:925 +#: src/libslic3r/PrintConfig.cpp:1069 msgid "" "It may be beneficial to increase the extruder motor current during the " "filament exchange sequence to allow for rapid ramming feed rates and to " "overcome resistance when loading a filament with an ugly shaped tip." msgstr "" +"Може бути корисно збільшити струм двигуна екструдера під час заміни " +"філаменту, щоб забезпечити швидкий раммінг та подолати опір при заведенні " +"філаменту з кінчиком потворної форми." -#: src/libslic3r/PrintConfig.cpp:933 +#: src/libslic3r/PrintConfig.cpp:1077 msgid "" "This is the acceleration your printer will use for infill. Set zero to " "disable acceleration control for infill." @@ -5570,11 +10150,11 @@ msgstr "" "Це прискорення, яке ваш принтер використовуватиме для наповнення. Встановити " "0, щоб вимкнути регулятор прискорення для заповнення." -#: src/libslic3r/PrintConfig.cpp:941 +#: src/libslic3r/PrintConfig.cpp:1085 msgid "Combine infill every" msgstr "Об'єднати наповнення кожні" -#: src/libslic3r/PrintConfig.cpp:943 +#: src/libslic3r/PrintConfig.cpp:1087 msgid "" "This feature allows to combine infill and speed up your print by extruding " "thicker infill layers while preserving thin perimeters, thus accuracy." @@ -5582,19 +10162,83 @@ msgstr "" "Ця функція дозволяє поєднувати наповнення та прискорити друк, екструдуючи " "більш товсті шари наповнення, зберігаючи тонкі периметри, а отже, і точністю." -#: src/libslic3r/PrintConfig.cpp:946 +#: src/libslic3r/PrintConfig.cpp:1090 msgid "Combine infill every n layers" msgstr "Об'єднати наповнення кожні n шарів" -#: src/libslic3r/PrintConfig.cpp:952 +#: src/libslic3r/PrintConfig.cpp:1096 +msgid "Length of the infill anchor" +msgstr "Довжина якоря заповнення" + +#: src/libslic3r/PrintConfig.cpp:1098 +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. PrusaSlicer tries to connect two " +"close infill lines to a short perimeter segment. If no such perimeter " +"segment shorter than infill_anchor_max is found, the infill line is " +"connected to a perimeter segment at just one side and the length of the " +"perimeter segment taken is limited to this parameter, but no longer than " +"anchor_length_max. Set this parameter to zero to disable anchoring " +"perimeters connected to a single infill line." +msgstr "" +"З'єднати лінію заповнення з внутрішнім периметром за допомогою короткого " +"відрізку додаткового периметра. Якщо це значення виражається у відсотках " +"(приклад: 15%), воно розраховується за шириною екструзії заповнення. " +"PrusaSlicer намагається з'єднати дві тісні лінії заповнення з коротким " +"периметром. Якщо такого відрізка периметра, коротшого за infill_anchor_max, " +"не знайдено, лінія заповнення з'єднується з відрізком периметра лише з " +"одного боку, і довжина прийнятого відрізка периметра обмежена цим " +"параметром, але не довше anchor_length_max. Встановіть для цього параметра " +"нуль, щоб вимкнути периметри закріплення, підключені до однієї лінії " +"заповнення." + +#: src/libslic3r/PrintConfig.cpp:1113 +msgid "0 (no open anchors)" +msgstr "0 (без відкритих якорів)" + +#: src/libslic3r/PrintConfig.cpp:1118 src/libslic3r/PrintConfig.cpp:1140 +msgid "1000 (unlimited)" +msgstr "1000 (необмежено)" + +#: src/libslic3r/PrintConfig.cpp:1123 +msgid "Maximum length of the infill anchor" +msgstr "Максимальна довжина якоря заповнення" + +#: src/libslic3r/PrintConfig.cpp:1125 +msgid "" +"Connect an infill line to an internal perimeter with a short segment of an " +"additional perimeter. If expressed as percentage (example: 15%) it is " +"calculated over infill extrusion width. PrusaSlicer tries to connect two " +"close infill lines to a short perimeter segment. If no such perimeter " +"segment shorter than this parameter is found, the infill line is connected " +"to a perimeter segment at just one side and the length of the perimeter " +"segment taken is limited to infill_anchor, but no longer than this " +"parameter. Set this parameter to zero to disable anchoring." +msgstr "" +"З'єднати лінію заповнення з внутрішнім периметром за допомогою короткого " +"відрізку додаткового периметра. Якщо це значення виражається у відсотках " +"(приклад: 15%), воно розраховується за шириною екструзії заповнення. " +"PrusaSlicer намагається з'єднати дві найближчі лінії заповнення з коротким " +"периметром. Якщо такого відрізка периметра, коротшого за цей параметр, не " +"знайдено, лінія заповнення з'єднується з відрізком периметра лише з одного " +"боку, і довжина прийнятого відрізка периметра обмежена параметром " +"infill_anchor, але не довше за цей параметр. Встановіть для цього параметра " +"нуль, щоб вимкнути закріплення." + +#: src/libslic3r/PrintConfig.cpp:1135 +msgid "0 (not anchored)" +msgstr "0 (не закріплено)" + +#: src/libslic3r/PrintConfig.cpp:1145 msgid "Infill extruder" msgstr "Наповнювач екструдера" -#: src/libslic3r/PrintConfig.cpp:954 +#: src/libslic3r/PrintConfig.cpp:1147 msgid "The extruder to use when printing infill." msgstr "Екструдер, використовуваний під час друку наповнення." -#: src/libslic3r/PrintConfig.cpp:962 +#: src/libslic3r/PrintConfig.cpp:1155 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill. If " "left zero, default extrusion width will be used if set, otherwise 1.125 x " @@ -5609,11 +10253,11 @@ msgstr "" "прискорити наповнення та зміцнити свої деталі. Якщо він виражений у " "відсотках (наприклад, 90%), він буде обчислюватися за висотою шару." -#: src/libslic3r/PrintConfig.cpp:971 +#: src/libslic3r/PrintConfig.cpp:1165 msgid "Infill before perimeters" msgstr "Заповнення перед периметрами" -#: src/libslic3r/PrintConfig.cpp:972 +#: src/libslic3r/PrintConfig.cpp:1166 msgid "" "This option will switch the print order of perimeters and infill, making the " "latter first." @@ -5621,11 +10265,11 @@ msgstr "" "За допомогою цього параметра можна буде змінити порядок друку периметрів та " "наповнювачів, зробивши останнє першим." -#: src/libslic3r/PrintConfig.cpp:977 +#: src/libslic3r/PrintConfig.cpp:1171 msgid "Only infill where needed" msgstr "Заповнити тільки там, де потрібно" -#: src/libslic3r/PrintConfig.cpp:979 +#: src/libslic3r/PrintConfig.cpp:1173 msgid "" "This option will limit infill to the areas actually needed for supporting " "ceilings (it will act as internal support material). If enabled, slows down " @@ -5635,11 +10279,11 @@ msgstr "" "стель (це буде діяти як внутрішній матеріал підтримки). Якщо це ввімкнено, " "сповільнюється генерація G-коду через декілька перевірок." -#: src/libslic3r/PrintConfig.cpp:986 +#: src/libslic3r/PrintConfig.cpp:1180 msgid "Infill/perimeters overlap" msgstr "Перекриття наповнення/периметрів" -#: src/libslic3r/PrintConfig.cpp:988 +#: src/libslic3r/PrintConfig.cpp:1182 msgid "" "This setting applies an additional overlap between infill and perimeters for " "better bonding. Theoretically this shouldn't be needed, but backlash might " @@ -5651,25 +10295,25 @@ msgstr "" "може спричинити розриви. Якщо він виражений у відсотках (приклад: 15%), його " "розраховують за шириною екструзії по периметру." -#: src/libslic3r/PrintConfig.cpp:999 +#: src/libslic3r/PrintConfig.cpp:1193 msgid "Speed for printing the internal fill. Set to zero for auto." msgstr "" "Швидкість друку внутрішнього заповнення. Встановити 0 для автоматичного " "обчислення." -#: src/libslic3r/PrintConfig.cpp:1007 +#: src/libslic3r/PrintConfig.cpp:1201 msgid "Inherits profile" -msgstr "" +msgstr "Успадковує профіль" -#: src/libslic3r/PrintConfig.cpp:1008 +#: src/libslic3r/PrintConfig.cpp:1202 msgid "Name of the profile, from which this profile inherits." -msgstr "" +msgstr "Ім'я профілю, від якого цей профіль успадковується." -#: src/libslic3r/PrintConfig.cpp:1021 +#: src/libslic3r/PrintConfig.cpp:1215 msgid "Interface shells" msgstr "Інтерфейсні оболонки" -#: src/libslic3r/PrintConfig.cpp:1022 +#: src/libslic3r/PrintConfig.cpp:1216 msgid "" "Force the generation of solid shells between adjacent materials/volumes. " "Useful for multi-extruder prints with translucent materials or manual " @@ -5679,7 +10323,50 @@ msgstr "" "Корисно для друку з багатьма екструдерами з напівпрозорими матеріалами або " "ручним розчинним матеріалом для підтримки." -#: src/libslic3r/PrintConfig.cpp:1031 +#: src/libslic3r/PrintConfig.cpp:1224 +msgid "Enable ironing" +msgstr "Увімкнути прасування" + +#: src/libslic3r/PrintConfig.cpp:1225 +msgid "" +"Enable ironing of the top layers with the hot print head for smooth surface" +msgstr "" +"Для гладкої поверхні увімкніть прасування верхніх шарів гарячою друкуючою " +"головкою" + +#: src/libslic3r/PrintConfig.cpp:1231 src/libslic3r/PrintConfig.cpp:1233 +msgid "Ironing Type" +msgstr "Тип прасування" + +#: src/libslic3r/PrintConfig.cpp:1238 +msgid "All top surfaces" +msgstr "Всі верхні поверхні" + +#: src/libslic3r/PrintConfig.cpp:1239 +msgid "Topmost surface only" +msgstr "Тільки верхня поверхня" + +#: src/libslic3r/PrintConfig.cpp:1240 +msgid "All solid surfaces" +msgstr "Всі тверді поверхні" + +#: src/libslic3r/PrintConfig.cpp:1245 +msgid "Flow rate" +msgstr "Швидкість потоку" + +#: src/libslic3r/PrintConfig.cpp:1247 +msgid "Percent of a flow rate relative to object's normal layer height." +msgstr "Відсоток швидкість потоку відносно нормальної висоти шару об'єкта." + +#: src/libslic3r/PrintConfig.cpp:1255 +msgid "Spacing between ironing passes" +msgstr "Відстань між лініями прасування" + +#: src/libslic3r/PrintConfig.cpp:1257 +msgid "Distance between ironing lines" +msgstr "Відстань між прасувальними лініями" + +#: src/libslic3r/PrintConfig.cpp:1274 msgid "" "This custom code is inserted at every layer change, right after the Z move " "and before the extruder moves to the first layer point. Note that you can " @@ -5688,79 +10375,194 @@ msgid "" msgstr "" "Цей користувацький код вставляється при кожній зміні шару відразу після " "переміщення Z і перед тим, як екструдер переміститься до точки першого шару. " -"Зауважте, що ви можете використовувати змінні-заповнювачі для всіх " -"параметрів Slic3r, а також [layer_num] і [layer_z]." +"Зауважте, що ви можете використовувати шаблонні змінні для всіх параметрів " +"Slic3r, а також [layer_num] і [layer_z]." -#: src/libslic3r/PrintConfig.cpp:1042 +#: src/libslic3r/PrintConfig.cpp:1285 msgid "Supports remaining times" -msgstr "" +msgstr "Підтримує час, що залишився" -#: src/libslic3r/PrintConfig.cpp:1043 +#: src/libslic3r/PrintConfig.cpp:1286 msgid "" "Emit M73 P[percent printed] R[remaining time in minutes] at 1 minute " "intervals into the G-code to let the firmware show accurate remaining time. " "As of now only the Prusa i3 MK3 firmware recognizes M73. Also the i3 MK3 " "firmware supports M73 Qxx Sxx for the silent mode." msgstr "" +"Публікувати M73 P[відсоток друку] R[час, що залишився у хвилинах] з " +"інтервалом у 1 хвилину в G-код, щоб прошивка показувала точний час, що " +"залишився. На сьогоднішній день лише прошивка Prusa i3 MK3 розпізнає M73. " +"Також прошивка i3 MK3 підтримує M73 Qxx Sxx для тихого режиму." -#: src/libslic3r/PrintConfig.cpp:1051 -msgid "Supports silent mode" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1294 +msgid "Supports stealth mode" +msgstr "Підтримує тихий режим" -#: src/libslic3r/PrintConfig.cpp:1052 -msgid "Set silent mode for the G-code flavor" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1295 +msgid "The firmware supports stealth mode" +msgstr "Прошивка підтримує тихий режим" -#: src/libslic3r/PrintConfig.cpp:1075 -msgid "Maximum feedrate %1%" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1300 +msgid "How to apply limits" +msgstr "Як застосовувати обмеження" -#: src/libslic3r/PrintConfig.cpp:1077 -msgid "Maximum feedrate of the %1% axis" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1301 +msgid "Purpose of Machine Limits" +msgstr "Призначення механічних обмежень" -#: src/libslic3r/PrintConfig.cpp:1085 -msgid "Maximum acceleration %1%" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1303 +msgid "How to apply the Machine Limits" +msgstr "Призначення механічних обмежень" -#: src/libslic3r/PrintConfig.cpp:1087 -msgid "Maximum acceleration of the %1% axis" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1308 +msgid "Emit to G-code" +msgstr "Публікувати в G-код" -#: src/libslic3r/PrintConfig.cpp:1095 -msgid "Maximum jerk %1%" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1309 +msgid "Use for time estimate" +msgstr "Для оцінки часу" -#: src/libslic3r/PrintConfig.cpp:1097 -msgid "Maximum jerk of the %1% axis" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:1310 +msgid "Ignore" +msgstr "Ігнорувати" -#: src/libslic3r/PrintConfig.cpp:1108 src/libslic3r/PrintConfig.cpp:1110 +#: src/libslic3r/PrintConfig.cpp:1333 +msgid "Maximum feedrate X" +msgstr "Максимальна швидкість подачі за X" + +#: src/libslic3r/PrintConfig.cpp:1334 +msgid "Maximum feedrate Y" +msgstr "Максимальна швидкість подачі за Y" + +#: src/libslic3r/PrintConfig.cpp:1335 +msgid "Maximum feedrate Z" +msgstr "Максимальна швидкість подачі за Y" + +#: src/libslic3r/PrintConfig.cpp:1336 +msgid "Maximum feedrate E" +msgstr "Максимальна швидкість подачі за Е" + +#: src/libslic3r/PrintConfig.cpp:1339 +msgid "Maximum feedrate of the X axis" +msgstr "Максимальна швидкість подачі за віссю X" + +#: src/libslic3r/PrintConfig.cpp:1340 +msgid "Maximum feedrate of the Y axis" +msgstr "Максимальна швидкість подачі за віссю Y" + +#: src/libslic3r/PrintConfig.cpp:1341 +msgid "Maximum feedrate of the Z axis" +msgstr "Максимальна швидкість подачі за віссю Z" + +#: src/libslic3r/PrintConfig.cpp:1342 +msgid "Maximum feedrate of the E axis" +msgstr "Максимальна швидкість подачі за віссю Е" + +#: src/libslic3r/PrintConfig.cpp:1350 +msgid "Maximum acceleration X" +msgstr "Максимальне прискорення X" + +#: src/libslic3r/PrintConfig.cpp:1351 +msgid "Maximum acceleration Y" +msgstr "Максимальне прискорення Y" + +#: src/libslic3r/PrintConfig.cpp:1352 +msgid "Maximum acceleration Z" +msgstr "Максимальне прискорення Z" + +#: src/libslic3r/PrintConfig.cpp:1353 +msgid "Maximum acceleration E" +msgstr "Максимальне прискорення E" + +#: src/libslic3r/PrintConfig.cpp:1356 +msgid "Maximum acceleration of the X axis" +msgstr "Максимальне прискорення за віссю X" + +#: src/libslic3r/PrintConfig.cpp:1357 +msgid "Maximum acceleration of the Y axis" +msgstr "Максимальне прискорення за віссю Y" + +#: src/libslic3r/PrintConfig.cpp:1358 +msgid "Maximum acceleration of the Z axis" +msgstr "Максимальне прискорення за віссю Z" + +#: src/libslic3r/PrintConfig.cpp:1359 +msgid "Maximum acceleration of the E axis" +msgstr "Максимальне прискорення за віссю E" + +#: src/libslic3r/PrintConfig.cpp:1367 +msgid "Maximum jerk X" +msgstr "Максимальний ривок за X" + +#: src/libslic3r/PrintConfig.cpp:1368 +msgid "Maximum jerk Y" +msgstr "Максимальний ривок за Y" + +#: src/libslic3r/PrintConfig.cpp:1369 +msgid "Maximum jerk Z" +msgstr "Максимальний ривок за Z" + +#: src/libslic3r/PrintConfig.cpp:1370 +msgid "Maximum jerk E" +msgstr "Максимальний ривок за E" + +#: src/libslic3r/PrintConfig.cpp:1373 +msgid "Maximum jerk of the X axis" +msgstr "Максимальний ривок за віссю X" + +#: src/libslic3r/PrintConfig.cpp:1374 +msgid "Maximum jerk of the Y axis" +msgstr "Максимальний ривок за віссю Y" + +#: src/libslic3r/PrintConfig.cpp:1375 +msgid "Maximum jerk of the Z axis" +msgstr "Максимальний ривок за віссю Z" + +#: src/libslic3r/PrintConfig.cpp:1376 +msgid "Maximum jerk of the E axis" +msgstr "Максимальний ривок за віссю E" + +#: src/libslic3r/PrintConfig.cpp:1386 msgid "Minimum feedrate when extruding" -msgstr "" +msgstr "Мінімальне прискорення при екструзії" -#: src/libslic3r/PrintConfig.cpp:1119 src/libslic3r/PrintConfig.cpp:1121 +#: src/libslic3r/PrintConfig.cpp:1388 +msgid "Minimum feedrate when extruding (M205 S)" +msgstr "Мінімальне прискорення при екструзії (M205 S)" + +#: src/libslic3r/PrintConfig.cpp:1396 msgid "Minimum travel feedrate" -msgstr "" +msgstr "Мінімальна швидкість подачі" -#: src/libslic3r/PrintConfig.cpp:1130 src/libslic3r/PrintConfig.cpp:1132 +#: src/libslic3r/PrintConfig.cpp:1398 +msgid "Minimum travel feedrate (M205 T)" +msgstr "Мінімальна швидкість подачі (M205 T)" + +#: src/libslic3r/PrintConfig.cpp:1406 msgid "Maximum acceleration when extruding" -msgstr "" +msgstr "Максимальне прискорення при екструзії" -#: src/libslic3r/PrintConfig.cpp:1141 src/libslic3r/PrintConfig.cpp:1143 +#: src/libslic3r/PrintConfig.cpp:1408 +msgid "Maximum acceleration when extruding (M204 S)" +msgstr "Максимальне прискорення при екструзії (M204 S)" + +#: src/libslic3r/PrintConfig.cpp:1416 msgid "Maximum acceleration when retracting" -msgstr "" +msgstr "Максимальне прискорення при втягуванні" -#: src/libslic3r/PrintConfig.cpp:1151 src/libslic3r/PrintConfig.cpp:1160 +#: src/libslic3r/PrintConfig.cpp:1418 +msgid "Maximum acceleration when retracting (M204 T)" +msgstr "Максимальне прискорення при втягуванні (M204 T)" + +#: src/libslic3r/PrintConfig.cpp:1425 src/libslic3r/PrintConfig.cpp:1434 msgid "Max" msgstr "Максимально" -#: src/libslic3r/PrintConfig.cpp:1152 +#: src/libslic3r/PrintConfig.cpp:1426 msgid "This setting represents the maximum speed of your fan." msgstr "Цей параметр відображає максимальну швидкість вашого вентилятора." -#: src/libslic3r/PrintConfig.cpp:1161 -#, no-c-format +#: src/libslic3r/PrintConfig.cpp:1435 msgid "" "This is the highest printable layer height for this extruder, used to cap " "the variable layer height and support layer height. Maximum recommended " @@ -5773,11 +10575,11 @@ msgstr "" "для досягнення розумної міжшарової адгезії. Якщо встановлено 0, висота шару " "обмежена 75% діаметра сопла." -#: src/libslic3r/PrintConfig.cpp:1171 +#: src/libslic3r/PrintConfig.cpp:1445 msgid "Max print speed" msgstr "Максимальна швидкість друку" -#: src/libslic3r/PrintConfig.cpp:1172 +#: src/libslic3r/PrintConfig.cpp:1446 msgid "" "When setting other speed settings to 0 Slic3r will autocalculate the optimal " "speed in order to keep constant extruder pressure. This experimental setting " @@ -5788,7 +10590,7 @@ msgstr "" "екструдера. Цей експериментальний параметр використовується для встановлення " "максимальної швидкості друку, яку ви хочете дозволити." -#: src/libslic3r/PrintConfig.cpp:1182 +#: src/libslic3r/PrintConfig.cpp:1456 msgid "" "This experimental setting is used to set the maximum volumetric speed your " "extruder supports." @@ -5796,11 +10598,11 @@ msgstr "" "Цей експериментальний параметр використовується для встановлення " "максимальної об'ємної швидкості, яку підтримує екструдер." -#: src/libslic3r/PrintConfig.cpp:1191 +#: src/libslic3r/PrintConfig.cpp:1465 msgid "Max volumetric slope positive" msgstr "Максимальний об'ємний нахил позитивний" -#: src/libslic3r/PrintConfig.cpp:1192 src/libslic3r/PrintConfig.cpp:1203 +#: src/libslic3r/PrintConfig.cpp:1466 src/libslic3r/PrintConfig.cpp:1477 msgid "" "This experimental setting is used to limit the speed of change in extrusion " "rate. A value of 1.8 mm³/s² ensures, that a change from the extrusion rate " @@ -5813,25 +10615,25 @@ msgstr "" "швидкість подачі 20 мм/с) до 5,4 мм³/с (подача 60 мм/с) займе принаймні 2 " "секунди." -#: src/libslic3r/PrintConfig.cpp:1196 src/libslic3r/PrintConfig.cpp:1207 +#: src/libslic3r/PrintConfig.cpp:1470 src/libslic3r/PrintConfig.cpp:1481 msgid "mm³/s²" msgstr "мм³/с²" -#: src/libslic3r/PrintConfig.cpp:1202 +#: src/libslic3r/PrintConfig.cpp:1476 msgid "Max volumetric slope negative" msgstr "Максимальний об'ємний схил негативний" -#: src/libslic3r/PrintConfig.cpp:1214 src/libslic3r/PrintConfig.cpp:1223 +#: src/libslic3r/PrintConfig.cpp:1488 src/libslic3r/PrintConfig.cpp:1497 msgid "Min" msgstr "Мінімально" -#: src/libslic3r/PrintConfig.cpp:1215 +#: src/libslic3r/PrintConfig.cpp:1489 msgid "This setting represents the minimum PWM your fan needs to work." msgstr "" "Цей параметр відповідає мінімальній ШІМ, на якій повинен працювати ваш " "вентилятор." -#: src/libslic3r/PrintConfig.cpp:1224 +#: src/libslic3r/PrintConfig.cpp:1498 msgid "" "This is the lowest printable layer height for this extruder and limits the " "resolution for variable layer height. Typical values are between 0.05 mm and " @@ -5841,19 +10643,19 @@ msgstr "" "роздільну здатність для висоти змінного шару. Типові значення - від 0,05 мм " "до 0,1 мм." -#: src/libslic3r/PrintConfig.cpp:1232 +#: src/libslic3r/PrintConfig.cpp:1506 msgid "Min print speed" msgstr "Мінімальна швидкість друку" -#: src/libslic3r/PrintConfig.cpp:1233 +#: src/libslic3r/PrintConfig.cpp:1507 msgid "Slic3r will not scale speed down below this speed." msgstr "Slic3r не буде масштабувати швидкість нижче цієї швидкості." -#: src/libslic3r/PrintConfig.cpp:1240 +#: src/libslic3r/PrintConfig.cpp:1514 msgid "Minimal filament extrusion length" -msgstr "" +msgstr "Мінімальна довжина екструзії філаменту" -#: src/libslic3r/PrintConfig.cpp:1241 +#: src/libslic3r/PrintConfig.cpp:1515 msgid "" "Generate no less than the number of skirt loops required to consume the " "specified amount of filament on the bottom layer. For multi-extruder " @@ -5863,11 +10665,11 @@ msgstr "" "зазначеної кількості філаменту на нижньому шарі. Для машин із декількома " "екструдерами цей мінімум застосовується до кожного екструдера." -#: src/libslic3r/PrintConfig.cpp:1250 +#: src/libslic3r/PrintConfig.cpp:1524 msgid "Configuration notes" msgstr "Примітки до конфігурації" -#: src/libslic3r/PrintConfig.cpp:1251 +#: src/libslic3r/PrintConfig.cpp:1525 msgid "" "You can put here your personal notes. This text will be added to the G-code " "header comments." @@ -5875,30 +10677,28 @@ msgstr "" "Ви можете додати тут свої особисті примітки. Цей текст буде додано до " "коментарів заголовка G-коду." -#: src/libslic3r/PrintConfig.cpp:1260 -msgid "Nozzle diameter" -msgstr "Діаметр сопла" - -#: src/libslic3r/PrintConfig.cpp:1261 +#: src/libslic3r/PrintConfig.cpp:1535 msgid "" "This is the diameter of your extruder nozzle (for example: 0.5, 0.35 etc.)" msgstr "Це діаметр сопла вашого екструдера (наприклад: 0.5, 0.35 тощо)" -#: src/libslic3r/PrintConfig.cpp:1266 +#: src/libslic3r/PrintConfig.cpp:1540 msgid "Host Type" -msgstr "" +msgstr "Тип хосту" -#: src/libslic3r/PrintConfig.cpp:1267 +#: src/libslic3r/PrintConfig.cpp:1541 msgid "" "Slic3r can upload G-code files to a printer host. This field must contain " "the kind of the host." msgstr "" +"Slic3r може завантажувати файли G-коду на хост принтера. Це поле повинно " +"містити тип хоста." -#: src/libslic3r/PrintConfig.cpp:1278 +#: src/libslic3r/PrintConfig.cpp:1558 msgid "Only retract when crossing perimeters" msgstr "Перервати тільки у разі перетину периметрів" -#: src/libslic3r/PrintConfig.cpp:1279 +#: src/libslic3r/PrintConfig.cpp:1559 msgid "" "Disables retraction when the travel path does not exceed the upper layer's " "perimeters (and thus any ooze will be probably invisible)." @@ -5906,7 +10706,7 @@ msgstr "" "Вимикає переривання, коли шлях не перевищує периметри верхніх шарів (і, " "таким чином, будь-який розрядник буде, мабуть, невидимим)." -#: src/libslic3r/PrintConfig.cpp:1286 +#: src/libslic3r/PrintConfig.cpp:1566 msgid "" "This option will drop the temperature of the inactive extruders to prevent " "oozing. It will enable a tall skirt automatically and move extruders outside " @@ -5916,11 +10716,11 @@ msgstr "" "протіканню. Це дозволить автоматично ввімкнути високий плінтус та " "перемістить екструдери за межі такого плінтуса у разі зміни температури." -#: src/libslic3r/PrintConfig.cpp:1293 +#: src/libslic3r/PrintConfig.cpp:1573 msgid "Output filename format" msgstr "Формат вихідного файлу" -#: src/libslic3r/PrintConfig.cpp:1294 +#: src/libslic3r/PrintConfig.cpp:1574 msgid "" "You can use all configuration options as variables inside this template. For " "example: [layer_height], [fill_density] etc. You can also use [timestamp], " @@ -5932,11 +10732,11 @@ msgstr "" "можете використовувати [timestamp], [year], [month], [day], [hour], " "[minute], [second], [version], [input_filename] ], [input_filename_base]." -#: src/libslic3r/PrintConfig.cpp:1303 +#: src/libslic3r/PrintConfig.cpp:1583 msgid "Detect bridging perimeters" msgstr "Виявлення висячих периметрів" -#: src/libslic3r/PrintConfig.cpp:1305 +#: src/libslic3r/PrintConfig.cpp:1585 msgid "" "Experimental option to adjust flow for overhangs (bridge flow will be used), " "to apply bridge speed to them and enable fan." @@ -5945,56 +10745,59 @@ msgstr "" "використано мостовий потік), щоб застосувати до них швидкість мосту та " "увімкнути вентилятор." -#: src/libslic3r/PrintConfig.cpp:1311 +#: src/libslic3r/PrintConfig.cpp:1591 msgid "Filament parking position" -msgstr "" +msgstr "Позиція паркування філаменту" -#: src/libslic3r/PrintConfig.cpp:1312 +#: src/libslic3r/PrintConfig.cpp:1592 msgid "" "Distance of the extruder tip from the position where the filament is parked " -"when unloaded. This should match the value in printer firmware. " +"when unloaded. This should match the value in printer firmware." msgstr "" +"Відстань наконечника екструдера від місця паркування філаменту при " +"виведенні. Це має відповідати значенню в мікропрограмі принтера." -#: src/libslic3r/PrintConfig.cpp:1320 +#: src/libslic3r/PrintConfig.cpp:1600 msgid "Extra loading distance" -msgstr "" +msgstr "Додаткова відстань заведення" -#: src/libslic3r/PrintConfig.cpp:1321 +#: src/libslic3r/PrintConfig.cpp:1601 msgid "" "When set to zero, the distance the filament is moved from parking position " "during load is exactly the same as it was moved back during unload. When " "positive, it is loaded further, if negative, the loading move is shorter " -"than unloading. " +"than unloading." msgstr "" +"Якщо встановлено на нуль, відстань, на яку філамент переміщується з " +"положення стоянки під час заведення, є точно такою ж, як і при переміщенні " +"назад під час виведення. Якщо позитивне, воно заводеться далі, якщо " +"негативне, рух заведення коротший, ніж виведення." -#: src/libslic3r/PrintConfig.cpp:1329 src/libslic3r/PrintConfig.cpp:1347 -#: src/libslic3r/PrintConfig.cpp:1359 src/libslic3r/PrintConfig.cpp:1369 +#: src/libslic3r/PrintConfig.cpp:1609 src/libslic3r/PrintConfig.cpp:1626 +#: src/libslic3r/PrintConfig.cpp:1639 src/libslic3r/PrintConfig.cpp:1649 msgid "Perimeters" msgstr "Периметри" -#: src/libslic3r/PrintConfig.cpp:1330 +#: src/libslic3r/PrintConfig.cpp:1610 msgid "" -"This is the acceleration your printer will use for perimeters. A high value " -"like 9000 usually gives good results if your hardware is up to the job. Set " -"zero to disable acceleration control for perimeters." +"This is the acceleration your printer will use for perimeters. Set zero to " +"disable acceleration control for perimeters." msgstr "" -"Це прискорення, яке ваш принтер використовуватиме для периметрів. Висока " -"значення, таке як 9000, зазвичай дає хороші результати, якщо ваше апаратне " -"забезпечення відповідає завданню. Встановити 0, щоб вимкнути регулятор " -"прискорення для периметрів." +"Це прискорення, яке ваш принтер використовуватиме для периметрів. Встановити " +"0, щоб відключити управління прискоренням для периметрів." -#: src/libslic3r/PrintConfig.cpp:1338 +#: src/libslic3r/PrintConfig.cpp:1617 msgid "Perimeter extruder" msgstr "Екструдер периметру" -#: src/libslic3r/PrintConfig.cpp:1340 +#: src/libslic3r/PrintConfig.cpp:1619 msgid "" "The extruder to use when printing perimeters and brim. First extruder is 1." msgstr "" "Екструдер, що використовується при друці периметрів і краю. Перший екструдер " "- 1." -#: src/libslic3r/PrintConfig.cpp:1349 +#: src/libslic3r/PrintConfig.cpp:1628 msgid "" "Set this to a non-zero value to set a manual extrusion width for perimeters. " "You may want to use thinner extrudates to get more accurate surfaces. If " @@ -6009,14 +10812,14 @@ msgstr "" "діаметр сопла. Якщо він виражений у відсотках (наприклад, 200%), він буде " "обчислюватися за висотою шару." -#: src/libslic3r/PrintConfig.cpp:1361 +#: src/libslic3r/PrintConfig.cpp:1641 msgid "" "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." msgstr "" "Швидкість для периметрів (контури, вертикальні оболонки). Встановити 0 для " "автоматичного використання." -#: src/libslic3r/PrintConfig.cpp:1371 +#: src/libslic3r/PrintConfig.cpp:1651 msgid "" "This option sets the number of perimeters to generate for each layer. Note " "that Slic3r may increase this number automatically when it detects sloping " @@ -6028,11 +10831,11 @@ msgstr "" "які отримують вигоду від більшої кількості периметрів, якщо опція «Додаткові " "периметри» увімкнена." -#: src/libslic3r/PrintConfig.cpp:1375 +#: src/libslic3r/PrintConfig.cpp:1655 msgid "(minimum)" msgstr "(мінімум)" -#: src/libslic3r/PrintConfig.cpp:1383 +#: src/libslic3r/PrintConfig.cpp:1663 msgid "" "If you want to process the output G-code through custom scripts, just list " "their absolute paths here. Separate multiple scripts with a semicolon. " @@ -6046,45 +10849,47 @@ msgstr "" "аргумент, і вони можуть отримати доступ до параметрів конфігурації Slic3r, " "прочитавши змінні середовища." -#: src/libslic3r/PrintConfig.cpp:1395 +#: src/libslic3r/PrintConfig.cpp:1675 msgid "Printer type" -msgstr "" +msgstr "Тип принтеру" -#: src/libslic3r/PrintConfig.cpp:1396 +#: src/libslic3r/PrintConfig.cpp:1676 msgid "Type of the printer." -msgstr "" +msgstr "Тип принтеру." -#: src/libslic3r/PrintConfig.cpp:1401 +#: src/libslic3r/PrintConfig.cpp:1681 msgid "Printer notes" msgstr "Примітки принтера" -#: src/libslic3r/PrintConfig.cpp:1402 +#: src/libslic3r/PrintConfig.cpp:1682 msgid "You can put your notes regarding the printer here." msgstr "Тут ви можете помістити свої нотатки щодо принтера." -#: src/libslic3r/PrintConfig.cpp:1410 +#: src/libslic3r/PrintConfig.cpp:1690 msgid "Printer vendor" -msgstr "" +msgstr "Виробник принтера" -#: src/libslic3r/PrintConfig.cpp:1411 +#: src/libslic3r/PrintConfig.cpp:1691 msgid "Name of the printer vendor." -msgstr "" +msgstr "Назва виробника принтера." -#: src/libslic3r/PrintConfig.cpp:1416 +#: src/libslic3r/PrintConfig.cpp:1696 msgid "Printer variant" -msgstr "" +msgstr "Варіант принтера" -#: src/libslic3r/PrintConfig.cpp:1417 +#: src/libslic3r/PrintConfig.cpp:1697 msgid "" "Name of the printer variant. For example, the printer variants may be " "differentiated by a nozzle diameter." msgstr "" +"Назва варіанту принтера. Наприклад, варіанти принтера можуть відрізнятися за " +"діаметром сопла." -#: src/libslic3r/PrintConfig.cpp:1430 +#: src/libslic3r/PrintConfig.cpp:1714 msgid "Raft layers" msgstr "Плоскі шари" -#: src/libslic3r/PrintConfig.cpp:1432 +#: src/libslic3r/PrintConfig.cpp:1716 msgid "" "The object will be raised by this number of layers, and support material " "will be generated under it." @@ -6092,11 +10897,11 @@ msgstr "" "Об'єкт буде піднятий цією кількістю шарів, і під ним буде згенерований " "матеріал підтримки." -#: src/libslic3r/PrintConfig.cpp:1440 +#: src/libslic3r/PrintConfig.cpp:1724 msgid "Resolution" msgstr "Роздільна здатність" -#: src/libslic3r/PrintConfig.cpp:1441 +#: src/libslic3r/PrintConfig.cpp:1725 msgid "" "Minimum detail resolution, used to simplify the input file for speeding up " "the slicing job and reducing memory usage. High-resolution models often " @@ -6110,20 +10915,20 @@ msgstr "" "вимкнути будь-яке спрощення та використовувати повну роздільну здатність від " "введення." -#: src/libslic3r/PrintConfig.cpp:1451 +#: src/libslic3r/PrintConfig.cpp:1735 msgid "Minimum travel after retraction" msgstr "Мінімальне переміщення після переривання" -#: src/libslic3r/PrintConfig.cpp:1452 +#: src/libslic3r/PrintConfig.cpp:1736 msgid "" "Retraction is not triggered when travel moves are shorter than this length." msgstr "Переривання не спрацьовує, коли переміщення коротше за цю довжину." -#: src/libslic3r/PrintConfig.cpp:1458 +#: src/libslic3r/PrintConfig.cpp:1742 msgid "Retract amount before wipe" msgstr "Кількість переривань перед чищенням" -#: src/libslic3r/PrintConfig.cpp:1459 +#: src/libslic3r/PrintConfig.cpp:1743 msgid "" "With bowden extruders, it may be wise to do some amount of quick retract " "before doing the wipe movement." @@ -6131,25 +10936,25 @@ msgstr "" "Завдяки екструдерам з бандами, має зміст зробити певну кількість переривань " "перед рухами очищення." -#: src/libslic3r/PrintConfig.cpp:1466 +#: src/libslic3r/PrintConfig.cpp:1750 msgid "Retract on layer change" msgstr "Переривання на зміну шарів" -#: src/libslic3r/PrintConfig.cpp:1467 +#: src/libslic3r/PrintConfig.cpp:1751 msgid "This flag enforces a retraction whenever a Z move is done." msgstr "" "Цей прапор забезпечує переривання кожного разу, коли виконується переміщення " "Z." -#: src/libslic3r/PrintConfig.cpp:1472 src/libslic3r/PrintConfig.cpp:1480 +#: src/libslic3r/PrintConfig.cpp:1756 src/libslic3r/PrintConfig.cpp:1764 msgid "Length" msgstr "Довжина" -#: src/libslic3r/PrintConfig.cpp:1473 +#: src/libslic3r/PrintConfig.cpp:1757 msgid "Retraction Length" msgstr "Довжина переривання" -#: src/libslic3r/PrintConfig.cpp:1474 +#: src/libslic3r/PrintConfig.cpp:1758 msgid "" "When retraction is triggered, filament is pulled back by the specified " "amount (the length is measured on raw filament, before it enters the " @@ -6159,15 +10964,15 @@ msgstr "" "кількості (довжина вимірюється на сирого філаменту перед тим, як вона " "надходить у екструдер)." -#: src/libslic3r/PrintConfig.cpp:1476 src/libslic3r/PrintConfig.cpp:1485 +#: src/libslic3r/PrintConfig.cpp:1760 src/libslic3r/PrintConfig.cpp:1769 msgid "mm (zero to disable)" msgstr "мм (0, щоб вимкнути)" -#: src/libslic3r/PrintConfig.cpp:1481 +#: src/libslic3r/PrintConfig.cpp:1765 msgid "Retraction Length (Toolchange)" msgstr "Довжина переривання (зміна інструмента)" -#: src/libslic3r/PrintConfig.cpp:1482 +#: src/libslic3r/PrintConfig.cpp:1766 msgid "" "When retraction is triggered before changing tool, filament is pulled back " "by the specified amount (the length is measured on raw filament, before it " @@ -6177,11 +10982,11 @@ msgstr "" "назад до вказаної кількості (довжина вимірюється на сирого філаменту перед " "тим, як вона надходить у екструдер)." -#: src/libslic3r/PrintConfig.cpp:1490 +#: src/libslic3r/PrintConfig.cpp:1774 msgid "Lift Z" msgstr "Підняти Z" -#: src/libslic3r/PrintConfig.cpp:1491 +#: src/libslic3r/PrintConfig.cpp:1775 msgid "" "If you set this to a positive value, Z is quickly raised every time a " "retraction is triggered. When using multiple extruders, only the setting for " @@ -6191,15 +10996,15 @@ msgstr "" "коли спрацьовує переривання. При використанні декількох екструдерів буде " "розглянуто налаштування лише першого екструдера." -#: src/libslic3r/PrintConfig.cpp:1498 +#: src/libslic3r/PrintConfig.cpp:1782 msgid "Above Z" msgstr "Вище Z" -#: src/libslic3r/PrintConfig.cpp:1499 +#: src/libslic3r/PrintConfig.cpp:1783 msgid "Only lift Z above" msgstr "Тільки піднімати Z" -#: src/libslic3r/PrintConfig.cpp:1500 +#: src/libslic3r/PrintConfig.cpp:1784 msgid "" "If you set this to a positive value, Z lift will only take place above the " "specified absolute Z. You can tune this setting for skipping lift on the " @@ -6209,15 +11014,15 @@ msgstr "" "вказаним абсолютним Z. Ви можете налаштувати цей параметр так, що підняття " "буде пропускатися на перших шарах." -#: src/libslic3r/PrintConfig.cpp:1507 +#: src/libslic3r/PrintConfig.cpp:1791 msgid "Below Z" msgstr "Нижче Z" -#: src/libslic3r/PrintConfig.cpp:1508 +#: src/libslic3r/PrintConfig.cpp:1792 msgid "Only lift Z below" msgstr "Тільки опускати Z" -#: src/libslic3r/PrintConfig.cpp:1509 +#: src/libslic3r/PrintConfig.cpp:1793 msgid "" "If you set this to a positive value, Z lift will only take place below the " "specified absolute Z. You can tune this setting for limiting lift to the " @@ -6227,11 +11032,11 @@ msgstr "" "вказаного абсолютного Z. Ви можете налаштувати цей параметр так, що підняття " "буде обмежене на перших шарах." -#: src/libslic3r/PrintConfig.cpp:1517 src/libslic3r/PrintConfig.cpp:1525 +#: src/libslic3r/PrintConfig.cpp:1801 src/libslic3r/PrintConfig.cpp:1809 msgid "Extra length on restart" msgstr "Додаткова довжина при перезапуску" -#: src/libslic3r/PrintConfig.cpp:1518 +#: src/libslic3r/PrintConfig.cpp:1802 msgid "" "When the retraction is compensated after the travel move, the extruder will " "push this additional amount of filament. This setting is rarely needed." @@ -6239,7 +11044,7 @@ msgstr "" "Коли переривання компенсується після руху переміщення, екструдер буде " "проштовхувати цю додаткову кількість філамента. Цей параметр рідко потрібний." -#: src/libslic3r/PrintConfig.cpp:1526 +#: src/libslic3r/PrintConfig.cpp:1810 msgid "" "When the retraction is compensated after changing tool, the extruder will " "push this additional amount of filament." @@ -6247,19 +11052,19 @@ msgstr "" "Коли переривання компенсується після зміни інструмента, екструдер буде " "проштовхувати цю додаткову кількість філамента." -#: src/libslic3r/PrintConfig.cpp:1533 src/libslic3r/PrintConfig.cpp:1534 +#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1818 msgid "Retraction Speed" msgstr "Швидкість переривання" -#: src/libslic3r/PrintConfig.cpp:1535 +#: src/libslic3r/PrintConfig.cpp:1819 msgid "The speed for retractions (it only applies to the extruder motor)." msgstr "Швидкість переривання (це стосується лише двигуна екструдера)." -#: src/libslic3r/PrintConfig.cpp:1541 src/libslic3r/PrintConfig.cpp:1542 +#: src/libslic3r/PrintConfig.cpp:1825 src/libslic3r/PrintConfig.cpp:1826 msgid "Deretraction Speed" msgstr "Швидкість після-переривання" -#: src/libslic3r/PrintConfig.cpp:1543 +#: src/libslic3r/PrintConfig.cpp:1827 msgid "" "The speed for loading of a filament into extruder after retraction (it only " "applies to the extruder motor). If left to zero, the retraction speed is " @@ -6269,67 +11074,55 @@ msgstr "" "лише двигуна екструдера ). Якщо залишити 0, використовується швидкість " "переривання ." -#: src/libslic3r/PrintConfig.cpp:1550 +#: src/libslic3r/PrintConfig.cpp:1834 msgid "Seam position" msgstr "Позиція шва" -#: src/libslic3r/PrintConfig.cpp:1552 +#: src/libslic3r/PrintConfig.cpp:1836 msgid "Position of perimeters starting points." msgstr "Позиція стартових точок периметра." -#: src/libslic3r/PrintConfig.cpp:1558 +#: src/libslic3r/PrintConfig.cpp:1842 msgid "Random" -msgstr "" +msgstr "Випадкова" -#: src/libslic3r/PrintConfig.cpp:1559 +#: src/libslic3r/PrintConfig.cpp:1843 msgid "Nearest" -msgstr "" +msgstr "Найближча" -#: src/libslic3r/PrintConfig.cpp:1560 +#: src/libslic3r/PrintConfig.cpp:1844 msgid "Aligned" -msgstr "" +msgstr "Вирівняно" -#: src/libslic3r/PrintConfig.cpp:1568 +#: src/libslic3r/PrintConfig.cpp:1852 msgid "Direction" msgstr "Напрямок" -#: src/libslic3r/PrintConfig.cpp:1570 +#: src/libslic3r/PrintConfig.cpp:1854 msgid "Preferred direction of the seam" msgstr "Бажаний напрямок шва" -#: src/libslic3r/PrintConfig.cpp:1571 +#: src/libslic3r/PrintConfig.cpp:1855 msgid "Seam preferred direction" msgstr "Бажаний напрямок шва" -#: src/libslic3r/PrintConfig.cpp:1578 +#: src/libslic3r/PrintConfig.cpp:1862 msgid "Jitter" msgstr "Джиттер" -#: src/libslic3r/PrintConfig.cpp:1580 +#: src/libslic3r/PrintConfig.cpp:1864 msgid "Seam preferred direction jitter" msgstr "Бажаний напрямок шва джитера" -#: src/libslic3r/PrintConfig.cpp:1581 +#: src/libslic3r/PrintConfig.cpp:1865 msgid "Preferred direction of the seam - jitter" msgstr "Бажаний напрямок шва - джитера" -#: src/libslic3r/PrintConfig.cpp:1591 -msgid "USB/serial port for printer connection." -msgstr "USB / послідовний порт для підключення принтера." - -#: src/libslic3r/PrintConfig.cpp:1598 -msgid "Serial port speed" -msgstr "Швидкість послідовного порту" - -#: src/libslic3r/PrintConfig.cpp:1599 -msgid "Speed (baud) of USB/serial port for printer connection." -msgstr "Швидкість (бод) USB / послідовного порту для підключення принтера." - -#: src/libslic3r/PrintConfig.cpp:1608 +#: src/libslic3r/PrintConfig.cpp:1872 msgid "Distance from object" msgstr "Відстань від об'єкту" -#: src/libslic3r/PrintConfig.cpp:1609 +#: src/libslic3r/PrintConfig.cpp:1873 msgid "" "Distance between skirt and object(s). Set this to zero to attach the skirt " "to the object(s) and get a brim for better adhesion." @@ -6337,11 +11130,11 @@ msgstr "" "Відстань між плінтусом та об'єктом (-ами). Установіть 0, щоб прикріпити " "плінтус до об'єкта (-ів) і отримати край для кращої адгезії." -#: src/libslic3r/PrintConfig.cpp:1616 +#: src/libslic3r/PrintConfig.cpp:1880 msgid "Skirt height" msgstr "Висота плінтусу" -#: src/libslic3r/PrintConfig.cpp:1617 +#: src/libslic3r/PrintConfig.cpp:1881 msgid "" "Height of skirt expressed in layers. Set this to a tall value to use skirt " "as a shield against drafts." @@ -6349,15 +11142,29 @@ msgstr "" "Висота плінтусу виражена в шарах. Встановіть це значення на високе, щоб " "використовувати плінтус як щит проти протягів." -#: src/libslic3r/PrintConfig.cpp:1624 +#: src/libslic3r/PrintConfig.cpp:1888 +msgid "Draft shield" +msgstr "Чорновий щит" + +#: src/libslic3r/PrintConfig.cpp:1889 +msgid "" +"If enabled, the skirt will be as tall as a highest printed object. This is " +"useful to protect an ABS or ASA print from warping and detaching from print " +"bed due to wind draft." +msgstr "" +"Якщо увімкнено, спідниця буде такою ж високою, як найвищий друкований " +"предмет. Це корисно, щоб захистити друк ABS або ASA від деформації та " +"від'єднання від друкарського столу через протяг." + +#: src/libslic3r/PrintConfig.cpp:1895 msgid "Loops (minimum)" msgstr "Петлі (мінімум)" -#: src/libslic3r/PrintConfig.cpp:1625 +#: src/libslic3r/PrintConfig.cpp:1896 msgid "Skirt Loops" msgstr "Петлі плінтусу" -#: src/libslic3r/PrintConfig.cpp:1626 +#: src/libslic3r/PrintConfig.cpp:1897 msgid "" "Number of loops for the skirt. If the Minimum Extrusion Length option is " "set, the number of loops might be greater than the one configured here. Set " @@ -6367,11 +11174,11 @@ msgstr "" "довжина екструзії\", кількість петель може бути більшою, ніж налаштована " "тут. Установіть 0, щоб повністю вимкнути плінтус." -#: src/libslic3r/PrintConfig.cpp:1634 +#: src/libslic3r/PrintConfig.cpp:1905 msgid "Slow down if layer print time is below" msgstr "Уповільнення, якщо час друку шару нижче" -#: src/libslic3r/PrintConfig.cpp:1635 +#: src/libslic3r/PrintConfig.cpp:1906 msgid "" "If layer print time is estimated below this number of seconds, print moves " "speed will be scaled down to extend duration to this value." @@ -6379,11 +11186,11 @@ msgstr "" "Якщо час друку шару оцінюється нижче цієї кількості секунд, швидкість друку " "рухів зменшуватиметься, щоб збільшити тривалість до цього значення." -#: src/libslic3r/PrintConfig.cpp:1645 +#: src/libslic3r/PrintConfig.cpp:1915 msgid "Small perimeters" msgstr "Маленькі периметри" -#: src/libslic3r/PrintConfig.cpp:1647 +#: src/libslic3r/PrintConfig.cpp:1917 msgid "" "This separate setting will affect the speed of perimeters having radius <= " "6.5mm (usually holes). If expressed as percentage (for example: 80%) it will " @@ -6394,11 +11201,11 @@ msgstr "" "вона буде розрахована за наведеним вище параметром швидкості. Встановити 0 " "для автоматичного використання." -#: src/libslic3r/PrintConfig.cpp:1657 +#: src/libslic3r/PrintConfig.cpp:1927 msgid "Solid infill threshold area" msgstr "Порогова площа суцільного наповнення" -#: src/libslic3r/PrintConfig.cpp:1659 +#: src/libslic3r/PrintConfig.cpp:1929 msgid "" "Force solid infill for regions having a smaller area than the specified " "threshold." @@ -6406,23 +11213,23 @@ msgstr "" "Встановити суцільне заповнення для регіонів, що мають площу, меншу " "зазначеного порогу." -#: src/libslic3r/PrintConfig.cpp:1660 +#: src/libslic3r/PrintConfig.cpp:1930 msgid "mm²" msgstr "мм²" -#: src/libslic3r/PrintConfig.cpp:1666 +#: src/libslic3r/PrintConfig.cpp:1936 msgid "Solid infill extruder" msgstr "Екструдер суцільних наповнень" -#: src/libslic3r/PrintConfig.cpp:1668 +#: src/libslic3r/PrintConfig.cpp:1938 msgid "The extruder to use when printing solid infill." msgstr "Екструдер для друку суцільних наповнень." -#: src/libslic3r/PrintConfig.cpp:1674 +#: src/libslic3r/PrintConfig.cpp:1944 msgid "Solid infill every" msgstr "Суцільне наповнення кожні" -#: src/libslic3r/PrintConfig.cpp:1676 +#: src/libslic3r/PrintConfig.cpp:1946 msgid "" "This feature allows to force a solid layer every given number of layers. " "Zero to disable. You can set this to any value (for example 9999); Slic3r " @@ -6434,7 +11241,7 @@ msgstr "" "Slic3r автоматично вибере максимально можливу кількість шарів для " "комбінування відповідно до діаметра сопла та висоти шару." -#: src/libslic3r/PrintConfig.cpp:1688 +#: src/libslic3r/PrintConfig.cpp:1958 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "solid surfaces. If left zero, default extrusion width will be used if set, " @@ -6447,7 +11254,7 @@ msgstr "" "діаметр сопла. Якщо він виражений у відсотках (наприклад, 90%), він буде " "обчислюватися за висотою шару." -#: src/libslic3r/PrintConfig.cpp:1698 +#: src/libslic3r/PrintConfig.cpp:1969 msgid "" "Speed for printing solid regions (top/bottom/internal horizontal shells). " "This can be expressed as a percentage (for example: 80%) over the default " @@ -6458,35 +11265,39 @@ msgstr "" "швидкості заповнення за замовчуванням. Встановити 0 для автоматичного " "використання." -#: src/libslic3r/PrintConfig.cpp:1710 +#: src/libslic3r/PrintConfig.cpp:1981 msgid "Number of solid layers to generate on top and bottom surfaces." msgstr "" "Кількість суцільних шарів для генерування на верхній і нижній поверхні." -#: src/libslic3r/PrintConfig.cpp:1716 +#: src/libslic3r/PrintConfig.cpp:1987 src/libslic3r/PrintConfig.cpp:1988 +msgid "Minimum thickness of a top / bottom shell" +msgstr "Мінімальна товщина верхньої / нижньої оболонки" + +#: src/libslic3r/PrintConfig.cpp:1994 msgid "Spiral vase" msgstr "Спіральна ваза" -#: src/libslic3r/PrintConfig.cpp:1717 +#: src/libslic3r/PrintConfig.cpp:1995 msgid "" "This feature will raise Z gradually while printing a single-walled object in " "order to remove any visible seam. This option requires a single perimeter, " "no infill, no top solid layers and no support material. You can still set " "any number of bottom solid layers as well as skirt/brim loops. It won't work " -"when printing more than an object." +"when printing more than one single object." msgstr "" "Ця функція буде поступово підвищувати Z протягом друку одного-стінного " "об'єкта для уникнення будь-якого видимого шву. Цей параметр вимагає " "одношарового периметру, відсутнє наповнення, відсутність верхніх суцільних " "шарів і відсутність матеріалу підтримки. Ви все ще можете встановити будь-" -"яку кількість нижніх суцільних шарів, а також петель плінтусу/краю. Це не " -"спрацює при друку більше, ніж одного об'єкта." +"яку кількість нижніх твердих шарів, а також спідниці краю. Це не спрацює при " +"друку більше, ніж одного об'єкта." -#: src/libslic3r/PrintConfig.cpp:1725 +#: src/libslic3r/PrintConfig.cpp:2003 msgid "Temperature variation" msgstr "Варіація температури" -#: src/libslic3r/PrintConfig.cpp:1726 +#: src/libslic3r/PrintConfig.cpp:2004 msgid "" "Temperature difference to be applied when an extruder is not active. Enables " "a full-height \"sacrificial\" skirt on which the nozzles are periodically " @@ -6495,88 +11306,127 @@ msgstr "" "Відмітка температури, яка застосовується, коли екструдер не активний. Вмикає " "\"жертовний\" плінтус на повній висоті, на які періодично очищуються сопла." -#: src/libslic3r/PrintConfig.cpp:1736 +#: src/libslic3r/PrintConfig.cpp:2014 msgid "" "This start procedure is inserted at the beginning, after bed has reached the " "target temperature and extruder just started heating, and before extruder " -"has finished heating. If Slic3r detects M104 or M190 in your custom codes, " -"such commands will not be prepended automatically so you're free to " +"has finished heating. If PrusaSlicer detects M104 or M190 in your custom " +"codes, such commands will not be prepended automatically so you're free to " "customize the order of heating commands and other custom actions. Note that " -"you can use placeholder variables for all Slic3r settings, so you can put a " -"\"M109 S[first_layer_temperature]\" command wherever you want." +"you can use placeholder variables for all PrusaSlicer settings, so you can " +"put a \"M109 S[first_layer_temperature]\" command wherever you want." msgstr "" -"Ця початкова процедура вставляється на початку, після того, як полотно " -"досягне цільової температури, а екструдер тільки починає нагріватися, і " -"перед тим, як екструдер закінчить нагрівання. Якщо Slic3r виявляє M104 або " -"M190 у ваших користувацьких кодах, такі команди не будуть додаватися " -"автоматично, щоб ви могли вільно налаштовувати порядок команд нагріву та " -"інших спеціальних дій. Зверніть увагу, що ви можете використовувати змінні-" -"заповнювачі для всіх параметрів Slic3r, щоб ви могли поставити команду " -"\"M109 S [first_layer_temperature]\" де завгодно." +"Ця процедура початку вставляється на початку, після того, як стіл досягне " +"цільової температури, а екструдер тільки починає нагріватися, і перед тим, " +"як екструдер закінчить нагрівання. Якщо Slic3r виявляє M104 або M190 у ваших " +"користувацьких кодах, такі команди не будуть додаватися автоматично, щоб ви " +"могли вільно налаштовувати порядок команд нагріву та інших спеціальних дій. " +"Зверніть увагу, що ви можете використовувати шаблонні змінні для всіх " +"параметрів Slic3r, щоб ви могли поставити команду \"M109 S " +"[first_layer_temperature]\" де завгодно." -#: src/libslic3r/PrintConfig.cpp:1751 +#: src/libslic3r/PrintConfig.cpp:2029 msgid "" "This start procedure is inserted at the beginning, after any printer start " -"gcode. This is used to override settings for a specific filament. If Slic3r " -"detects M104, M109, M140 or M190 in your custom codes, such commands will " -"not be prepended automatically so you're free to customize the order of " -"heating commands and other custom actions. Note that you can use placeholder " -"variables for all Slic3r settings, so you can put a \"M109 " +"gcode (and after any toolchange to this filament in case of multi-material " +"printers). This is used to override settings for a specific filament. If " +"PrusaSlicer detects M104, M109, M140 or M190 in your custom codes, such " +"commands will not be prepended automatically so you're free to customize the " +"order of heating commands and other custom actions. Note that you can use " +"placeholder variables for all PrusaSlicer settings, so you can put a \"M109 " "S[first_layer_temperature]\" command wherever you want. If you have multiple " "extruders, the gcode is processed in extruder order." msgstr "" -"Ця початкова процедура вставляється на початку, після того, як будь-який " -"принтер запускає G-code. Це використовується для перевизначення параметрів " -"для певної нитки. Якщо Slic3r виявляє M104, M109, M140 або M190 у ваших " -"користувацьких кодах, такі команди не будуть автоматично додаватися, тому ви " -"можете налаштувати порядок команд нагріву та інших спеціальних дій. Зверніть " -"увагу, що ви можете використовувати змінні-заповнювачі для всіх параметрів " -"Slic3r, щоб ви могли поставити команду \"M109 S [first_layer_temperature]\" " -"де завгодно. Якщо у вас є кілька екструдерів, G-code обробляється в порядку " -"екструдерів." +"Ця процедура початку вставляється на початку, після будь-якого стартового G-" +"коду принтера (і після будь-якої зміни інструменту на цей філамент, у разі " +"багато-матеріальних принтерів). Вона використовується для заміни налаштувань " +"для певного філаменту. Якщо PrusaSlicer виявить M104, M109, M140 або M190 у " +"ваших користувацьких кодах, такі команди не додаватимуться автоматично, тому " +"ви можете налаштувати порядок команд нагрівання та інші спеціальні дії. " +"Зверніть увагу, що ви можете використовувати шаблонні змінні для всіх " +"налаштувань PrusaSlicer, тому ви можете поставити команду \"M109 S " +"[first_layer_temperature]\" де завгодно. Якщо у вас кілька екструдерів, G-" +"код обробляється в порядку екструдера." -#: src/libslic3r/PrintConfig.cpp:1766 +#: src/libslic3r/PrintConfig.cpp:2045 +msgid "Color change G-code" +msgstr "G-код зміни кольору" + +#: src/libslic3r/PrintConfig.cpp:2046 +msgid "This G-code will be used as a code for the color change" +msgstr "Цей G-код буде використовуватися як код для зміни кольору" + +#: src/libslic3r/PrintConfig.cpp:2055 +msgid "This G-code will be used as a code for the pause print" +msgstr "Цей G-код буде використовуватися як код для паузи друку" + +#: src/libslic3r/PrintConfig.cpp:2064 +msgid "This G-code will be used as a custom code" +msgstr "Цей G-код буде використовуватися як власний код" + +#: src/libslic3r/PrintConfig.cpp:2072 msgid "Single Extruder Multi Material" -msgstr "Одиночний екструдер кількох матеріалів" +msgstr "Мульти-матеріальний (ММ) друк з одним екструдером" -#: src/libslic3r/PrintConfig.cpp:1767 +#: src/libslic3r/PrintConfig.cpp:2073 msgid "The printer multiplexes filaments into a single hot end." -msgstr "Принтер мультиплексує нитки в єдиний гарячий кінець." +msgstr "Принтер змішує філаменту в єдиний гарячий кінець." -#: src/libslic3r/PrintConfig.cpp:1772 +#: src/libslic3r/PrintConfig.cpp:2078 msgid "Prime all printing extruders" -msgstr "" +msgstr "Підготовка всіх друкуючих екструдерів" -#: src/libslic3r/PrintConfig.cpp:1773 +#: src/libslic3r/PrintConfig.cpp:2079 msgid "" "If enabled, all printing extruders will be primed at the front edge of the " "print bed at the start of the print." msgstr "" +"Якщо увімкнено, усі друкуючі екструдери будуть отестовані на передньому краї " +"друкарського столу перед початком друку." -#: src/libslic3r/PrintConfig.cpp:1778 +#: src/libslic3r/PrintConfig.cpp:2084 +msgid "No sparse layers (EXPERIMENTAL)" +msgstr "Немає розріджених шарів (ЕКСПЕРИМЕНТАЛЬНИЙ)" + +#: src/libslic3r/PrintConfig.cpp:2085 +msgid "" +"If enabled, the wipe tower will not be printed on layers with no " +"toolchanges. On layers with a toolchange, extruder will travel downward to " +"print the wipe tower. User is responsible for ensuring there is no collision " +"with the print." +msgstr "" +"Якщо увімкнено, вежа витирання не друкується на шарах без змін інструментів. " +"На шарах із зміною інструменту екструдер рухатиметься вниз, щоб надрукувати " +"вежу витирання. Користувач несе відповідальність за те, щоб не було " +"зіткнення з друком." + +#: src/libslic3r/PrintConfig.cpp:2092 msgid "Generate support material" msgstr "Створити підтримуючий матеріал" -#: src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:2094 msgid "Enable support material generation." msgstr "Увімкнути генерацію матеріалів підтримки." -#: src/libslic3r/PrintConfig.cpp:1784 +#: src/libslic3r/PrintConfig.cpp:2098 msgid "Auto generated supports" -msgstr "" +msgstr "Автоматично згенеровані підтримки" -#: src/libslic3r/PrintConfig.cpp:1786 +#: src/libslic3r/PrintConfig.cpp:2100 msgid "" "If checked, supports will be generated automatically based on the overhang " "threshold value. If unchecked, supports will be generated inside the " "\"Support Enforcer\" volumes only." msgstr "" +"Якщо увімкнено, підтримка буде генеруватися автоматично на основі порогового " +"значення звису. Якщо вимкнено, підтримка буде генеруватися лише для " +"\"Примусових підтримок\"." -#: src/libslic3r/PrintConfig.cpp:1792 +#: src/libslic3r/PrintConfig.cpp:2106 msgid "XY separation between an object and its support" msgstr "Розподіл XY між об'єктом та його підтримкою" -#: src/libslic3r/PrintConfig.cpp:1794 +#: src/libslic3r/PrintConfig.cpp:2108 msgid "" "XY separation between an object and its support. If expressed as percentage " "(for example 50%), it will be calculated over external perimeter width." @@ -6584,11 +11434,11 @@ msgstr "" "Розподіл XY між об'єктом та його підтримкою. Якщо вона виражена у відсотках " "(наприклад, 50%), вона буде розрахована за зовнішньою шириною периметру." -#: src/libslic3r/PrintConfig.cpp:1804 +#: src/libslic3r/PrintConfig.cpp:2118 msgid "Pattern angle" msgstr "Кут шаблону" -#: src/libslic3r/PrintConfig.cpp:1806 +#: src/libslic3r/PrintConfig.cpp:2120 msgid "" "Use this setting to rotate the support material pattern on the horizontal " "plane." @@ -6596,7 +11446,7 @@ msgstr "" "Використовуйте цей параметр, щоб повернути шаблон підтримуючого матеріалу на " "горизонтальній площині." -#: src/libslic3r/PrintConfig.cpp:1816 src/libslic3r/PrintConfig.cpp:2421 +#: src/libslic3r/PrintConfig.cpp:2130 src/libslic3r/PrintConfig.cpp:2925 msgid "" "Only create support if it lies on a build plate. Don't create support on a " "print." @@ -6604,11 +11454,11 @@ msgstr "" "Створити підтримку лише, для того, що лежить на збірній пластині. Не " "створювати підтримку на друк." -#: src/libslic3r/PrintConfig.cpp:1822 +#: src/libslic3r/PrintConfig.cpp:2136 msgid "Contact Z distance" msgstr "Контактна відстань по осі Z" -#: src/libslic3r/PrintConfig.cpp:1824 +#: src/libslic3r/PrintConfig.cpp:2138 msgid "" "The vertical distance between object and support material interface. Setting " "this to 0 will also prevent Slic3r from using bridge flow and speed for the " @@ -6618,19 +11468,19 @@ msgstr "" "Встановлення значення 0 також захистить Slic3r від використання потоку " "мостів та швидкості для першого шару об'єктну." -#: src/libslic3r/PrintConfig.cpp:1831 -msgid "soluble" -msgstr "розчинний" +#: src/libslic3r/PrintConfig.cpp:2145 +msgid "0 (soluble)" +msgstr "0 (розчинний)" -#: src/libslic3r/PrintConfig.cpp:1832 -msgid "detachable" -msgstr "відривний" +#: src/libslic3r/PrintConfig.cpp:2146 +msgid "0.2 (detachable)" +msgstr "0,2 (відривний)" -#: src/libslic3r/PrintConfig.cpp:1837 +#: src/libslic3r/PrintConfig.cpp:2151 msgid "Enforce support for the first" msgstr "Забезпечити підтримку першого(их)" -#: src/libslic3r/PrintConfig.cpp:1839 +#: src/libslic3r/PrintConfig.cpp:2153 msgid "" "Generate support material for the specified number of layers counting from " "bottom, regardless of whether normal support material is enabled or not and " @@ -6643,15 +11493,15 @@ msgstr "" "більшої адгезії об'єктів, що мають дуже тонкий або поганий слід на збірній " "пластині." -#: src/libslic3r/PrintConfig.cpp:1844 +#: src/libslic3r/PrintConfig.cpp:2158 msgid "Enforce support for the first n layers" msgstr "Забезпечити підтримку перших n шарів" -#: src/libslic3r/PrintConfig.cpp:1850 +#: src/libslic3r/PrintConfig.cpp:2164 msgid "Support material/raft/skirt extruder" msgstr "Підтримуючий матеріал / пліт / плінтус екструдеру" -#: src/libslic3r/PrintConfig.cpp:1852 +#: src/libslic3r/PrintConfig.cpp:2166 msgid "" "The extruder to use when printing support material, raft and skirt (1+, 0 to " "use the current extruder to minimize tool changes)." @@ -6659,7 +11509,7 @@ msgstr "" "Екструдер для друку підтримуючого матеріалу, плоту та плінтусу (1+, 0 для " "використання поточного екструдера, щоб мінімізувати зміни інструменту)." -#: src/libslic3r/PrintConfig.cpp:1861 +#: src/libslic3r/PrintConfig.cpp:2175 msgid "" "Set this to a non-zero value to set a manual extrusion width for support " "material. If left zero, default extrusion width will be used if set, " @@ -6672,21 +11522,21 @@ msgstr "" "Якщо він виражений у відсотках (наприклад, 90%), він буде обчислюватися за " "висотою шару." -#: src/libslic3r/PrintConfig.cpp:1869 +#: src/libslic3r/PrintConfig.cpp:2184 msgid "Interface loops" msgstr "Інтерфейсні петлі" -#: src/libslic3r/PrintConfig.cpp:1871 +#: src/libslic3r/PrintConfig.cpp:2186 msgid "" "Cover the top contact layer of the supports with loops. Disabled by default." msgstr "" "Закрити петлями верхній контактний шар підтримки. За замовчанням вимкнено." -#: src/libslic3r/PrintConfig.cpp:1876 +#: src/libslic3r/PrintConfig.cpp:2191 msgid "Support material/raft interface extruder" msgstr "Екструдер інтерфейсу підтримуючого матеріалу / плоту" -#: src/libslic3r/PrintConfig.cpp:1878 +#: src/libslic3r/PrintConfig.cpp:2193 msgid "" "The extruder to use when printing support material interface (1+, 0 to use " "the current extruder to minimize tool changes). This affects raft too." @@ -6695,11 +11545,11 @@ msgstr "" "(1+, 0 для використання поточного екструдера, щоб звести до мінімуму зміни " "інструменту). Це також впливає на плот." -#: src/libslic3r/PrintConfig.cpp:1885 +#: src/libslic3r/PrintConfig.cpp:2200 msgid "Interface layers" msgstr "Інтерфейсні шари" -#: src/libslic3r/PrintConfig.cpp:1887 +#: src/libslic3r/PrintConfig.cpp:2202 msgid "" "Number of interface layers to insert between the object(s) and support " "material." @@ -6707,17 +11557,17 @@ msgstr "" "Кількість шарів інтерфейсу для вставки між об'єктом(ами) та підтримуючим " "матеріалом." -#: src/libslic3r/PrintConfig.cpp:1894 +#: src/libslic3r/PrintConfig.cpp:2209 msgid "Interface pattern spacing" msgstr "Відстань між шаблонами інтерфейсу" -#: src/libslic3r/PrintConfig.cpp:1896 +#: src/libslic3r/PrintConfig.cpp:2211 msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "" "Відстань між інтерфейсними лініями. Встановити 0, щоб отримати надійний " "інтерфейс." -#: src/libslic3r/PrintConfig.cpp:1905 +#: src/libslic3r/PrintConfig.cpp:2220 msgid "" "Speed for printing support material interface layers. If expressed as " "percentage (for example 50%) it will be calculated over support material " @@ -6727,35 +11577,35 @@ msgstr "" "виражена у відсотках (наприклад, 50%), вона буде розрахована за швидкістю " "матеріалу підтримки." -#: src/libslic3r/PrintConfig.cpp:1914 +#: src/libslic3r/PrintConfig.cpp:2229 msgid "Pattern" msgstr "Шаблон" -#: src/libslic3r/PrintConfig.cpp:1916 +#: src/libslic3r/PrintConfig.cpp:2231 msgid "Pattern used to generate support material." msgstr "Шаблон, що використовується для створення матеріалу підтримки." -#: src/libslic3r/PrintConfig.cpp:1922 +#: src/libslic3r/PrintConfig.cpp:2237 msgid "Rectilinear grid" -msgstr "" +msgstr "Прямолінійна сітка" -#: src/libslic3r/PrintConfig.cpp:1928 +#: src/libslic3r/PrintConfig.cpp:2243 msgid "Pattern spacing" msgstr "Відстань між шаблонами" -#: src/libslic3r/PrintConfig.cpp:1930 +#: src/libslic3r/PrintConfig.cpp:2245 msgid "Spacing between support material lines." msgstr "Відстань між лініями підтримуючого матеріалу." -#: src/libslic3r/PrintConfig.cpp:1939 +#: src/libslic3r/PrintConfig.cpp:2254 msgid "Speed for printing support material." msgstr "Швидкість друку підтримуючого матеріалу." -#: src/libslic3r/PrintConfig.cpp:1946 +#: src/libslic3r/PrintConfig.cpp:2261 msgid "Synchronize with object layers" msgstr "Синхронізувати з шарами об'єкту" -#: src/libslic3r/PrintConfig.cpp:1948 +#: src/libslic3r/PrintConfig.cpp:2263 msgid "" "Synchronize support layers with the object print layers. This is useful with " "multi-material printers, where the extruder switch is expensive." @@ -6764,11 +11614,11 @@ msgstr "" "використовувати з багато-матеріальними принтерами, де перемикання " "екструдерів -затратна процедура." -#: src/libslic3r/PrintConfig.cpp:1954 +#: src/libslic3r/PrintConfig.cpp:2269 msgid "Overhang threshold" msgstr "Порог нависання" -#: src/libslic3r/PrintConfig.cpp:1956 +#: src/libslic3r/PrintConfig.cpp:2271 msgid "" "Support material will not be generated for overhangs whose slope angle (90° " "= vertical) is above the given threshold. In other words, this value " @@ -6782,11 +11632,11 @@ msgstr "" "площини), який ви можете надрукувати без підтримуючого матеріалу. Встановити " "0 для автоматичного визначення (рекомендовано)." -#: src/libslic3r/PrintConfig.cpp:1968 +#: src/libslic3r/PrintConfig.cpp:2283 msgid "With sheath around the support" msgstr "З оболонкою навколо підтримки" -#: src/libslic3r/PrintConfig.cpp:1970 +#: src/libslic3r/PrintConfig.cpp:2285 msgid "" "Add a sheath (a single perimeter line) around the base support. This makes " "the support more reliable, but also more difficult to remove." @@ -6794,23 +11644,23 @@ msgstr "" "Додати оболонку (одну лінію периметра) навколо базової підтримки. Це робить " "підтримку більш надійною, але її важче видалити." -#: src/libslic3r/PrintConfig.cpp:1977 +#: src/libslic3r/PrintConfig.cpp:2292 msgid "" -"Extruder temperature for layers after the first one. Set this to zero to " -"disable temperature control commands in the output." +"Nozzle temperature for layers after the first one. Set this to zero to " +"disable temperature control commands in the output G-code." msgstr "" -"Температура екструдеру для шарів після першого. Установіть 0, щоб вимкнути " -"команди керування температурою на виході." +"Температура сопла для шарів після першого. Встановіть значення нуля, щоб " +"вимкнути команди регулювання температури у вихідному G-коді." -#: src/libslic3r/PrintConfig.cpp:1979 -msgid "Temperature" -msgstr "Температура" +#: src/libslic3r/PrintConfig.cpp:2295 +msgid "Nozzle temperature" +msgstr "Температура сопла" -#: src/libslic3r/PrintConfig.cpp:1985 +#: src/libslic3r/PrintConfig.cpp:2301 msgid "Detect thin walls" -msgstr "Виявлення тонких стін" +msgstr "Виявлення тонких стінок" -#: src/libslic3r/PrintConfig.cpp:1987 +#: src/libslic3r/PrintConfig.cpp:2303 msgid "" "Detect single-width walls (parts where two extrusions don't fit and we need " "to collapse them into a single trace)." @@ -6818,11 +11668,11 @@ msgstr "" "Визначення одношарової стінки (частини, де два екструзії не підходять, і нам " "потрібно згорнути їх у єдиний слід)." -#: src/libslic3r/PrintConfig.cpp:1993 +#: src/libslic3r/PrintConfig.cpp:2309 msgid "Threads" msgstr "Нитки" -#: src/libslic3r/PrintConfig.cpp:1994 +#: src/libslic3r/PrintConfig.cpp:2310 msgid "" "Threads are used to parallelize long-running tasks. Optimal threads number " "is slightly above the number of available cores/processors." @@ -6830,17 +11680,23 @@ msgstr "" "Нитки використовуються для паралелізації довготривалих завдань. Оптимальна " "кількість ниток трохи перевищує кількість доступних ядер / процесорів." -#: src/libslic3r/PrintConfig.cpp:2006 +#: src/libslic3r/PrintConfig.cpp:2322 msgid "" -"This custom code is inserted right before every extruder change. Note that " -"you can use placeholder variables for all Slic3r settings as well as " -"[previous_extruder] and [next_extruder]." +"This custom code is inserted before every toolchange. Placeholder variables " +"for all PrusaSlicer settings as well as {previous_extruder} and " +"{next_extruder} can be used. When a tool-changing command which changes to " +"the correct extruder is included (such as T{next_extruder}), PrusaSlicer " +"will emit no other such command. It is therefore possible to script custom " +"behaviour both before and after the toolchange." msgstr "" -"Цей спеціальний код вставляється безпосередньо перед кожною зміненою " -"екструдера. Зверніть увагу, що ви можете використовувати змінні-заповнювачі " -"для всіх параметрів Slic3r, а також [previous_extruder] і [next_extruder]." +"Цей користувацький код вставляється перед кожною заміною інструменту. Можна " +"використовувати шаблонні змінні для всіх налаштувань PrusaSlicer, таких як " +"{previous_extruder} та {next_extruder}. Коли включається команда зміни " +"інструмента, яка змінюється на правильний екструдер (наприклад, " +"T{next_extruder}), PrusaSlicer не видасть жодної такої команди. Отже, можна " +"створювати сценарії до поведінки як до, так і після заміни інструменту." -#: src/libslic3r/PrintConfig.cpp:2018 +#: src/libslic3r/PrintConfig.cpp:2335 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "top surfaces. You may want to use thinner extrudates to fill all narrow " @@ -6856,7 +11712,7 @@ msgstr "" "виражена у відсотках (наприклад, 90%), вона буде обчислюватися за висотою " "шару." -#: src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2347 msgid "" "Speed for printing top solid layers (it only applies to the uppermost " "external layers and not to their internal solid layers). You may want to " @@ -6870,23 +11726,37 @@ msgstr "" "відсотком (наприклад, 80%) звищення швидкості щільного наповнення . " "Встановити 0 для автоматичного обчислення." -#: src/libslic3r/PrintConfig.cpp:2043 +#: src/libslic3r/PrintConfig.cpp:2362 msgid "Number of solid layers to generate on top surfaces." msgstr "Кількість суцільних шарів, генерованих на верхніх поверхнях." -#: src/libslic3r/PrintConfig.cpp:2044 +#: src/libslic3r/PrintConfig.cpp:2363 msgid "Top solid layers" msgstr "Верхні суцільні шари" -#: src/libslic3r/PrintConfig.cpp:2050 +#: src/libslic3r/PrintConfig.cpp:2371 +msgid "" +"The number of top solid layers is increased above top_solid_layers if " +"necessary to satisfy minimum thickness of top shell. This is useful to " +"prevent pillowing effect when printing with variable layer height." +msgstr "" +"Кількість верхніх твердих шарів збільшується над top_solid_layers, якщо це " +"необхідно для задоволення мінімальної товщини верхньої оболонки. Це корисно " +"для запобігання ефекту подушки під час друку зі змінною висотою шару." + +#: src/libslic3r/PrintConfig.cpp:2374 +msgid "Minimum top shell thickness" +msgstr "Мінімальна товщина верхньої оболонки" + +#: src/libslic3r/PrintConfig.cpp:2381 msgid "Speed for travel moves (jumps between distant extrusion points)." msgstr "Швидкість рухів пересування (стрибки між далекими точками екструзії)." -#: src/libslic3r/PrintConfig.cpp:2058 +#: src/libslic3r/PrintConfig.cpp:2389 msgid "Use firmware retraction" msgstr "Використовувати відмову прошивки" -#: src/libslic3r/PrintConfig.cpp:2059 +#: src/libslic3r/PrintConfig.cpp:2390 msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " "handle the retraction. This is only supported in recent Marlin." @@ -6894,11 +11764,11 @@ msgstr "" "Цей експериментальний параметр використовує команди G10 і G11 для обробки " "відмови прошивки. Останнім часом це підтримується лише Marlin-ом." -#: src/libslic3r/PrintConfig.cpp:2065 +#: src/libslic3r/PrintConfig.cpp:2396 msgid "Use relative E distances" msgstr "Використовувати відносні E відстані" -#: src/libslic3r/PrintConfig.cpp:2066 +#: src/libslic3r/PrintConfig.cpp:2397 msgid "" "If your firmware requires relative E values, check this, otherwise leave it " "unchecked. Most firmwares use absolute values." @@ -6906,11 +11776,11 @@ msgstr "" "Якщо ваша прошивка потребує відносне значення E, зазначте це, інакше залиште " "його незазначеним. Більшість прошивок використовують абсолютні значення." -#: src/libslic3r/PrintConfig.cpp:2072 +#: src/libslic3r/PrintConfig.cpp:2403 msgid "Use volumetric E" msgstr "Використовувати об'ємний Е" -#: src/libslic3r/PrintConfig.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:2404 msgid "" "This experimental setting uses outputs the E values in cubic millimeters " "instead of linear millimeters. If your firmware doesn't already know " @@ -6923,14 +11793,14 @@ msgstr "" "міліметрах замість лінійних міліметрів. Якщо ваша прошивку ще не знає " "діаметр ниток, ви можете встановити такі команди, як \"M200 D " "[filament_diameter_0] T0\" у вашому старті G-коду, щоб включити об'ємний " -"режим і використовувати діаметр нитки, пов'язаний з вибраною ниткою в " -"Slic3r. Останнім часом це підтримується лише Marlin-ом." +"режим і використовувати діаметр філаменту, пов'язаний з вибраним філаментем " +"у Slic3r. Останнім часом це підтримується лише Marlin-ом." -#: src/libslic3r/PrintConfig.cpp:2083 +#: src/libslic3r/PrintConfig.cpp:2414 msgid "Enable variable layer height feature" msgstr "Увімкнути функцію шарів змінної висоти" -#: src/libslic3r/PrintConfig.cpp:2084 +#: src/libslic3r/PrintConfig.cpp:2415 msgid "" "Some printers or printer setups may have difficulties printing with a " "variable layer height. Enabled by default." @@ -6938,11 +11808,11 @@ msgstr "" "Деякі принтери або налаштування принтера можуть мати труднощі з друкуванням " "шарів змінної висоти. Увімкнено за умовчанням." -#: src/libslic3r/PrintConfig.cpp:2090 +#: src/libslic3r/PrintConfig.cpp:2421 msgid "Wipe while retracting" -msgstr "Вичіщувати при відмові" +msgstr "Витирання протягом ретракту" -#: src/libslic3r/PrintConfig.cpp:2091 +#: src/libslic3r/PrintConfig.cpp:2422 msgid "" "This flag will move the nozzle while retracting to minimize the possible " "blob on leaky extruders." @@ -6950,7 +11820,7 @@ msgstr "" "Цей прапорець перемістить сопло під час відмови, щоб мінімізувати можливість " "утворення краплі на витікаючих екструдерах." -#: src/libslic3r/PrintConfig.cpp:2098 +#: src/libslic3r/PrintConfig.cpp:2429 msgid "" "Multi material printers may need to prime or purge extruders on tool " "changes. Extrude the excess material into the wipe tower." @@ -6959,94 +11829,101 @@ msgstr "" "екструдерів при зміні інструмента. Екструдуйте надлишок матеріалу до " "вичищуючої вежі." -#: src/libslic3r/PrintConfig.cpp:2104 +#: src/libslic3r/PrintConfig.cpp:2435 msgid "Purging volumes - load/unload volumes" -msgstr "" +msgstr "Обсяги витирання - обсяги заведення/виведення" -#: src/libslic3r/PrintConfig.cpp:2105 +#: src/libslic3r/PrintConfig.cpp:2436 msgid "" "This vector saves required volumes to change from/to each tool used on the " "wipe tower. These values are used to simplify creation of the full purging " -"volumes below. " +"volumes below." msgstr "" +"Цей вектор економить необхідні обсяги для зміни від / до кожного " +"інструменту, що використовується на вежі витирання. Ці значення " +"використовуються для спрощення створення повних обсягів продувки нижче." -#: src/libslic3r/PrintConfig.cpp:2111 +#: src/libslic3r/PrintConfig.cpp:2442 msgid "Purging volumes - matrix" -msgstr "" +msgstr "Таблиця обсягів очищення" -#: src/libslic3r/PrintConfig.cpp:2112 +#: src/libslic3r/PrintConfig.cpp:2443 msgid "" "This matrix describes volumes (in cubic milimetres) required to purge the " -"new filament on the wipe tower for any given pair of tools. " +"new filament on the wipe tower for any given pair of tools." msgstr "" +"Ця матриця описує обсяги (у кубічних міліметрах), необхідні для витирання " +"нового філаменту на вежі витирання для будь-якої пари інструментів." -#: src/libslic3r/PrintConfig.cpp:2121 +#: src/libslic3r/PrintConfig.cpp:2452 msgid "Position X" msgstr "Позиція X" -#: src/libslic3r/PrintConfig.cpp:2122 +#: src/libslic3r/PrintConfig.cpp:2453 msgid "X coordinate of the left front corner of a wipe tower" msgstr "X координата лівого переднього кута вичищуючої вежі" -#: src/libslic3r/PrintConfig.cpp:2128 +#: src/libslic3r/PrintConfig.cpp:2459 msgid "Position Y" msgstr "Позиція Y" -#: src/libslic3r/PrintConfig.cpp:2129 +#: src/libslic3r/PrintConfig.cpp:2460 msgid "Y coordinate of the left front corner of a wipe tower" msgstr "Y координата лівого переднього кута вичищуючої вежі" -#: src/libslic3r/PrintConfig.cpp:2136 +#: src/libslic3r/PrintConfig.cpp:2467 msgid "Width of a wipe tower" msgstr "Ширина вичищуючої вежі" -#: src/libslic3r/PrintConfig.cpp:2142 +#: src/libslic3r/PrintConfig.cpp:2473 msgid "Wipe tower rotation angle" -msgstr "" +msgstr "Кут повороту вежі витирання" -#: src/libslic3r/PrintConfig.cpp:2143 -msgid "Wipe tower rotation angle with respect to x-axis " -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2474 +msgid "Wipe tower rotation angle with respect to x-axis." +msgstr "Кут повороту вежі витирання за віссю Х." -#: src/libslic3r/PrintConfig.cpp:2144 src/libslic3r/PrintConfig.cpp:2565 -msgid "degrees" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2150 +#: src/libslic3r/PrintConfig.cpp:2481 msgid "Wipe into this object's infill" -msgstr "" +msgstr "Витирати до наповнення цього об'єкту" -#: src/libslic3r/PrintConfig.cpp:2151 +#: src/libslic3r/PrintConfig.cpp:2482 msgid "" "Purging after toolchange will done inside this object's infills. This lowers " "the amount of waste but may result in longer print time due to additional " "travel moves." msgstr "" +"Очищення після заміни інструменту виконується всередині заповнювачів цього " +"об’єкта. Це зменшує кількість відходів, але може призвести до збільшення " +"часу друку через додаткові переміщення." -#: src/libslic3r/PrintConfig.cpp:2158 +#: src/libslic3r/PrintConfig.cpp:2489 msgid "Wipe into this object" -msgstr "" +msgstr "Витирати до цього об'єкту" -#: src/libslic3r/PrintConfig.cpp:2159 +#: src/libslic3r/PrintConfig.cpp:2490 msgid "" "Object will be used to purge the nozzle after a toolchange to save material " "that would otherwise end up in the wipe tower and decrease print time. " "Colours of the objects will be mixed as a result." msgstr "" +"Об'єкт буде використаний для продувки сопла після заміни інструменту, щоб " +"заощадити матеріал, який інакше потрапив би до вежі витирання, і зменшити " +"час друку. В результаті кольори предметів будуть змішані." -#: src/libslic3r/PrintConfig.cpp:2165 +#: src/libslic3r/PrintConfig.cpp:2496 msgid "Maximal bridging distance" -msgstr "" +msgstr "Максимальна мостова відстань" -#: src/libslic3r/PrintConfig.cpp:2166 -msgid "Maximal distance between supports on sparse infill sections. " -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2497 +msgid "Maximal distance between supports on sparse infill sections." +msgstr "Максимальна відстань між підтримками на рідкісних ділянках заповнення." -#: src/libslic3r/PrintConfig.cpp:2172 +#: src/libslic3r/PrintConfig.cpp:2503 msgid "XY Size Compensation" msgstr "Зрівноваження розміру за XY" -#: src/libslic3r/PrintConfig.cpp:2174 +#: src/libslic3r/PrintConfig.cpp:2505 msgid "" "The object will be grown/shrunk in the XY plane by the configured value " "(negative = inwards, positive = outwards). This might be useful for fine-" @@ -7056,11 +11933,11 @@ msgstr "" "(негативний - внутрішній, позитивний - ззовнішній). Це може бути корисним " "для точного налаштування розмірів отворів." -#: src/libslic3r/PrintConfig.cpp:2182 +#: src/libslic3r/PrintConfig.cpp:2513 msgid "Z offset" msgstr "Зміщення Z" -#: src/libslic3r/PrintConfig.cpp:2183 +#: src/libslic3r/PrintConfig.cpp:2514 msgid "" "This value will be added (or subtracted) from all the Z coordinates in the " "output G-code. It is used to compensate for bad Z endstop position: for " @@ -7072,615 +11949,1382 @@ msgstr "" "наприклад, якщо ваш кінцевий нуль фактично залишає сопло на 0,3 мм від " "полотна друку, встановіть його на значення -0,3 (або виправте ваш endstop)." -#: src/libslic3r/PrintConfig.cpp:2200 +#: src/libslic3r/PrintConfig.cpp:2581 msgid "Display width" -msgstr "" +msgstr "Ширина дисплея" -#: src/libslic3r/PrintConfig.cpp:2201 +#: src/libslic3r/PrintConfig.cpp:2582 msgid "Width of the display" -msgstr "" +msgstr "Ширина дисплея" -#: src/libslic3r/PrintConfig.cpp:2206 +#: src/libslic3r/PrintConfig.cpp:2587 msgid "Display height" -msgstr "" +msgstr "Висота дисплея" -#: src/libslic3r/PrintConfig.cpp:2207 +#: src/libslic3r/PrintConfig.cpp:2588 msgid "Height of the display" -msgstr "" +msgstr "Висота дисплею" -#: src/libslic3r/PrintConfig.cpp:2212 +#: src/libslic3r/PrintConfig.cpp:2593 msgid "Number of pixels in" -msgstr "" +msgstr "Кількість пікселів за віссю" -#: src/libslic3r/PrintConfig.cpp:2214 +#: src/libslic3r/PrintConfig.cpp:2595 msgid "Number of pixels in X" -msgstr "" +msgstr "Кількість пікселів за віссю X" -#: src/libslic3r/PrintConfig.cpp:2220 +#: src/libslic3r/PrintConfig.cpp:2601 msgid "Number of pixels in Y" -msgstr "" +msgstr "Кількість пікселів за віссю Y" -#: src/libslic3r/PrintConfig.cpp:2225 +#: src/libslic3r/PrintConfig.cpp:2606 +msgid "Display horizontal mirroring" +msgstr "Горизонтальне віддзеркалення дисплея" + +#: src/libslic3r/PrintConfig.cpp:2607 +msgid "Mirror horizontally" +msgstr "Віддзеркалити горизонтально" + +#: src/libslic3r/PrintConfig.cpp:2608 +msgid "Enable horizontal mirroring of output images" +msgstr "Увімкнути горизонтальне віддзеркалення вихідних зображень" + +#: src/libslic3r/PrintConfig.cpp:2613 +msgid "Display vertical mirroring" +msgstr "Вертикальне віддзеркалення дисплея" + +#: src/libslic3r/PrintConfig.cpp:2614 +msgid "Mirror vertically" +msgstr "Віддзеркалити вертикально" + +#: src/libslic3r/PrintConfig.cpp:2615 +msgid "Enable vertical mirroring of output images" +msgstr "Увімкнути вертикальне віддзеркалення вихідних зображень" + +#: src/libslic3r/PrintConfig.cpp:2620 msgid "Display orientation" -msgstr "" +msgstr "Орієнтація дисплея" -#: src/libslic3r/PrintConfig.cpp:2226 +#: src/libslic3r/PrintConfig.cpp:2621 msgid "" "Set the actual LCD display orientation inside the SLA printer. Portrait mode " "will flip the meaning of display width and height parameters and the output " "images will be rotated by 90 degrees." msgstr "" +"Встановіть фактичну орієнтацію LCD-дисплея всередині SLA принтера. " +"Портретний режим переверне значення параметрів ширини та висоти дисплея, а " +"вихідні зображення повернуть на 90 градусів." -#: src/libslic3r/PrintConfig.cpp:2232 +#: src/libslic3r/PrintConfig.cpp:2627 msgid "Landscape" -msgstr "" +msgstr "Альбомна" -#: src/libslic3r/PrintConfig.cpp:2233 +#: src/libslic3r/PrintConfig.cpp:2628 msgid "Portrait" -msgstr "" +msgstr "Книжкова" -#: src/libslic3r/PrintConfig.cpp:2238 +#: src/libslic3r/PrintConfig.cpp:2633 msgid "Fast" -msgstr "" +msgstr "Швидкий" -#: src/libslic3r/PrintConfig.cpp:2239 +#: src/libslic3r/PrintConfig.cpp:2634 msgid "Fast tilt" -msgstr "" +msgstr "Швидкий нахил" -#: src/libslic3r/PrintConfig.cpp:2240 +#: src/libslic3r/PrintConfig.cpp:2635 msgid "Time of the fast tilt" -msgstr "" +msgstr "Час швидкого нахилу" -#: src/libslic3r/PrintConfig.cpp:2247 +#: src/libslic3r/PrintConfig.cpp:2642 msgid "Slow" -msgstr "" +msgstr "Повільний" -#: src/libslic3r/PrintConfig.cpp:2248 +#: src/libslic3r/PrintConfig.cpp:2643 msgid "Slow tilt" -msgstr "" +msgstr "Повільний нахил" -#: src/libslic3r/PrintConfig.cpp:2249 +#: src/libslic3r/PrintConfig.cpp:2644 msgid "Time of the slow tilt" -msgstr "" +msgstr "Час повільного нахилу" -#: src/libslic3r/PrintConfig.cpp:2256 +#: src/libslic3r/PrintConfig.cpp:2651 msgid "Area fill" -msgstr "" +msgstr "Заповнена область" -#: src/libslic3r/PrintConfig.cpp:2257 +#: src/libslic3r/PrintConfig.cpp:2652 msgid "" "The percentage of the bed area. \n" "If the print area exceeds the specified value, \n" "then a slow tilt will be used, otherwise - a fast tilt" msgstr "" +"Відсоток площі столу.\n" +"Якщо область друку перевищує вказане значення,\n" +"тоді буде використовуватися повільний нахил, інакше - швидкий нахил" -#: src/libslic3r/PrintConfig.cpp:2264 src/libslic3r/PrintConfig.cpp:2265 -#: src/libslic3r/PrintConfig.cpp:2266 +#: src/libslic3r/PrintConfig.cpp:2659 src/libslic3r/PrintConfig.cpp:2660 +#: src/libslic3r/PrintConfig.cpp:2661 msgid "Printer scaling correction" -msgstr "" +msgstr "Корекція масштабування принтера" -#: src/libslic3r/PrintConfig.cpp:2272 src/libslic3r/PrintConfig.cpp:2273 +#: src/libslic3r/PrintConfig.cpp:2667 src/libslic3r/PrintConfig.cpp:2668 msgid "Printer absolute correction" -msgstr "" +msgstr "Абсолютна корекція принтера" -#: src/libslic3r/PrintConfig.cpp:2274 +#: src/libslic3r/PrintConfig.cpp:2669 msgid "" "Will inflate or deflate the sliced 2D polygons according to the sign of the " "correction." -msgstr "" +msgstr "Надує або спустить нарізані 2D-полігони відповідно до знака корекції." -#: src/libslic3r/PrintConfig.cpp:2280 src/libslic3r/PrintConfig.cpp:2281 +#: src/libslic3r/PrintConfig.cpp:2675 +msgid "Elephant foot minimum width" +msgstr "Мінімальна ширина слонової стопи" + +#: src/libslic3r/PrintConfig.cpp:2677 +msgid "" +"Minimum width of features to maintain when doing elephant foot compensation." +msgstr "" +"Мінімальна ширина частей, яку слід підтримувати, виконуючи компенсацію стопи " +"слона." + +#: src/libslic3r/PrintConfig.cpp:2684 src/libslic3r/PrintConfig.cpp:2685 msgid "Printer gamma correction" -msgstr "" +msgstr "Гамма - корекція принтера" -#: src/libslic3r/PrintConfig.cpp:2282 -msgid "This will apply a gamm correction to the rasterized 2D polygons." +#: src/libslic3r/PrintConfig.cpp:2686 +msgid "" +"This will apply a gamma correction to the rasterized 2D polygons. A gamma " +"value of zero means thresholding with the threshold in the middle. This " +"behaviour eliminates antialiasing without losing holes in polygons." msgstr "" +"Це застосує гамма-корекцію до растеризованих 2D-полігонів. Нульове значення " +"гамми означає порогове значення з порогом посередині. Така поведінка усуває " +"згладжування, не втрачаючи дірок у полігонах." -#: src/libslic3r/PrintConfig.cpp:2291 src/libslic3r/PrintConfig.cpp:2292 +#: src/libslic3r/PrintConfig.cpp:2698 src/libslic3r/PrintConfig.cpp:2699 +msgid "SLA material type" +msgstr "Тип SLA-матеріалу" + +#: src/libslic3r/PrintConfig.cpp:2710 src/libslic3r/PrintConfig.cpp:2711 msgid "Initial layer height" -msgstr "" +msgstr "Висота першого шару" -#: src/libslic3r/PrintConfig.cpp:2298 +#: src/libslic3r/PrintConfig.cpp:2717 src/libslic3r/PrintConfig.cpp:2718 +msgid "Bottle volume" +msgstr "Об’єм пляшки" + +#: src/libslic3r/PrintConfig.cpp:2719 +msgid "ml" +msgstr "мл" + +#: src/libslic3r/PrintConfig.cpp:2724 src/libslic3r/PrintConfig.cpp:2725 +msgid "Bottle weight" +msgstr "Вага пляшки" + +#: src/libslic3r/PrintConfig.cpp:2726 +msgid "kg" +msgstr "кг" + +#: src/libslic3r/PrintConfig.cpp:2733 +msgid "g/ml" +msgstr "г/мл" + +#: src/libslic3r/PrintConfig.cpp:2740 +msgid "money/bottle" +msgstr "грошових одиниць/пляшку" + +#: src/libslic3r/PrintConfig.cpp:2745 msgid "Faded layers" -msgstr "" +msgstr "Шари початкового контакту" -#: src/libslic3r/PrintConfig.cpp:2299 +#: src/libslic3r/PrintConfig.cpp:2746 msgid "" "Number of the layers needed for the exposure time fade from initial exposure " "time to the exposure time" msgstr "" +"Кількість шарів, необхідних для часу експозиції, зменшується від початкового " +"часу експозиції до часу експозиції" -#: src/libslic3r/PrintConfig.cpp:2306 src/libslic3r/PrintConfig.cpp:2307 +#: src/libslic3r/PrintConfig.cpp:2753 src/libslic3r/PrintConfig.cpp:2754 +msgid "Minimum exposure time" +msgstr "Мінімальний час експозиції" + +#: src/libslic3r/PrintConfig.cpp:2761 src/libslic3r/PrintConfig.cpp:2762 +msgid "Maximum exposure time" +msgstr "Максимальний час експозиції" + +#: src/libslic3r/PrintConfig.cpp:2769 src/libslic3r/PrintConfig.cpp:2770 msgid "Exposure time" -msgstr "" +msgstr "Час експозиції" -#: src/libslic3r/PrintConfig.cpp:2313 src/libslic3r/PrintConfig.cpp:2314 +#: src/libslic3r/PrintConfig.cpp:2776 src/libslic3r/PrintConfig.cpp:2777 +msgid "Minimum initial exposure time" +msgstr "Мінімальний час початкової експозиції" + +#: src/libslic3r/PrintConfig.cpp:2784 src/libslic3r/PrintConfig.cpp:2785 +msgid "Maximum initial exposure time" +msgstr "Максимальний час початкової експозиції" + +#: src/libslic3r/PrintConfig.cpp:2792 src/libslic3r/PrintConfig.cpp:2793 msgid "Initial exposure time" -msgstr "" +msgstr "Час початкової експозиції" -#: src/libslic3r/PrintConfig.cpp:2320 src/libslic3r/PrintConfig.cpp:2321 +#: src/libslic3r/PrintConfig.cpp:2799 src/libslic3r/PrintConfig.cpp:2800 msgid "Correction for expansion" -msgstr "" +msgstr "Поправка на розширення" -#: src/libslic3r/PrintConfig.cpp:2327 +#: src/libslic3r/PrintConfig.cpp:2806 msgid "SLA print material notes" -msgstr "" +msgstr "Примітки до друкованих SLA-матеріалів" -#: src/libslic3r/PrintConfig.cpp:2328 +#: src/libslic3r/PrintConfig.cpp:2807 msgid "You can put your notes regarding the SLA print material here." -msgstr "" +msgstr "Тут ви можете помістити свої нотатки щодо SLA-матеріалу." -#: src/libslic3r/PrintConfig.cpp:2336 src/libslic3r/PrintConfig.cpp:2347 +#: src/libslic3r/PrintConfig.cpp:2819 src/libslic3r/PrintConfig.cpp:2830 msgid "Default SLA material profile" -msgstr "" +msgstr "Профіль SLA-матеріалу за замовчанням" -#: src/libslic3r/PrintConfig.cpp:2358 +#: src/libslic3r/PrintConfig.cpp:2841 msgid "Generate supports" -msgstr "" +msgstr "Генерувати підтримки" -#: src/libslic3r/PrintConfig.cpp:2360 +#: src/libslic3r/PrintConfig.cpp:2843 msgid "Generate supports for the models" -msgstr "" +msgstr "Генерувати підтримки для моделей" -#: src/libslic3r/PrintConfig.cpp:2365 -msgid "Support head front diameter" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2848 +msgid "Pinhead front diameter" +msgstr "Діаметр головки стовпа" -#: src/libslic3r/PrintConfig.cpp:2367 +#: src/libslic3r/PrintConfig.cpp:2850 msgid "Diameter of the pointing side of the head" -msgstr "" +msgstr "Діаметр носику головки" -#: src/libslic3r/PrintConfig.cpp:2374 -msgid "Support head penetration" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2857 +msgid "Head penetration" +msgstr "Проникнення головки" -#: src/libslic3r/PrintConfig.cpp:2376 +#: src/libslic3r/PrintConfig.cpp:2859 msgid "How much the pinhead has to penetrate the model surface" -msgstr "" +msgstr "На скільки носики повинні проникати в поверхню моделі" -#: src/libslic3r/PrintConfig.cpp:2383 -msgid "Support head width" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2866 +msgid "Pinhead width" +msgstr "Ширина головки стовпа" -#: src/libslic3r/PrintConfig.cpp:2385 +#: src/libslic3r/PrintConfig.cpp:2868 msgid "Width from the back sphere center to the front sphere center" -msgstr "" +msgstr "Ширина від центру задньої кулі до передньої кулі" -#: src/libslic3r/PrintConfig.cpp:2393 -msgid "Support pillar diameter" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2876 +msgid "Pillar diameter" +msgstr "Діаметр стовпів" -#: src/libslic3r/PrintConfig.cpp:2395 +#: src/libslic3r/PrintConfig.cpp:2878 msgid "Diameter in mm of the support pillars" -msgstr "" +msgstr "Діаметр стовпів підтримки у мм" -#: src/libslic3r/PrintConfig.cpp:2403 -msgid "Support pillar connection mode" -msgstr "" +#: src/libslic3r/PrintConfig.cpp:2886 +msgid "Small pillar diameter percent" +msgstr "Процентний діаметр малих стовпів" -#: src/libslic3r/PrintConfig.cpp:2404 +#: src/libslic3r/PrintConfig.cpp:2888 msgid "" -"Controls the bridge type between two neigboring pillars. Can be zig-zag, " +"The percentage of smaller pillars compared to the normal pillar diameter " +"which are used in problematic areas where a normal pilla cannot fit." +msgstr "" +"Відсоток менших стовпів порівняно з нормальним діаметром стовпа, які " +"використовуються в проблемних зонах, де нормальний стовп не може поміститися." + +#: src/libslic3r/PrintConfig.cpp:2897 +msgid "Max bridges on a pillar" +msgstr "Макс. мостів на стовпі" + +#: src/libslic3r/PrintConfig.cpp:2899 +msgid "" +"Maximum number of bridges that can be placed on a pillar. Bridges hold " +"support point pinheads and connect to pillars as small branches." +msgstr "" +"Максимальна кількість мостів, які можна розмістити на тримаючому стовпі. " +"Мости утримують верхівки опор і з'єднуються зі стовпами як гілочки." + +#: src/libslic3r/PrintConfig.cpp:2907 +msgid "Pillar connection mode" +msgstr "Режим з'єднання стовпів" + +#: src/libslic3r/PrintConfig.cpp:2908 +msgid "" +"Controls the bridge type between two neighboring pillars. Can be zig-zag, " "cross (double zig-zag) or dynamic which will automatically switch between " "the first two depending on the distance of the two pillars." msgstr "" +"Керує типом мосту між двома сусідніми стовпами. Може бути зигзагоподібним, " +"поперечним (подвійний зигзагоподібний) або динамічним, який автоматично " +"перемикається між першими двома залежно від відстані двох стовпів." -#: src/libslic3r/PrintConfig.cpp:2412 +#: src/libslic3r/PrintConfig.cpp:2916 msgid "Zig-Zag" -msgstr "" +msgstr "Зіг-Заг" -#: src/libslic3r/PrintConfig.cpp:2413 +#: src/libslic3r/PrintConfig.cpp:2917 msgid "Cross" -msgstr "" +msgstr "Перехресний" -#: src/libslic3r/PrintConfig.cpp:2414 +#: src/libslic3r/PrintConfig.cpp:2918 msgid "Dynamic" -msgstr "" +msgstr "Динамічний" -#: src/libslic3r/PrintConfig.cpp:2426 +#: src/libslic3r/PrintConfig.cpp:2930 msgid "Pillar widening factor" -msgstr "" +msgstr "Коефіцієнт розширення стовпа" -#: src/libslic3r/PrintConfig.cpp:2428 +#: src/libslic3r/PrintConfig.cpp:2932 msgid "" "Merging bridges or pillars into another pillars can increase the radius. " "Zero means no increase, one means full increase." msgstr "" +"Злиття мостів або стовпів в інші стовпи може збільшити радіус. Нуль означає " +"відсутність збільшення, один означає повне збільшення." -#: src/libslic3r/PrintConfig.cpp:2437 +#: src/libslic3r/PrintConfig.cpp:2941 msgid "Support base diameter" -msgstr "" +msgstr "Діаметр основи підтримки" -#: src/libslic3r/PrintConfig.cpp:2439 +#: src/libslic3r/PrintConfig.cpp:2943 msgid "Diameter in mm of the pillar base" -msgstr "" +msgstr "Діаметр основи стовпа у мм" -#: src/libslic3r/PrintConfig.cpp:2447 +#: src/libslic3r/PrintConfig.cpp:2951 msgid "Support base height" -msgstr "" +msgstr "Висота основи підтримки" -#: src/libslic3r/PrintConfig.cpp:2449 +#: src/libslic3r/PrintConfig.cpp:2953 msgid "The height of the pillar base cone" -msgstr "" +msgstr "Висота конуса основи стовпа" -#: src/libslic3r/PrintConfig.cpp:2456 +#: src/libslic3r/PrintConfig.cpp:2960 +msgid "Support base safety distance" +msgstr "Безпечна відстань між основами підтримки" + +#: src/libslic3r/PrintConfig.cpp:2963 +msgid "" +"The minimum distance of the pillar base from the model in mm. Makes sense in " +"zero elevation mode where a gap according to this parameter is inserted " +"between the model and the pad." +msgstr "" +"Мінімальна відстань основи стовпа від моделі в мм. Має сенс у режимі " +"нульового підняття, коли між моделлю та майданчиком вставляється зазор " +"відповідно до цього параметра." + +#: src/libslic3r/PrintConfig.cpp:2973 msgid "Critical angle" -msgstr "" +msgstr "Критичний кут" -#: src/libslic3r/PrintConfig.cpp:2458 +#: src/libslic3r/PrintConfig.cpp:2975 msgid "The default angle for connecting support sticks and junctions." -msgstr "" +msgstr "Кут за замовчуванням для з'єднання опорних палочок і з'єднань." -#: src/libslic3r/PrintConfig.cpp:2466 +#: src/libslic3r/PrintConfig.cpp:2983 msgid "Max bridge length" -msgstr "" +msgstr "Максимальна довжина мосту" -#: src/libslic3r/PrintConfig.cpp:2468 +#: src/libslic3r/PrintConfig.cpp:2985 msgid "The max length of a bridge" -msgstr "" +msgstr "Максимальна довжина мосту" -#: src/libslic3r/PrintConfig.cpp:2475 +#: src/libslic3r/PrintConfig.cpp:2992 msgid "Max pillar linking distance" -msgstr "" +msgstr "Макс. відстань між стовпами" -#: src/libslic3r/PrintConfig.cpp:2477 +#: src/libslic3r/PrintConfig.cpp:2994 msgid "" "The max distance of two pillars to get linked with each other. A zero value " "will prohibit pillar cascading." msgstr "" +"Максимальна відстань двох стовпів для з'єднання між собою. Нульове значення " +"забороняє каскадування стовпів." -#: src/libslic3r/PrintConfig.cpp:2485 -msgid "Object elevation" +#: src/libslic3r/PrintConfig.cpp:3004 +msgid "" +"How much the supports should lift up the supported object. If \"Pad around " +"object\" is enabled, this value is ignored." msgstr "" +"Скільки опор повинно піднімати підтримуваний об’єкт. Якщо ввімкнено функцію " +"\"Подушка навколо об’єкта\", це значення ігнорується." -#: src/libslic3r/PrintConfig.cpp:2487 -msgid "How much the supports should lift up the supported object." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2495 -msgid "Support points density" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:3015 msgid "This is a relative measure of support points density." -msgstr "" +msgstr "Відносний показних щільності точок підтримки." -#: src/libslic3r/PrintConfig.cpp:2503 +#: src/libslic3r/PrintConfig.cpp:3021 msgid "Minimal distance of the support points" -msgstr "" +msgstr "Мінімальна відстань опорних точок" -#: src/libslic3r/PrintConfig.cpp:2505 +#: src/libslic3r/PrintConfig.cpp:3023 msgid "No support points will be placed closer than this threshold." -msgstr "" +msgstr "Жодні точки підтримки не будуть розміщені ближче цього порогу." -#: src/libslic3r/PrintConfig.cpp:2511 +#: src/libslic3r/PrintConfig.cpp:3029 msgid "Use pad" -msgstr "" +msgstr "Використовувати полушку" -#: src/libslic3r/PrintConfig.cpp:2513 +#: src/libslic3r/PrintConfig.cpp:3031 msgid "Add a pad underneath the supported model" -msgstr "" +msgstr "Додати подушечку під підтримувану модель" -#: src/libslic3r/PrintConfig.cpp:2518 +#: src/libslic3r/PrintConfig.cpp:3036 msgid "Pad wall thickness" -msgstr "" +msgstr "Товщина стінки подушки" -#: src/libslic3r/PrintConfig.cpp:2520 +#: src/libslic3r/PrintConfig.cpp:3038 msgid "The thickness of the pad and its optional cavity walls." -msgstr "" +msgstr "Товщина подушки та її додаткових стінок порожнини." -#: src/libslic3r/PrintConfig.cpp:2528 +#: src/libslic3r/PrintConfig.cpp:3046 msgid "Pad wall height" -msgstr "" +msgstr "Висота стінки подушки" -#: src/libslic3r/PrintConfig.cpp:2529 -msgid "Defines the cavity depth. Set to zero to disable the cavity." +#: src/libslic3r/PrintConfig.cpp:3047 +msgid "" +"Defines the pad cavity depth. Set to zero to disable the cavity. Be careful " +"when enabling this feature, as some resins may produce an extreme suction " +"effect inside the cavity, which makes peeling the print off the vat foil " +"difficult." msgstr "" +"Визначає глибину порожнини подушечки. Встановіть нуль, щоб вимкнути " +"порожнину. Будьте обережні, включаючи цю функцію, оскільки деякі смоли " +"можуть мати надзвичайний ефект всмоктування всередині порожнини, що " +"ускладнює відшарування відбитка з фольги." -#: src/libslic3r/PrintConfig.cpp:2539 +#: src/libslic3r/PrintConfig.cpp:3060 +msgid "Pad brim size" +msgstr "Розмір краю подушки" + +#: src/libslic3r/PrintConfig.cpp:3061 +msgid "How far should the pad extend around the contained geometry" +msgstr "Як далеко повинна розширюватися подушка навколо вміщуваної геометрії" + +#: src/libslic3r/PrintConfig.cpp:3071 msgid "Max merge distance" -msgstr "" +msgstr "Макс. відстань об'єднання" -#: src/libslic3r/PrintConfig.cpp:2541 +#: src/libslic3r/PrintConfig.cpp:3073 msgid "" "Some objects can get along with a few smaller pads instead of a single big " "one. This parameter defines how far the center of two smaller pads should " "be. If theyare closer, they will get merged into one pad." msgstr "" +"Деякі предмети можуть уживатися з кількома меншими подушками замість однієї " +"великої. Цей параметр визначає, наскільки далеко повинен бути центр двох " +"менших подушок. Якщо вони стануть ближче, вони об’єднаються в одну велику." -#: src/libslic3r/PrintConfig.cpp:2552 -msgid "Pad edge radius" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:2561 +#: src/libslic3r/PrintConfig.cpp:3093 msgid "Pad wall slope" -msgstr "" +msgstr "Нахил стінки подушки" -#: src/libslic3r/PrintConfig.cpp:2563 +#: src/libslic3r/PrintConfig.cpp:3095 msgid "" "The slope of the pad wall relative to the bed plane. 90 degrees means " "straight walls." msgstr "" +"Нахил стінки подушки відносно площини столу. 90 градусів означає прямі стіни." -#: src/libslic3r/PrintConfig.cpp:2924 -msgid "Export SVG" +#: src/libslic3r/PrintConfig.cpp:3106 +msgid "Create pad around object and ignore the support elevation" +msgstr "Створити подушку навколо об’єкта та ігнорувати підняття підтримки" + +#: src/libslic3r/PrintConfig.cpp:3111 +msgid "Pad around object everywhere" +msgstr "Подушка скрізь навколо об’єкта" + +#: src/libslic3r/PrintConfig.cpp:3113 +msgid "Force pad around object everywhere" +msgstr "Створити подушку навколо об’єкта" + +#: src/libslic3r/PrintConfig.cpp:3118 +msgid "Pad object gap" +msgstr "Розрив Подушка-Об'єкт" + +#: src/libslic3r/PrintConfig.cpp:3120 +msgid "" +"The gap between the object bottom and the generated pad in zero elevation " +"mode." msgstr "" +"Розрив між дном об’єкта та генерованою подушкою в режимі нульового підняття." -#: src/libslic3r/PrintConfig.cpp:2925 +#: src/libslic3r/PrintConfig.cpp:3129 +msgid "Pad object connector stride" +msgstr "Крок з'єднувача Подушка-Об'єкт" + +#: src/libslic3r/PrintConfig.cpp:3131 +msgid "" +"Distance between two connector sticks which connect the object and the " +"generated pad." +msgstr "" +"Відстань між двома з'єднувальними паличками, які з'єднують об'єкт та " +"генеровану подушку." + +#: src/libslic3r/PrintConfig.cpp:3138 +msgid "Pad object connector width" +msgstr "Ширина з'єднувача Подушка-Об'єкт" + +#: src/libslic3r/PrintConfig.cpp:3140 +msgid "" +"Width of the connector sticks which connect the object and the generated pad." +msgstr "" +"Ширина з'єднувальної паличками, що з'єднує об'єкт та генеровану подушку." + +#: src/libslic3r/PrintConfig.cpp:3147 +msgid "Pad object connector penetration" +msgstr "Глибина проникнення з'єднувача Подушка-Об'єкт" + +#: src/libslic3r/PrintConfig.cpp:3150 +msgid "How much should the tiny connectors penetrate into the model body." +msgstr "На скільки крихітні з'єднувачі повинні проникати в тіло моделі." + +#: src/libslic3r/PrintConfig.cpp:3157 +msgid "Enable hollowing" +msgstr "Увімкнути формування порожнин" + +#: src/libslic3r/PrintConfig.cpp:3159 +msgid "Hollow out a model to have an empty interior" +msgstr "Випорожнити модель, щоб мати порожній інтер’єр" + +#: src/libslic3r/PrintConfig.cpp:3164 +msgid "Wall thickness" +msgstr "Товщина стінки" + +#: src/libslic3r/PrintConfig.cpp:3166 +msgid "Minimum wall thickness of a hollowed model." +msgstr "Мінімальна товщина стінки порожнистої моделі." + +#: src/libslic3r/PrintConfig.cpp:3174 +msgid "Accuracy" +msgstr "Точність" + +#: src/libslic3r/PrintConfig.cpp:3176 +msgid "" +"Performance vs accuracy of calculation. Lower values may produce unwanted " +"artifacts." +msgstr "" +"Продуктивність проти точності розрахунку. Менші значення можуть спричинити " +"небажані артефакти." + +#: src/libslic3r/PrintConfig.cpp:3186 +msgid "" +"Hollowing is done in two steps: first, an imaginary interior is calculated " +"deeper (offset plus the closing distance) in the object and then it's " +"inflated back to the specified offset. A greater closing distance makes the " +"interior more rounded. At zero, the interior will resemble the exterior the " +"most." +msgstr "" +"Випорожнення виконується у два етапи: спочатку уявний інтер’єр обчислюється " +"глибше (зміщення плюс відстань закриття) в об’єкті, а потім він завищується " +"назад до заданого зміщення. Більша відстань до закриття робить інтер’єр " +"більш округлим. При нулі інтер’єр найбільше буде нагадувати екстер’єр." + +#: src/libslic3r/PrintConfig.cpp:3602 +msgid "Export OBJ" +msgstr "Експорт OBJ" + +#: src/libslic3r/PrintConfig.cpp:3603 msgid "Export the model(s) as OBJ." -msgstr "" +msgstr "Експорт моделі як OBJ." -#: src/libslic3r/PrintConfig.cpp:2936 +#: src/libslic3r/PrintConfig.cpp:3614 msgid "Export SLA" -msgstr "" +msgstr "Експорт SLA" -#: src/libslic3r/PrintConfig.cpp:2937 +#: src/libslic3r/PrintConfig.cpp:3615 msgid "Slice the model and export SLA printing layers as PNG." -msgstr "" +msgstr "Нарізати модель та експортувати шари SLA-друку до PNG." -#: src/libslic3r/PrintConfig.cpp:2942 +#: src/libslic3r/PrintConfig.cpp:3620 msgid "Export 3MF" -msgstr "" +msgstr "Експортувати 3MF" -#: src/libslic3r/PrintConfig.cpp:2943 +#: src/libslic3r/PrintConfig.cpp:3621 msgid "Export the model(s) as 3MF." -msgstr "" +msgstr "Експорт моделі як 3MF." -#: src/libslic3r/PrintConfig.cpp:2947 +#: src/libslic3r/PrintConfig.cpp:3625 msgid "Export AMF" -msgstr "" +msgstr "Експортувати AMF" -#: src/libslic3r/PrintConfig.cpp:2948 +#: src/libslic3r/PrintConfig.cpp:3626 msgid "Export the model(s) as AMF." -msgstr "" +msgstr "Експорт моделі як АMF." -#: src/libslic3r/PrintConfig.cpp:2952 +#: src/libslic3r/PrintConfig.cpp:3630 msgid "Export STL" -msgstr "" +msgstr "Експорт STL" -#: src/libslic3r/PrintConfig.cpp:2953 +#: src/libslic3r/PrintConfig.cpp:3631 msgid "Export the model(s) as STL." -msgstr "" +msgstr "Експорт моделі як STL." -#: src/libslic3r/PrintConfig.cpp:2958 +#: src/libslic3r/PrintConfig.cpp:3636 msgid "Slice the model and export toolpaths as G-code." -msgstr "" +msgstr "Нарізати та експортувати G-код." -#: src/libslic3r/PrintConfig.cpp:2963 +#: src/libslic3r/PrintConfig.cpp:3641 +msgid "G-code viewer" +msgstr "Переглядач G-коду" + +#: src/libslic3r/PrintConfig.cpp:3642 +msgid "Visualize an already sliced and saved G-code" +msgstr "Візуалізувати вже нарізаний та збережений G-код" + +#: src/libslic3r/PrintConfig.cpp:3647 msgid "Slice" -msgstr "" +msgstr "Нарізати" -#: src/libslic3r/PrintConfig.cpp:2964 +#: src/libslic3r/PrintConfig.cpp:3648 msgid "" "Slice the model as FFF or SLA based on the printer_technology configuration " "value." msgstr "" +"Нарізати модель як FFF або SLA на основі значення printer_technology, " +"зазначеного у конфігурації." -#: src/libslic3r/PrintConfig.cpp:2969 +#: src/libslic3r/PrintConfig.cpp:3653 msgid "Help" msgstr "Допомога" -#: src/libslic3r/PrintConfig.cpp:2970 +#: src/libslic3r/PrintConfig.cpp:3654 msgid "Show this help." -msgstr "" +msgstr "Показати цю підказку." -#: src/libslic3r/PrintConfig.cpp:2975 +#: src/libslic3r/PrintConfig.cpp:3659 msgid "Help (FFF options)" -msgstr "" +msgstr "Допомога (FFF параметри)" -#: src/libslic3r/PrintConfig.cpp:2976 +#: src/libslic3r/PrintConfig.cpp:3660 msgid "Show the full list of print/G-code configuration options." -msgstr "" +msgstr "Показати повний список параметрів конфігурації друку / G-коду." -#: src/libslic3r/PrintConfig.cpp:2980 +#: src/libslic3r/PrintConfig.cpp:3664 msgid "Help (SLA options)" -msgstr "" +msgstr "Допомога (SLA параметри)" -#: src/libslic3r/PrintConfig.cpp:2981 +#: src/libslic3r/PrintConfig.cpp:3665 msgid "Show the full list of SLA print configuration options." -msgstr "" +msgstr "Показати повний перелік параметрів конфігурації SLA-друку." -#: src/libslic3r/PrintConfig.cpp:2985 +#: src/libslic3r/PrintConfig.cpp:3669 msgid "Output Model Info" -msgstr "" +msgstr "Інформація про вихідну модель" -#: src/libslic3r/PrintConfig.cpp:2986 +#: src/libslic3r/PrintConfig.cpp:3670 msgid "Write information about the model to the console." -msgstr "" +msgstr "Писати інформацію про модель на консолі." -#: src/libslic3r/PrintConfig.cpp:2990 +#: src/libslic3r/PrintConfig.cpp:3674 msgid "Save config file" -msgstr "" +msgstr "Зберегти файл конфігурації" -#: src/libslic3r/PrintConfig.cpp:2991 +#: src/libslic3r/PrintConfig.cpp:3675 msgid "Save configuration to the specified file." -msgstr "" +msgstr "Зберегти конфігурацію у вказаному файлі." -#: src/libslic3r/PrintConfig.cpp:3001 +#: src/libslic3r/PrintConfig.cpp:3685 msgid "Align XY" -msgstr "" +msgstr "Вирівняти XY" -#: src/libslic3r/PrintConfig.cpp:3002 +#: src/libslic3r/PrintConfig.cpp:3686 msgid "Align the model to the given point." -msgstr "" +msgstr "Вирівняйте модель за заданою точкою." -#: src/libslic3r/PrintConfig.cpp:3007 +#: src/libslic3r/PrintConfig.cpp:3691 msgid "Cut model at the given Z." msgstr "Розрізати модель за заданим Z." -#: src/libslic3r/PrintConfig.cpp:3028 +#: src/libslic3r/PrintConfig.cpp:3712 msgid "Center" -msgstr "" +msgstr "Центр" -#: src/libslic3r/PrintConfig.cpp:3029 +#: src/libslic3r/PrintConfig.cpp:3713 msgid "Center the print around the given center." -msgstr "" +msgstr "Відцентруйте друк навколо заданого центру." -#: src/libslic3r/PrintConfig.cpp:3033 +#: src/libslic3r/PrintConfig.cpp:3717 msgid "Don't arrange" -msgstr "" +msgstr "Не впорядковувати" -#: src/libslic3r/PrintConfig.cpp:3034 +#: src/libslic3r/PrintConfig.cpp:3718 msgid "" "Do not rearrange the given models before merging and keep their original XY " "coordinates." msgstr "" +"Не переставляйте дані моделі перед об’єднанням та зберігайте їх початкові " +"координати XY." -#: src/libslic3r/PrintConfig.cpp:3037 +#: src/libslic3r/PrintConfig.cpp:3721 msgid "Duplicate" -msgstr "" +msgstr "Дублювати" -#: src/libslic3r/PrintConfig.cpp:3038 +#: src/libslic3r/PrintConfig.cpp:3722 msgid "Multiply copies by this factor." -msgstr "" +msgstr "Збільшить кількість копій на цей коефіцієнт." -#: src/libslic3r/PrintConfig.cpp:3042 +#: src/libslic3r/PrintConfig.cpp:3726 msgid "Duplicate by grid" -msgstr "" +msgstr "Дублювати за сіткою" -#: src/libslic3r/PrintConfig.cpp:3043 +#: src/libslic3r/PrintConfig.cpp:3727 msgid "Multiply copies by creating a grid." -msgstr "" +msgstr "Збільшить кількість копій, створивши сітку." -#: src/libslic3r/PrintConfig.cpp:3046 -msgid "Merge" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3047 +#: src/libslic3r/PrintConfig.cpp:3731 msgid "" "Arrange the supplied models in a plate and merge them in a single model in " "order to perform actions once." msgstr "" +"Розташувати поставлені моделі на платформі та об’єднати їх в одну модель, " +"щоб виконати дії один раз." -#: src/libslic3r/PrintConfig.cpp:3052 +#: src/libslic3r/PrintConfig.cpp:3736 msgid "" "Try to repair any non-manifold meshes (this option is implicitly added " "whenever we need to slice the model to perform the requested action)." msgstr "" +"Спробуйте відновити будь-які нерізноманітні сітки (ця опція неявно додається " +"кожного разу, коли нам потрібно нарізати модель для виконання запитуваної " +"дії)." -#: src/libslic3r/PrintConfig.cpp:3056 +#: src/libslic3r/PrintConfig.cpp:3740 msgid "Rotation angle around the Z axis in degrees." -msgstr "" +msgstr "Кут обертання навколо осі Z у градусах." -#: src/libslic3r/PrintConfig.cpp:3060 +#: src/libslic3r/PrintConfig.cpp:3744 msgid "Rotate around X" -msgstr "" +msgstr "Обертати навколо осі X" -#: src/libslic3r/PrintConfig.cpp:3061 +#: src/libslic3r/PrintConfig.cpp:3745 msgid "Rotation angle around the X axis in degrees." -msgstr "" +msgstr "Кут обертання навколо осі Х у градусах." -#: src/libslic3r/PrintConfig.cpp:3065 +#: src/libslic3r/PrintConfig.cpp:3749 msgid "Rotate around Y" -msgstr "" +msgstr "Обертати навколо осі Y" -#: src/libslic3r/PrintConfig.cpp:3066 +#: src/libslic3r/PrintConfig.cpp:3750 msgid "Rotation angle around the Y axis in degrees." -msgstr "" +msgstr "Кут обертання навколо осі Y у градусах." -#: src/libslic3r/PrintConfig.cpp:3071 +#: src/libslic3r/PrintConfig.cpp:3755 msgid "Scaling factor or percentage." -msgstr "" +msgstr "Коефіцієнт масштабування або відсоток." -#: src/libslic3r/PrintConfig.cpp:3076 +#: src/libslic3r/PrintConfig.cpp:3760 msgid "" "Detect unconnected parts in the given model(s) and split them into separate " "objects." msgstr "" +"Визначити непоєднані частини у даній моделі (моделях) та розділити їх на " +"окремі об’єкти." -#: src/libslic3r/PrintConfig.cpp:3079 +#: src/libslic3r/PrintConfig.cpp:3763 msgid "Scale to Fit" -msgstr "" +msgstr "Масштабувати під область друку" -#: src/libslic3r/PrintConfig.cpp:3080 +#: src/libslic3r/PrintConfig.cpp:3764 msgid "Scale to fit the given volume." -msgstr "" +msgstr "Масштабувати під задану область друку." -#: src/libslic3r/PrintConfig.cpp:3089 +#: src/libslic3r/PrintConfig.cpp:3773 msgid "Ignore non-existent config files" -msgstr "" +msgstr "Ігнорувати неіснуючі конфігураційні файли" -#: src/libslic3r/PrintConfig.cpp:3090 +#: src/libslic3r/PrintConfig.cpp:3774 msgid "Do not fail if a file supplied to --load does not exist." -msgstr "" +msgstr "Не відмовляти, якщо файл, який подається до --load, не існує." -#: src/libslic3r/PrintConfig.cpp:3093 +#: src/libslic3r/PrintConfig.cpp:3777 msgid "Load config file" -msgstr "" +msgstr "Завантажити файл конфігурації" -#: src/libslic3r/PrintConfig.cpp:3094 +#: src/libslic3r/PrintConfig.cpp:3778 msgid "" "Load configuration from the specified file. It can be used more than once to " "load options from multiple files." msgstr "" +"Завантажити конфігурацію із зазначеного файлу. Його можна використовувати " +"більше одного разу для завантаження опцій з декількох файлів." -#: src/libslic3r/PrintConfig.cpp:3097 +#: src/libslic3r/PrintConfig.cpp:3781 msgid "Output File" -msgstr "" +msgstr "Вихідний файл" -#: src/libslic3r/PrintConfig.cpp:3098 +#: src/libslic3r/PrintConfig.cpp:3782 msgid "" "The file where the output will be written (if not specified, it will be " "based on the input file)." msgstr "" +"Файл, в який буде записано вихідні дані (якщо не вказано, він базуватиметься " +"на вхідному файлі)." -#: src/libslic3r/PrintConfig.cpp:3108 -msgid "Data directory" +#: src/libslic3r/PrintConfig.cpp:3786 +msgid "Single instance mode" +msgstr "Режим одного екземпляру PrusaSlicer" + +#: src/libslic3r/PrintConfig.cpp:3787 +msgid "" +"If enabled, the command line arguments are sent to an existing instance of " +"GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides " +"the \"single_instance\" configuration value from application preferences." msgstr "" +"Якщо увімкнено, аргументи командного рядка надсилаються до існуючого " +"екземпляра графічного інтерфейсу PrusaSlicer, або ж активується існуюче " +"вікно PrusaSlicer. Замінює значення конфігурації \"single_instance\" у " +"налаштуваннях програми." -#: src/libslic3r/PrintConfig.cpp:3109 +#: src/libslic3r/PrintConfig.cpp:3798 +msgid "Data directory" +msgstr "Каталог даних" + +#: src/libslic3r/PrintConfig.cpp:3799 msgid "" "Load and store settings at the given directory. This is useful for " "maintaining different profiles or including configurations from a network " "storage." msgstr "" +"Завантажити та зберегти налаштування у вказаному каталозі. Це корисно для " +"ведення різних профілів або включення конфігурацій із мережевого сховища." -#: src/libslic3r/PrintConfig.cpp:3112 +#: src/libslic3r/PrintConfig.cpp:3802 msgid "Logging level" -msgstr "" +msgstr "Рівень журналізації" -#: src/libslic3r/PrintConfig.cpp:3113 +#: src/libslic3r/PrintConfig.cpp:3803 msgid "" -"Messages with severity lower or eqal to the loglevel will be printed out. 0:" -"trace, 1:debug, 2:info, 3:warning, 4:error, 5:fatal" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" +"trace\n" +"For example. loglevel=2 logs fatal, error and warning level messages." msgstr "" +"Встановлює чутливість журналювання. 0:fatal, 1:помилка, 2:попередження, 3:" +"info, 4:налагодження, 5:trace\n" +"Наприклад. loglevel=2 журнали фатальних, помилок і повідомлень рівня " +"попередження." -#: src/libslic3r/GCode/PreviewData.cpp:176 -msgid "Mixed" +#: src/libslic3r/PrintConfig.cpp:3809 +msgid "Render with a software renderer" +msgstr "Візуалізувати за допомогою програмного засобу візуалізації" + +#: src/libslic3r/PrintConfig.cpp:3810 +msgid "" +"Render with a software renderer. The bundled MESA software renderer is " +"loaded instead of the default OpenGL driver." msgstr "" +"Візуалізувати за допомогою програмного засобу візуалізації. Комплектний " +"візуалізатор програмного забезпечення MESA завантажується замість драйвера " +"OpenGL за замовчуванням." -#: src/libslic3r/GCode/PreviewData.cpp:396 -msgid "Height (mm)" -msgstr "Висота (мм)" +#: src/libslic3r/Zipper.cpp:27 +msgid "Error with zip archive" +msgstr "Помилка ZIP-архіву" -#: src/libslic3r/GCode/PreviewData.cpp:398 -msgid "Width (mm)" -msgstr "Ширина (мм)" +#: src/libslic3r/PrintObject.cpp:112 +msgid "Processing triangulated mesh" +msgstr "Обробка триангульованої сітки" -#: src/libslic3r/GCode/PreviewData.cpp:400 -msgid "Speed (mm/s)" -msgstr "Швидкість (мм/с)" +#: src/libslic3r/PrintObject.cpp:157 +msgid "Generating perimeters" +msgstr "Створення периметрів" -#: src/libslic3r/GCode/PreviewData.cpp:402 -msgid "Volumetric flow rate (mm3/s)" -msgstr "" +#: src/libslic3r/PrintObject.cpp:260 +msgid "Preparing infill" +msgstr "Підготовка заповнення" -#: src/libslic3r/GCode/PreviewData.cpp:491 -msgid "Default print color" -msgstr "" +#: src/libslic3r/PrintObject.cpp:421 +msgid "Generating support material" +msgstr "Створення підтримок" -#: src/libslic3r/GCode/PreviewData.cpp:495 -#, c-format -msgid "up to %.2f mm" -msgstr "" +#~ msgid "About Slic3r" +#~ msgstr "Про Slic3r" -#: src/libslic3r/GCode/PreviewData.cpp:499 -#, c-format -msgid "above %.2f mm" -msgstr "" +#~ msgid "Choose a file to import bed shape from (STL/OBJ/AMF/3MF/PRUSA):" +#~ msgstr "Виберіть файл, щоб імпортувати форму полотна з (STL/OBJ/AMF/PRUSA):" -#: src/libslic3r/GCode/PreviewData.cpp:504 -#, c-format -msgid "%.2f - %.2f mm" -msgstr "" +#~ msgid "Error! " +#~ msgstr "Помилка! " + +#~ msgid "slic3r version" +#~ msgstr "версія slic3r" + +#~ msgid "min slic3r version" +#~ msgstr "мінімальна версія slic3r" + +#~ msgid "max slic3r version" +#~ msgstr "максимальна версія slic3r" + +#~ msgid "Welcome to the Slic3r %s" +#~ msgstr "Ласкаво просимо до Slic3r %s" + +#~ msgid "Cut object:" +#~ msgstr "Розрізати об'єкт:" + +#~ msgid "Left mouse click - add point" +#~ msgstr "Ліва кнопка миші - додати точку" + +#~ msgid "Right mouse click - remove point" +#~ msgstr "Права кнопка миші - видалити точку" + +#~ msgid "SLA Support Points [L]" +#~ msgstr "Точки SLA підтримки [L]" + +#~ msgid "Array of language names and identifiers should have the same size." +#~ msgstr "Масив імен мов та їх ідентифікаторів має бути однакового розміру." + +#~ msgid "Slic3r View Mode" +#~ msgstr "Режим перегляду Slic3r'у" + +#~ msgid "Change Application &Language" +#~ msgstr "Змінити &мову застосування" + +#~ msgid "Application will be restarted after language change." +#~ msgstr "Застосування буде перезапущене після зміни мови." + +#~ msgid "You have unsaved changes " +#~ msgstr "У вас є незбережені зміни " + +#~ msgid ". Discard changes and continue anyway?" +#~ msgstr ". Відхилити зміни і продовжити в будь-якому випадку?" + +#~ msgid "Unsaved Presets" +#~ msgstr "Незбереженні налаштування" + +#~ msgid "Unretractions" +#~ msgstr "Непереривання" + +#~ msgid "Delete All" +#~ msgstr "Видалити все" + +#~ msgid "" +#~ " - Remember to check for updates at http://github.com/prusa3d/slic3r/" +#~ "releases" +#~ msgstr "" +#~ " - Пам'ятайте оновлювати з http://github.com/prusa3d/slic3r/releases" + +#~ msgid "Quit Slic3r" +#~ msgstr "Вийти зі Slic3r" + +#~ msgid "Open the Prusa Edition releases page in your browser" +#~ msgstr "Відкрити сторінку релізів Prusa Edition у своєму браузері" + +#~ msgid "Slic3r &Website" +#~ msgstr "Веб-сайт Slic3r" + +#~ msgid "Open the Slic3r website in your browser" +#~ msgstr "Відкрити сторінку Slic3r у своєму браузері" + +#~ msgid "Slic3r &Manual" +#~ msgstr "Посібник до Slic3r" + +#~ msgid "Open the Slic3r manual in your browser" +#~ msgstr "Відкрити сторінку посібнику до Slic3r у своєму браузері" + +#~ msgid "Report an issue on the Slic3r Prusa Edition" +#~ msgstr "Повідомити про проблему на Slic3r Prusa Edition" + +#~ msgid "&About Slic3r" +#~ msgstr "&Про Slic3r" + +#~ msgid "Save " +#~ msgstr "Зберегти " + +#~ msgid " file as:" +#~ msgstr " файл як:" + +#~ msgid "Processing " +#~ msgstr "Обробка " + +#~ msgid " was successfully sliced." +#~ msgstr " був успішно нарізаний." + +#~ msgid "" +#~ "This file contains several objects positioned at multiple heights. " +#~ "Instead of considering them as multiple objects, should I consider\n" +#~ "this file as a single object having multiple parts?\n" +#~ msgstr "" +#~ "Цей файл містить кілька об'єктів, розташованих на декількох висотах. " +#~ "Замість того, щоб розглядати їх як кілька об'єктів, чи потрібно " +#~ "розглянути\n" +#~ "цей файл як єдиний об'єкт, що має декілька частин?\n" + +#~ msgid "" +#~ "Multiple objects were loaded for a multi-material printer.\n" +#~ "Instead of considering them as multiple objects, should I consider\n" +#~ "these files to represent a single object having multiple parts?\n" +#~ msgstr "" +#~ "До мульти-матеріального принтеру завантажено кілька об'єктів.\n" +#~ "Замість того, щоб розглядати їх як кілька об'єктів, чи потрібно " +#~ "розглянути\n" +#~ "ці файл як єдиний об'єкт, що має декілька частин?\n" + +#~ msgid "Export failed" +#~ msgstr "Експортувати не вдалося" + +#~ msgid "Increase copies" +#~ msgstr "Збільшити копії" + +#~ msgid "Place one more copy of the selected object" +#~ msgstr "Розташувати ще одну копію обраного об'єкта" + +#~ msgid "Decrease copies" +#~ msgstr "Зменшити копії" + +#~ msgid "Remove one copy of the selected object" +#~ msgstr "Вилучіть одну копію обраного об'єкта" + +#~ msgid "Change the number of copies of the selected object" +#~ msgstr "Змінити кількість копій обраного об'єкта" + +#~ msgid "Reload from Disk" +#~ msgstr "Перезавантажити з диска" + +#~ msgid "Reload the selected file from Disk" +#~ msgstr "Перезавантажити вибраний файл із диска" + +#~ msgid "Use legacy OpenGL 1.1 rendering" +#~ msgstr "Використовувати застарілий OpenGL 1.1 рендеринг" + +#~ msgid "" +#~ "If you have rendering issues caused by a buggy OpenGL 2.0 driver, you may " +#~ "try to check this checkbox. This will disable the layer height editing " +#~ "and anti aliasing, so it is likely better to upgrade your graphics driver." +#~ msgstr "" +#~ "Якщо у вас виникають проблеми з візуалізацією, спричинені помилковим " +#~ "драйвером OpenGL 2.0, спробуйте вибрати цю опцію. Це призведе до " +#~ "вимкнення редагування висоти шару та згладжування, тому краще оновити " +#~ "графічний драйвер." + +#~ msgid "You need to restart Slic3r to make the changes effective." +#~ msgstr "З метою ефективності зміни, Вам потрібно буде перезапустити Slic3r." + +#~ msgid "" +#~ "If estimated layer time is below ~%ds, fan will run at %d%% and print " +#~ "speed will be reduced so that no less than %ds are spent on that layer " +#~ "(however, speed will never be reduced below %dmm/s)." +#~ msgstr "" +#~ "Якщо запланований час друку шару нижче ~%dс, вентилятор буде працювати на" +#~ "%d%%, і швидкість друку буде зменшена, так що на цей шар витрачається не " +#~ "менше %dс (однак швидкість ніколи не зменшиться нижче %d mm/s) ." + +#~ msgid "" +#~ "\n" +#~ "If estimated layer time is greater, but still below ~%ds, fan will run at " +#~ "a proportionally decreasing speed between %d%% and %d%%." +#~ msgstr "" +#~ "\n" +#~ "Якщо запланований час друку шару більше, але все ще нижче ~%dс, " +#~ "вентилятор буде працювати з пропорційно зменшуваною швидкістю між %d%% та " +#~ "%d%%." + +#~ msgid "" +#~ "\n" +#~ "During the other layers, fan " +#~ msgstr "" +#~ "\n" +#~ "Під час друку інших шарів вентилятор " + +#~ msgid "Fan " +#~ msgstr "Вентилятор " + +#~ msgid "will always run at %d%% " +#~ msgstr "буде завжди працювати на %d%% " + +#~ msgid "except for the first %d layers" +#~ msgstr "за винятком перших %d шарів" + +#~ msgid "except for the first layer" +#~ msgstr "за винятком першого шару" + +#~ msgid "will be turned off." +#~ msgstr "буде вимкнено." + +#~ msgid " flow rate is maximized " +#~ msgstr " швидкість потоку максимізується " + +#~ msgid "when printing " +#~ msgstr "коли друкуємо " + +#~ msgid " with a volumetric rate " +#~ msgstr " з об'ємною швидкістю " + +#~ msgid "%3.2f mm³/s" +#~ msgstr "%3.2f мм³/с" + +#~ msgid " at filament speed %3.2f mm/s." +#~ msgstr " при швидкості філаменту %3.2f мм/с." + +#~ msgid "Recommended object thin wall thickness for layer height %.2f and " +#~ msgstr "Рекомендована товщина стінки для висоти шару %.2f та " + +#~ msgid "%d lines: %.2lf mm" +#~ msgstr "%d рядків: %.2lf мм" + +#~ msgid "Save current " +#~ msgstr "Зберегти поточний " + +#~ msgid "Extruder clearance (mm)" +#~ msgstr "Розмір екструдера (мм)" + +#~ msgid "" +#~ "The Spiral Vase mode requires:\n" +#~ "- one perimeter\n" +#~ "- no top solid layers\n" +#~ "- 0% fill density\n" +#~ "- no support material\n" +#~ "- no ensure_vertical_shell_thickness\n" +#~ "\n" +#~ "Shall I adjust those settings in order to enable Spiral Vase?" +#~ msgstr "" +#~ "Режим спіральної вази вимагає:\n" +#~ "- один периметр\n" +#~ "- немає верхніх щільних шарів\n" +#~ "- 0% щільність заповнення\n" +#~ "- немає підтримуючого матеріалу\n" +#~ "- не забезпечує товщини вертикальної оболонки\n" +#~ "\n" +#~ "Чи потрібно змінити ці налаштування, щоб увімкнути режим Спіральної вази?" + +#~ msgid "" +#~ "The Wipe Tower currently supports the non-soluble supports only\n" +#~ "if they are printed with the current extruder without triggering a tool " +#~ "change.\n" +#~ "(both support_material_extruder and support_material_interface_extruder " +#~ "need to be set to 0).\n" +#~ "\n" +#~ "Shall I adjust those settings in order to enable the Wipe Tower?" +#~ msgstr "" +#~ "Вичіщуюча веж в даний час підтримує лише нерозчинну підтримку\n" +#~ "якщо вони друкуються з поточним екструдером, не запускаючи зміну " +#~ "інструменту.\n" +#~ "(обидва значення support_material_extruder і " +#~ "support_material_interface_extruder повинні бути встановлені на 0).\n" +#~ "\n" +#~ "Чи потрібно коригувати ці налаштування, щоб увімкнути вичіщуючу веж?" + +#~ msgid "" +#~ "For the Wipe Tower to work with the soluble supports, the support layers\n" +#~ "need to be synchronized with the object layers.\n" +#~ "\n" +#~ "Shall I synchronize support layers in order to enable the Wipe Tower?" +#~ msgstr "" +#~ "Для того, щоб Вичіщуюча веж працювала з розчинними підтримками, шари " +#~ "підтримки\n" +#~ "повинні бути синхронізовані з шаром об'єкта.\n" +#~ "\n" +#~ "Чи потрібно синхронізувати шари підтримки, щоб увімкнути вичіщуючу веж?" + +#~ msgid "" +#~ "Supports work better, if the following feature is enabled:\n" +#~ "- Detect bridging perimeters\n" +#~ "\n" +#~ "Shall I adjust those settings for supports?" +#~ msgstr "" +#~ "Підтримка працює краще, якщо ввімкнено таку функцію:\n" +#~ "- Виявлення висячих периметрів(перемичок)\n" +#~ "\n" +#~ "Чи потрібно змінити ці налаштування для підтримки?" + +#~ msgid "The " +#~ msgstr "Шаблон наповнення " + +#~ msgid "" +#~ " infill pattern is not supposed to work at 100%% density.\n" +#~ "\n" +#~ "Shall I switch to rectilinear fill pattern?" +#~ msgstr "" +#~ " не підтримується на 100% щільності.\n" +#~ "\n" +#~ "Чи потрібно змінити його на Rectilinear шаблон заповнення?" + +#~ msgid "Temperature " +#~ msgstr "Температура " + +#~ msgid " Browse " +#~ msgstr " Переглянути " + +#~ msgid " Set " +#~ msgstr " Встановити " + +#~ msgid "USB/Serial connection" +#~ msgstr "USB/послідовне з'єднання" + +#~ msgid "Serial port" +#~ msgstr "Послідовний порт" + +#~ msgid "Rescan serial ports" +#~ msgstr "Сканувати ще раз послідовні порти" + +#~ msgid "Connection to printer works correctly." +#~ msgstr "Підключення до принтера працює коректно." + +#~ msgid "Connection failed." +#~ msgstr "Підключення не вдалося." + +#~ msgid "Unsaved Changes" +#~ msgstr "Незбережені зміни" + +#~ msgid "Are you sure you want to " +#~ msgstr "Ви впевнені, що хочете " + +#~ msgid " the selected preset?" +#~ msgstr " вибране налаштування?" + +#~ msgid " Preset" +#~ msgstr " Налаштування" + +#~ msgid " as:" +#~ msgstr " як:" + +#~ msgid "" +#~ "When printing multi-material objects, this settings will make slic3r to " +#~ "clip the overlapping object parts one by the other (2nd part will be " +#~ "clipped by the 1st, 3rd part will be clipped by the 1st and 2nd etc)." +#~ msgstr "" +#~ "Під час друку багатоматеріальних об'єктів ці налаштування змушують slic3r " +#~ "обрізати частини, що перекриваються один одною (друга частина буде " +#~ "обрізана першою, третя - першою та другою, тощо)." + +#~ msgid "" +#~ "This end procedure is inserted at the end of the output file. Note that " +#~ "you can use placeholder variables for all Slic3r settings." +#~ msgstr "" +#~ "Ця кінцева процедура вставляється в кінці вихідного файлу. Зауважте, що " +#~ "ви можете використовувати заповнювачі змінних для всіх параметрів Slic3r." + +#~ msgid "" +#~ "This end procedure is inserted at the end of the output file, before the " +#~ "printer end gcode. Note that you can use placeholder variables for all " +#~ "Slic3r settings. If you have multiple extruders, the gcode is processed " +#~ "in extruder order." +#~ msgstr "" +#~ "Ця кінцева процедура вставляється в кінці вихідного файлу перед кінцевим " +#~ "кодом принтера. Зауважте, що ви можете використовувати заповнювачі " +#~ "змінних для всіх параметрів Slic3r. Якщо у вас є кілька екструдерів, G-" +#~ "code обробляється в порядку екструдерів." + +#~ msgid "mm or % (leave 0 for default)" +#~ msgstr "мм або % (залиште 0 за замовчанням)" + +#~ msgid "mm or % (leave 0 for auto)" +#~ msgstr "мм або % (залиште 0 для автообчислення)" + +#~ msgid "" +#~ "Extruder temperature for first layer. If you want to control temperature " +#~ "manually during print, set this to zero to disable temperature control " +#~ "commands in the output file." +#~ msgstr "" +#~ "Температура екструдеру для першого шару. Якщо ви хочете контролювати " +#~ "температуру вручну під час друку, встановіть 0, щоб вимкнути команди " +#~ "керування температурою у вихідному файлі." + +#~ msgid "" +#~ "Some G/M-code commands, including temperature control and others, are not " +#~ "universal. Set this option to your printer's firmware to get a compatible " +#~ "output. The \"No extrusion\" flavor prevents Slic3r from exporting any " +#~ "extrusion value at all." +#~ msgstr "" +#~ "Деякі команди G/M-коду, включаючи контроль температури тощо, не є " +#~ "універсальними. Установіть цей параметр на прошивку принтера, щоб " +#~ "отримати сумісний вихід. \"Відсутність екструзії\" не дозволяє Slic3r " +#~ "експортувати будь-яке значення екструзії." + +#~ msgid "" +#~ "This is the acceleration your printer will use for perimeters. A high " +#~ "value like 9000 usually gives good results if your hardware is up to the " +#~ "job. Set zero to disable acceleration control for perimeters." +#~ msgstr "" +#~ "Це прискорення, яке ваш принтер використовуватиме для периметрів. Висока " +#~ "значення, таке як 9000, зазвичай дає хороші результати, якщо ваше " +#~ "апаратне забезпечення відповідає завданню. Встановити 0, щоб вимкнути " +#~ "регулятор прискорення для периметрів." + +#~ msgid "USB/serial port for printer connection." +#~ msgstr "USB / послідовний порт для підключення принтера." + +#~ msgid "Serial port speed" +#~ msgstr "Швидкість послідовного порту" + +#~ msgid "Speed (baud) of USB/serial port for printer connection." +#~ msgstr "Швидкість (бод) USB / послідовного порту для підключення принтера." + +#~ msgid "" +#~ "This feature will raise Z gradually while printing a single-walled object " +#~ "in order to remove any visible seam. This option requires a single " +#~ "perimeter, no infill, no top solid layers and no support material. You " +#~ "can still set any number of bottom solid layers as well as skirt/brim " +#~ "loops. It won't work when printing more than an object." +#~ msgstr "" +#~ "Ця функція буде поступово підвищувати Z протягом друку одного-стінного " +#~ "об'єкта для уникнення будь-якого видимого шву. Цей параметр вимагає " +#~ "одношарового периметру, відсутнє наповнення, відсутність верхніх " +#~ "суцільних шарів і відсутність матеріалу підтримки. Ви все ще можете " +#~ "встановити будь-яку кількість нижніх суцільних шарів, а також петель " +#~ "плінтусу/краю. Це не спрацює при друку більше, ніж одного об'єкта." + +#~ msgid "" +#~ "This start procedure is inserted at the beginning, after bed has reached " +#~ "the target temperature and extruder just started heating, and before " +#~ "extruder has finished heating. If Slic3r detects M104 or M190 in your " +#~ "custom codes, such commands will not be prepended automatically so you're " +#~ "free to customize the order of heating commands and other custom actions. " +#~ "Note that you can use placeholder variables for all Slic3r settings, so " +#~ "you can put a \"M109 S[first_layer_temperature]\" command wherever you " +#~ "want." +#~ msgstr "" +#~ "Ця початкова процедура вставляється на початку, після того, як полотно " +#~ "досягне цільової температури, а екструдер тільки починає нагріватися, і " +#~ "перед тим, як екструдер закінчить нагрівання. Якщо Slic3r виявляє M104 " +#~ "або M190 у ваших користувацьких кодах, такі команди не будуть додаватися " +#~ "автоматично, щоб ви могли вільно налаштовувати порядок команд нагріву та " +#~ "інших спеціальних дій. Зверніть увагу, що ви можете використовувати " +#~ "змінні-заповнювачі для всіх параметрів Slic3r, щоб ви могли поставити " +#~ "команду \"M109 S [first_layer_temperature]\" де завгодно." + +#~ msgid "" +#~ "This start procedure is inserted at the beginning, after any printer " +#~ "start gcode. This is used to override settings for a specific filament. " +#~ "If Slic3r detects M104, M109, M140 or M190 in your custom codes, such " +#~ "commands will not be prepended automatically so you're free to customize " +#~ "the order of heating commands and other custom actions. Note that you can " +#~ "use placeholder variables for all Slic3r settings, so you can put a " +#~ "\"M109 S[first_layer_temperature]\" command wherever you want. If you " +#~ "have multiple extruders, the gcode is processed in extruder order." +#~ msgstr "" +#~ "Ця початкова процедура вставляється на початку, після того, як будь-який " +#~ "принтер запускає G-code. Це використовується для перевизначення " +#~ "параметрів для певної нитки. Якщо Slic3r виявляє M104, M109, M140 або " +#~ "M190 у ваших користувацьких кодах, такі команди не будуть автоматично " +#~ "додаватися, тому ви можете налаштувати порядок команд нагріву та інших " +#~ "спеціальних дій. Зверніть увагу, що ви можете використовувати змінні-" +#~ "заповнювачі для всіх параметрів Slic3r, щоб ви могли поставити команду " +#~ "\"M109 S [first_layer_temperature]\" де завгодно. Якщо у вас є кілька " +#~ "екструдерів, G-code обробляється в порядку екструдерів." + +#~ msgid "soluble" +#~ msgstr "розчинний" + +#~ msgid "detachable" +#~ msgstr "відривний" + +#~ msgid "" +#~ "Extruder temperature for layers after the first one. Set this to zero to " +#~ "disable temperature control commands in the output." +#~ msgstr "" +#~ "Температура екструдеру для шарів після першого. Установіть 0, щоб " +#~ "вимкнути команди керування температурою на виході." + +#~ msgid "" +#~ "This custom code is inserted right before every extruder change. Note " +#~ "that you can use placeholder variables for all Slic3r settings as well as " +#~ "[previous_extruder] and [next_extruder]." +#~ msgstr "" +#~ "Цей спеціальний код вставляється безпосередньо перед кожною зміненою " +#~ "екструдера. Зверніть увагу, що ви можете використовувати змінні-" +#~ "заповнювачі для всіх параметрів Slic3r, а також [previous_extruder] і " +#~ "[next_extruder]." From 14405e66ae87b42bde7aa6aecf53e094339d8711 Mon Sep 17 00:00:00 2001 From: David Kocik Date: Wed, 21 Apr 2021 17:26:54 +0200 Subject: [PATCH 03/80] Fix of crash when notification text + hypertext wont fit line length --- src/slic3r/GUI/NotificationManager.cpp | 110 +++++++++++++++---------- 1 file changed, 65 insertions(+), 45 deletions(-) diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index 98cbf1e55..a2d948e84 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -392,7 +392,7 @@ void NotificationManager::PopNotification::count_spaces() } void NotificationManager::PopNotification::init() { - std::string text = m_text1 + " " + m_hypertext; + std::string text = m_text1; int last_end = 0; m_lines_count = 0; @@ -441,6 +441,15 @@ void NotificationManager::PopNotification::init() } m_lines_count++; } + // hypertext calculation + if (!m_hypertext.empty()) { + int prev_end = m_endlines.size() > 1 ? m_endlines[m_endlines.size() - 2] : 0; + if (ImGui::CalcTextSize((text.substr(prev_end, last_end - prev_end) + m_hypertext).c_str()).x > m_window_width - m_window_width_offset) { + m_endlines.push_back(last_end); + m_lines_count++; + } + } + if (m_lines_count == 3) m_multiline = true; m_initialized = true; @@ -469,39 +478,45 @@ void NotificationManager::PopNotification::render_text(ImGuiWrapper& imgui, cons int last_end = 0; float starting_y = m_line_height/2;//10; float shift_y = m_line_height;// -m_line_height / 20; + std::string line; for (size_t i = 0; i < m_lines_count; i++) { - std::string line = m_text1.substr(last_end , m_endlines[i] - last_end); - if(i < m_lines_count - 1) - last_end = m_endlines[i] + (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(starting_y + i * shift_y); - imgui.text(line.c_str()); + if (m_text1.size() >= m_endlines[i]) { + line = m_text1.substr(last_end, m_endlines[i] - last_end); + if (i < m_lines_count - 1) + last_end = m_endlines[i] + (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(starting_y + i * shift_y); + imgui.text(line.c_str()); + } } //hyperlink text - if (!m_hypertext.empty()) - { - render_hypertext(imgui, x_offset + ImGui::CalcTextSize(m_text1.substr(m_endlines[m_lines_count - 2] + 1, m_endlines[m_lines_count - 1] - m_endlines[m_lines_count - 2] - 1).c_str()).x, starting_y + (m_lines_count - 1) * shift_y, m_hypertext); + if (!m_hypertext.empty()) { + render_hypertext(imgui, x_offset + ImGui::CalcTextSize((line + " ").c_str()).x, starting_y + (m_lines_count - 1) * shift_y, m_hypertext); } } else { // line1 - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(win_size.y / 2 - win_size.y / 6 - m_line_height / 2); - imgui.text(m_text1.substr(0, m_endlines[0]).c_str()); + if (m_text1.size() >= m_endlines[0]) { + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(win_size.y / 2 - win_size.y / 6 - m_line_height / 2); + imgui.text(m_text1.substr(0, m_endlines[0]).c_str()); + } // line2 - std::string line = m_text1.substr(m_endlines[0] + (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0), m_endlines[1] - m_endlines[0] - (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0)); - if (ImGui::CalcTextSize(line.c_str()).x > m_window_width - m_window_width_offset - ImGui::CalcTextSize((".." + _u8L("More")).c_str()).x) - { - line = line.substr(0, line.length() - 6); - line += ".."; - }else - line += " "; - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(win_size.y / 2 + win_size.y / 6 - m_line_height / 2); - imgui.text(line.c_str()); - // "More" hypertext - render_hypertext(imgui, x_offset + ImGui::CalcTextSize(line.c_str()).x, win_size.y / 2 + win_size.y / 6 - m_line_height / 2, _u8L("More"), true); + if (m_text1.size() >= m_endlines[0]) { + std::string line = m_text1.substr(m_endlines[0] + (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0), m_endlines[1] - m_endlines[0] - (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0)); + if (ImGui::CalcTextSize(line.c_str()).x > m_window_width - m_window_width_offset - ImGui::CalcTextSize((".." + _u8L("More")).c_str()).x) { + line = line.substr(0, line.length() - 6); + line += ".."; + } else + line += " "; + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(win_size.y / 2 + win_size.y / 6 - m_line_height / 2); + imgui.text(line.c_str()); + // "More" hypertext + render_hypertext(imgui, x_offset + ImGui::CalcTextSize(line.c_str()).x, win_size.y / 2 + win_size.y / 6 - m_line_height / 2, _u8L("More"), true); + } + } } else { //text 1 @@ -509,16 +524,20 @@ void NotificationManager::PopNotification::render_text(ImGuiWrapper& imgui, cons float cursor_x = x_offset; if(m_lines_count > 1) { // line1 - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(win_size.y / 2 - win_size.y / 6 - m_line_height / 2); - imgui.text(m_text1.substr(0, m_endlines[0]).c_str()); + if (m_text1.length() >= m_endlines[0]) { + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(win_size.y / 2 - win_size.y / 6 - m_line_height / 2); + imgui.text(m_text1.substr(0, m_endlines[0]).c_str()); + } // line2 - std::string line = m_text1.substr(m_endlines[0] + (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0)); - cursor_y = win_size.y / 2 + win_size.y / 6 - m_line_height / 2; - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(cursor_y); - imgui.text(line.c_str()); - cursor_x = x_offset + ImGui::CalcTextSize(line.c_str()).x; + if (m_text1.length() >= m_endlines[0]) { + std::string line = m_text1.substr(m_endlines[0] + (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0)); + cursor_y = win_size.y / 2 + win_size.y / 6 - m_line_height / 2; + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(cursor_y); + imgui.text(line.c_str()); + cursor_x = x_offset + ImGui::CalcTextSize(line.c_str()).x; + } } else { ImGui::SetCursorPosX(x_offset); ImGui::SetCursorPosY(cursor_y); @@ -526,8 +545,7 @@ void NotificationManager::PopNotification::render_text(ImGuiWrapper& imgui, cons cursor_x = x_offset + ImGui::CalcTextSize(m_text1.c_str()).x; } //hyperlink text - if (!m_hypertext.empty()) - { + if (!m_hypertext.empty()) { render_hypertext(imgui, cursor_x + 4, cursor_y, m_hypertext); } @@ -901,15 +919,17 @@ void NotificationManager::ExportFinishedNotification::render_text(ImGuiWrapper& float starting_y = m_line_height / 2;//10; float shift_y = m_line_height;// -m_line_height / 20; for (size_t i = 0; i < m_lines_count; i++) { - std::string line = m_text1.substr(last_end, m_endlines[i] - last_end); - if (i < m_lines_count - 1) - last_end = m_endlines[i] + (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(starting_y + i * shift_y); - imgui.text(line.c_str()); - //hyperlink text - if ( i == 0 ) { - render_hypertext(imgui, x_offset + ImGui::CalcTextSize(m_text1.substr(0, last_end).c_str()).x + ImGui::CalcTextSize(" ").x, starting_y, _u8L("Open Folder.")); + if (m_text1.size() >= m_endlines[i]) { + std::string line = m_text1.substr(last_end, m_endlines[i] - last_end); + if (i < m_lines_count - 1) + last_end = m_endlines[i] + (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(starting_y + i * shift_y); + imgui.text(line.c_str()); + //hyperlink text + if ( i == 0 ) { + render_hypertext(imgui, x_offset + ImGui::CalcTextSize(line.c_str()).x + ImGui::CalcTextSize(" ").x, starting_y, _u8L("Open Folder.")); + } } } From 8acc52c27ef571eb411feee4dc4c39ef5b4fdb5b Mon Sep 17 00:00:00 2001 From: David Kocik Date: Fri, 30 Apr 2021 08:49:52 +0200 Subject: [PATCH 04/80] Additional controls in NotificationManager --- src/slic3r/GUI/NotificationManager.cpp | 42 ++++++++++++++------------ 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index a2d948e84..d790d65ff 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -449,7 +449,6 @@ void NotificationManager::PopNotification::init() m_lines_count++; } } - if (m_lines_count == 3) m_multiline = true; m_initialized = true; @@ -480,12 +479,14 @@ void NotificationManager::PopNotification::render_text(ImGuiWrapper& imgui, cons float shift_y = m_line_height;// -m_line_height / 20; std::string line; for (size_t i = 0; i < m_lines_count; i++) { - if (m_text1.size() >= m_endlines[i]) { + line.clear(); + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(starting_y + i * shift_y); + if (m_endlines.size() > i && m_text1.size() >= m_endlines[i]) { line = m_text1.substr(last_end, m_endlines[i] - last_end); - if (i < m_lines_count - 1) - last_end = m_endlines[i] + (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(starting_y + i * shift_y); + last_end = m_endlines[i]; + if (m_text1.size() > m_endlines[i]) + last_end += (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); imgui.text(line.c_str()); } } @@ -503,20 +504,20 @@ void NotificationManager::PopNotification::render_text(ImGuiWrapper& imgui, cons imgui.text(m_text1.substr(0, m_endlines[0]).c_str()); } // line2 - if (m_text1.size() >= m_endlines[0]) { - std::string line = m_text1.substr(m_endlines[0] + (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0), m_endlines[1] - m_endlines[0] - (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0)); + std::string line; + ImGui::SetCursorPosX(x_offset); + ImGui::SetCursorPosY(win_size.y / 2 + win_size.y / 6 - m_line_height / 2); + if (m_text1.size() >= m_endlines[1]) { + line = m_text1.substr(m_endlines[0] + (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0), m_endlines[1] - m_endlines[0] - (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0)); if (ImGui::CalcTextSize(line.c_str()).x > m_window_width - m_window_width_offset - ImGui::CalcTextSize((".." + _u8L("More")).c_str()).x) { line = line.substr(0, line.length() - 6); line += ".."; } else line += " "; - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(win_size.y / 2 + win_size.y / 6 - m_line_height / 2); imgui.text(line.c_str()); - // "More" hypertext - render_hypertext(imgui, x_offset + ImGui::CalcTextSize(line.c_str()).x, win_size.y / 2 + win_size.y / 6 - m_line_height / 2, _u8L("More"), true); } - + // "More" hypertext + render_hypertext(imgui, x_offset + ImGui::CalcTextSize(line.c_str()).x, win_size.y / 2 + win_size.y / 6 - m_line_height / 2, _u8L("More"), true); } } else { //text 1 @@ -524,17 +525,17 @@ void NotificationManager::PopNotification::render_text(ImGuiWrapper& imgui, cons float cursor_x = x_offset; if(m_lines_count > 1) { // line1 - if (m_text1.length() >= m_endlines[0]) { + if (m_text1.length() >= m_endlines[0]) { // could be equal than substr takes whole string ImGui::SetCursorPosX(x_offset); ImGui::SetCursorPosY(win_size.y / 2 - win_size.y / 6 - m_line_height / 2); imgui.text(m_text1.substr(0, m_endlines[0]).c_str()); } // line2 - if (m_text1.length() >= m_endlines[0]) { + ImGui::SetCursorPosX(x_offset); + cursor_y = win_size.y / 2 + win_size.y / 6 - m_line_height / 2; + ImGui::SetCursorPosY(cursor_y); + if (m_text1.length() > m_endlines[0]) { // must be greater otherwise theres nothing to show and m_text1[m_endlines[0]] is beyond last letter std::string line = m_text1.substr(m_endlines[0] + (m_text1[m_endlines[0]] == '\n' || m_text1[m_endlines[0]] == ' ' ? 1 : 0)); - cursor_y = win_size.y / 2 + win_size.y / 6 - m_line_height / 2; - ImGui::SetCursorPosX(x_offset); - ImGui::SetCursorPosY(cursor_y); imgui.text(line.c_str()); cursor_x = x_offset + ImGui::CalcTextSize(line.c_str()).x; } @@ -921,8 +922,9 @@ void NotificationManager::ExportFinishedNotification::render_text(ImGuiWrapper& for (size_t i = 0; i < m_lines_count; i++) { if (m_text1.size() >= m_endlines[i]) { std::string line = m_text1.substr(last_end, m_endlines[i] - last_end); - if (i < m_lines_count - 1) - last_end = m_endlines[i] + (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); + last_end = m_endlines[i]; + if (m_text1.size() > m_endlines[i]) + last_end += (m_text1[m_endlines[i]] == '\n' || m_text1[m_endlines[i]] == ' ' ? 1 : 0); ImGui::SetCursorPosX(x_offset); ImGui::SetCursorPosY(starting_y + i * shift_y); imgui.text(line.c_str()); From dfa11781c37b9484307c1175bbaf55db6ff0871b Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Mon, 3 May 2021 15:50:14 +0200 Subject: [PATCH 05/80] Anycubic i3 MEGA S bed model and texture --- resources/profiles/Anycubic/i3megas.svg | 561 ++++++++++++++++++++ resources/profiles/Anycubic/i3megas_bed.stl | Bin 0 -> 18484 bytes 2 files changed, 561 insertions(+) create mode 100644 resources/profiles/Anycubic/i3megas.svg create mode 100644 resources/profiles/Anycubic/i3megas_bed.stl diff --git a/resources/profiles/Anycubic/i3megas.svg b/resources/profiles/Anycubic/i3megas.svg new file mode 100644 index 000000000..dfb4ae496 --- /dev/null +++ b/resources/profiles/Anycubic/i3megas.svg @@ -0,0 +1,561 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/Anycubic/i3megas_bed.stl b/resources/profiles/Anycubic/i3megas_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..49ff8c5b3b7153dc3c6aea6bceb28b0e2dce3fc6 GIT binary patch literal 18484 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 Kp?9gfa{3SV69`xU literal 0 HcmV?d00001 From 14efdca4b4134edd18f2f95bd3ff57c47d58fb5f Mon Sep 17 00:00:00 2001 From: David Kocik Date: Thu, 20 May 2021 16:32:07 +0200 Subject: [PATCH 06/80] Notifications: Calculating space left for hypertext with escaped text --- src/slic3r/GUI/NotificationManager.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index d790d65ff..f169baf90 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -7,6 +7,7 @@ #include "ImGuiWrapper.hpp" #include "wxExtensions.hpp" +#include "libslic3r/Config.hpp" #include #include @@ -443,8 +444,8 @@ void NotificationManager::PopNotification::init() } // hypertext calculation if (!m_hypertext.empty()) { - int prev_end = m_endlines.size() > 1 ? m_endlines[m_endlines.size() - 2] : 0; - if (ImGui::CalcTextSize((text.substr(prev_end, last_end - prev_end) + m_hypertext).c_str()).x > m_window_width - m_window_width_offset) { + int prev_end = m_endlines.size() > 1 ? m_endlines[m_endlines.size() - 2] : 0; // m_endlines.size() - 2 because we are fitting hypertext instead of last endline + if (ImGui::CalcTextSize((escape_string_cstyle(text.substr(prev_end, last_end - prev_end)) + m_hypertext).c_str()).x > m_window_width - m_window_width_offset) { m_endlines.push_back(last_end); m_lines_count++; } @@ -492,7 +493,7 @@ void NotificationManager::PopNotification::render_text(ImGuiWrapper& imgui, cons } //hyperlink text if (!m_hypertext.empty()) { - render_hypertext(imgui, x_offset + ImGui::CalcTextSize((line + " ").c_str()).x, starting_y + (m_lines_count - 1) * shift_y, m_hypertext); + render_hypertext(imgui, x_offset + ImGui::CalcTextSize((line + (line.empty() ? "" : " ")).c_str()).x, starting_y + (m_lines_count - 1) * shift_y, m_hypertext); } From 542f830c95e160b5330b890a7e3d43fa58e3e8a0 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Tue, 25 May 2021 15:03:13 +0200 Subject: [PATCH 07/80] Creality 0.0.16, PR 1.2.5 --- resources/profiles/Creality.idx | 1 + resources/profiles/Creality.ini | 79 ++++++++------ resources/profiles/PrusaResearch.idx | 4 + resources/profiles/PrusaResearch.ini | 157 ++++++++++++++++++--------- 4 files changed, 157 insertions(+), 84 deletions(-) diff --git a/resources/profiles/Creality.idx b/resources/profiles/Creality.idx index 2833b8afb..c1242f27e 100644 --- a/resources/profiles/Creality.idx +++ b/resources/profiles/Creality.idx @@ -1,4 +1,5 @@ min_slic3r_version = 2.3.1-beta +0.0.16 Updated CR6-SE start g-code. Added and updated filament profiles. 0.0.15 Added new printer models, filament profiles. Various improvements. min_slic3r_version = 2.3.0-rc2 0.0.14 Optimized start g-code. Added filament profile. Various improvements. diff --git a/resources/profiles/Creality.ini b/resources/profiles/Creality.ini index 0b4e4cf14..524815525 100644 --- a/resources/profiles/Creality.ini +++ b/resources/profiles/Creality.ini @@ -5,7 +5,7 @@ name = Creality # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 0.0.15 +config_version = 0.0.16 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/ # changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -21,7 +21,7 @@ technology = FFF family = ENDER bed_model = ender3_bed.stl bed_texture = ender3.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER3BLTOUCH] name = Creality Ender-3 BLTouch @@ -30,7 +30,7 @@ technology = FFF family = ENDER bed_model = ender3_bed.stl bed_texture = ender3.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER3V2] name = Creality Ender-3 V2 @@ -39,7 +39,7 @@ technology = FFF family = ENDER bed_model = ender3v2_bed.stl bed_texture = ender3v2.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER3MAX] name = Creality Ender-3 Max @@ -48,7 +48,7 @@ technology = FFF family = ENDER bed_model = cr10v2_bed.stl bed_texture = cr10spro.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER4] name = Creality Ender-4 @@ -57,7 +57,7 @@ technology = FFF family = ENDER bed_model = ender3v2_bed.stl bed_texture = ender3v2.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER5] name = Creality Ender-5 @@ -66,7 +66,7 @@ technology = FFF family = ENDER bed_model = ender3_bed.stl bed_texture = ender3.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER5PLUS] name = Creality Ender-5 Plus @@ -75,7 +75,7 @@ technology = FFF family = ENDER bed_model = ender5plus_bed.stl bed_texture = ender5plus.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER6] name = Creality Ender-6 @@ -84,7 +84,7 @@ technology = FFF family = ENDER bed_model = ender6_bed.stl bed_texture = ender6.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER2] name = Creality Ender-2 @@ -93,7 +93,7 @@ technology = FFF family = ENDER bed_model = ender2_bed.stl bed_texture = ender2.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR5PRO] name = Creality CR-5 Pro @@ -102,7 +102,7 @@ technology = FFF family = CR bed_model = cr5pro_bed.stl bed_texture = cr5pro.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR5PROH] name = Creality CR-5 Pro H @@ -111,7 +111,7 @@ technology = FFF family = CR bed_model = cr5pro_bed.stl bed_texture = cr5pro.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR6SE] name = Creality CR-6 SE @@ -120,7 +120,7 @@ technology = FFF family = CR bed_model = cr6se_bed.stl bed_texture = cr6se.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR6MAX] name = Creality CR-6 Max @@ -129,7 +129,7 @@ technology = FFF family = CR bed_model = cr10s4_bed.stl bed_texture = cr10s4.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10MINI] name = Creality CR-10 Mini @@ -138,7 +138,7 @@ technology = FFF family = CR bed_model = cr10mini_bed.stl bed_texture = cr10mini.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10MAX] name = Creality CR-10 Max @@ -147,7 +147,7 @@ technology = FFF family = CR bed_model = cr10max_bed.stl bed_texture = cr10max.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10] name = Creality CR-10 @@ -156,7 +156,7 @@ technology = FFF family = CR bed_model = cr10_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10V2] name = Creality CR-10 V2 @@ -165,7 +165,7 @@ technology = FFF family = CR bed_model = cr10v2_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10V3] name = Creality CR-10 V3 @@ -174,7 +174,7 @@ technology = FFF family = CR bed_model = cr10v2_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10S] name = Creality CR-10 S @@ -183,7 +183,7 @@ technology = FFF family = CR bed_model = cr10_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10SPRO] name = Creality CR-10 S Pro @@ -192,7 +192,7 @@ technology = FFF family = CR bed_model = cr10v2_bed.stl bed_texture = cr10spro.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10SPROV2] name = Creality CR-10 S Pro V2 @@ -201,7 +201,7 @@ technology = FFF family = CR bed_model = cr10v2_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10S4] name = Creality CR-10 S4 @@ -210,7 +210,7 @@ technology = FFF family = CR bed_model = cr10s4_bed.stl bed_texture = cr10s4.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10S5] name = Creality CR-10 S5 @@ -219,7 +219,7 @@ technology = FFF family = CR bed_model = cr10s5_bed.stl bed_texture = cr10s5.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR20] name = Creality CR-20 @@ -228,7 +228,7 @@ technology = FFF family = CR bed_model = ender3_bed.stl bed_texture = cr20.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR20PRO] name = Creality CR-20 Pro @@ -237,7 +237,7 @@ technology = FFF family = CR bed_model = ender3_bed.stl bed_texture = cr20.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR200B] name = Creality CR-200B @@ -246,7 +246,7 @@ technology = FFF family = CR bed_model = cr200b_bed.stl bed_texture = cr200b.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR8] name = Creality CR-8 @@ -255,7 +255,7 @@ technology = FFF family = CR bed_model = cr8_bed.stl bed_texture = cr8.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY #[printer_model:CRX] #name = Creality CR-X @@ -264,7 +264,7 @@ default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @ #family = CR-X #bed_model = cr10v2_bed.stl #bed_texture = cr10spro.svg -#default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +#default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY #[printer_model:CRXPRO] #name = Creality CR-X Pro @@ -273,7 +273,7 @@ default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @ #family = CR-X #bed_model = cr10v2_bed.stl #bed_texture = cr10spro.svg -#default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA (Galaxy) @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +#default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY # All presets starting with asterisk, for example *common*, are intermediate and they will # not make it into the user interface. @@ -637,9 +637,11 @@ first_layer_bed_temperature = 60 filament_cost = 19.00 filament_density = 1.24 filament_colour = #FF0000 +filament_spool_weight = 256 -[filament:Devil Design PLA (Galaxy) @CREALITY] +[filament:Devil Design PLA Galaxy @CREALITY] inherits = *PLA* +renamed_from = "Devil Design PLA (Galaxy) @CREALITY" filament_vendor = Devil Design temperature = 225 bed_temperature = 65 @@ -648,6 +650,7 @@ first_layer_bed_temperature = 65 filament_cost = 19.00 filament_density = 1.24 filament_colour = #FF0000 +filament_spool_weight = 256 [filament:Extrudr PLA NX2 @CREALITY] inherits = *PLA* @@ -706,6 +709,18 @@ filament_density = 1.24 filament_colour = #125467 filament_spool_weight = 238 +[filament:3DJAKE ecoPLA Matt @CREALITY] +inherits = *PLA* +filament_vendor = 3DJAKE +temperature = 195 +bed_temperature = 60 +first_layer_temperature = 195 +first_layer_bed_temperature = 60 +filament_cost = 24.99 +filament_density = 1.38 +filament_colour = #125467 +filament_spool_weight = 238 + [filament:3DJAKE ecoPLA Tough @CREALITY] inherits = *PLA* filament_vendor = 3DJAKE @@ -954,7 +969,7 @@ printer_model = CR5PROH printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_CR5PROH\nPRINTER_HAS_BOWDEN [printer:Creality CR-6 SE] -inherits = *common*; *fastabl*; *pauseprint* +inherits = *common*; *pauseprint* bed_shape = 5x0,230x0,230x235,5x235 printer_model = CR6SE printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_CR6SE\nPRINTER_HAS_BOWDEN diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx index 8c14026ce..de718857d 100644 --- a/resources/profiles/PrusaResearch.idx +++ b/resources/profiles/PrusaResearch.idx @@ -1,4 +1,5 @@ min_slic3r_version = 2.3.0-rc1 +1.2.5 Updated firmware version. Added filament profiles. Various improvements. 1.2.4 Updated cost/density values in filament settings. Various changes in print settings. 1.2.3 Updated firmware version. Updated end g-code in MMU2 printer profiles. 1.2.2 Added Prusament PVB filament profile. Added 0.8mm nozzle profiles. @@ -12,6 +13,7 @@ min_slic3r_version = 2.3.0-alpha4 1.2.0-alpha1 Renamed MK3S and MINI printer profiles. Updated end g-code (MINI). Added new SLA materials and filament profiles. 1.2.0-alpha0 Added filament spool weights min_slic3r_version = 2.2.0-alpha3 +1.1.14 Updated firmware version. 1.1.13 Updated firmware version. Updated end g-code in MMU2 printer profiles. 1.1.12 Added Prusament PVB filament profile. Added 0.8mm nozzle profiles. 1.1.11 Renamed MK3S and MINI printer profiles. Updated end g-code (MINI). Added new SLA materials and filament profiles. @@ -35,6 +37,7 @@ min_slic3r_version = 2.2.0-alpha0 1.1.1-alpha2 Bumped up config version, so our in house customer will get updated profiles. 1.1.0 Filament aliases, Creality profiles and other goodies for PrusaSlicer 2.2.0-alpha0 min_slic3r_version = 2.1.1-beta0 +1.0.12 Updated firmware version. 1.0.11 Updated firmware version. 1.0.10 Updated firmware version for MK2.5/S and MK3/S. 1.0.9 Updated firmware version for MK2.5/S and MK3/S. @@ -54,6 +57,7 @@ min_slic3r_version = 2.1.0-alpha0 1.0.0-alpha1 Added Prusament ASA profile 1.0.0-alpha0 Filament specific retract for PET and similar copolymers, and for FLEX min_slic3r_version = 1.42.0-alpha6 +0.8.11 Updated firmware version. 0.8.10 Updated firmware version. 0.8.9 Updated firmware version for MK2.5/S and MK3/S. 0.8.8 Updated firmware version for MK2.5/S and MK3/S. diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index 796d57822..3caaaf024 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -5,7 +5,7 @@ name = Prusa Research # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 1.2.4 +config_version = 1.2.5 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaResearch/ changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -419,7 +419,7 @@ infill_speed = 30 max_print_speed = 80 small_perimeter_speed = 20 solid_infill_speed = 30 -support_material_extrusion_width = 0.3 +support_material_extrusion_width = 0.33 support_material_spacing = 1.5 layer_height = 0.05 perimeter_acceleration = 300 @@ -481,7 +481,7 @@ infill_speed = 40 max_print_speed = 80 small_perimeter_speed = 20 solid_infill_speed = 40 -support_material_extrusion_width = 0.3 +support_material_extrusion_width = 0.33 support_material_spacing = 1.5 layer_height = 0.07 perimeter_acceleration = 300 @@ -589,8 +589,9 @@ top_infill_extrusion_width = 0.4 top_solid_layers = 7 # MK2 # -[print:0.15mm 100mms Linear Advance] +[print:0.15mm 100mms] inherits = *0.15mm* +renamed_from = "0.15mm 100mms Linear Advance" bridge_flow_ratio = 0.95 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2[^\.].*/ and nozzle_diameter[0]==0.4 external_perimeter_speed = 50 @@ -735,8 +736,9 @@ top_infill_extrusion_width = 0.4 top_solid_layers = 5 # MK2 # -[print:0.20mm 100mms Linear Advance] +[print:0.20mm 100mms] inherits = *0.20mm* +renamed_from = "0.20mm 100mms Linear Advance" compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2[^\.].*/ and nozzle_diameter[0]==0.4 external_perimeter_speed = 50 infill_speed = 100 @@ -954,8 +956,9 @@ compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and first_layer_extrusion_width = 0.42 perimeter_extrusion_width = 0.43 solid_infill_extrusion_width = 0.7 -top_infill_extrusion_width = 0.43 +top_infill_extrusion_width = 0.45 support_material_extrusion_width = 0.37 +top_solid_infill_speed = 40 # MK2 # [print:0.35mm FAST @0.6 nozzle] @@ -1043,8 +1046,9 @@ solid_infill_extrusion_width = 0.68 # XXXXXXXXXXXXXXXXXXXXXX # MK2.5 # -[print:0.15mm 100mms Linear Advance @MK2.5] -inherits = 0.15mm 100mms Linear Advance +[print:0.15mm 100mms @MK2.5] +inherits = 0.15mm 100mms +renamed_from = "0.15mm 100mms Linear Advance @MK2.5" compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2.5.*/ and nozzle_diameter[0]==0.4 single_extruder_multi_material_priming = 0 @@ -1075,8 +1079,9 @@ support_material_interface_extruder = 5 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2.5.*/ and nozzle_diameter[0]==0.4 and num_extruders>1 # MK2.5 # -[print:0.20mm 100mms Linear Advance @MK2.5] -inherits = 0.20mm 100mms Linear Advance +[print:0.20mm 100mms @MK2.5] +inherits = 0.20mm 100mms +renamed_from = "0.20mm 100mms Linear Advance @MK2.5" compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2.5.*/ and nozzle_diameter[0]==0.4 single_extruder_multi_material_priming = 0 @@ -1194,6 +1199,7 @@ perimeter_extrusion_width = 0.4 external_perimeter_extrusion_width = 0.4 support_material_xy_spacing = 60% support_material_speed = 30 +support_material_extrusion_width = 0.35 [print:0.07mm ULTRADETAIL @MINI] inherits = *0.07mm*; *MINI* @@ -1205,6 +1211,7 @@ small_perimeter_speed = 15 perimeter_extrusion_width = 0.4 external_perimeter_extrusion_width = 0.4 support_material_xy_spacing = 60% +support_material_extrusion_width = 0.35 [print:0.10mm DETAIL @MINI] inherits = *0.10mm*; *MINI* @@ -1490,7 +1497,7 @@ max_fan_speed = 50 min_fan_speed = 30 start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.08{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K24{elsif nozzle_diameter[0]==0.8};{else}M900 K45{endif} ; Filament gcode LA 1.0" temperature = 240 -filament_retract_length = 1.4 +filament_retract_length = 1 filament_retract_lift = 0.2 compatible_printers_condition = printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material) @@ -1861,8 +1868,8 @@ min_fan_speed = 20 max_fan_speed = 20 min_print_speed = 15 slowdown_below_layer_time = 15 -first_layer_temperature = 265 -temperature = 265 +first_layer_temperature = 260 +temperature = 260 filament_type = ASA [filament:Prusament ASA] @@ -2038,6 +2045,30 @@ filament_cost = 27.82 filament_density = 1.27 compatible_printers_condition = nozzle_diameter[0]!=0.8 and printer_model!="MK2SMM" and printer_model!="MINI" and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material) +[filament:Extrudr PLA NX1] +inherits = *PLA* +filament_vendor = Extrudr +filament_cost = 22.76 +filament_density = 1.24 +filament_notes = "https://www.extrudr.com/en/products/catalogue/?material=97" +temperature = 205 +bed_temperature = 60 +first_layer_temperature = 205 +first_layer_bed_temperature = 60 +full_fan_speed_layer = 3 +max_fan_speed = 90 +min_fan_speed = 30 +slowdown_below_layer_time = 20 +filament_spool_weight = 0 + +[filament:Extrudr PLA NX2] +inherits = Extrudr PLA NX1 +filament_vendor = Extrudr +filament_cost = 23.63 +filament_density = 1.3 +filament_notes = "https://www.extrudr.com/en/products/catalogue/?material=128" +filament_spool_weight = 0 + [filament:Plasty Mladec PETG] inherits = *PET* filament_vendor = Plasty Mladec @@ -2458,7 +2489,7 @@ filament_unload_time = 12 filament_unloading_speed = 20 filament_unloading_speed_start = 120 filament_loading_speed_start = 19 -filament_retract_length = 1.4 +filament_retract_length = 1 filament_retract_lift = 0.2 [filament:*PET MMU2 06*] @@ -3288,6 +3319,12 @@ filament_colour = #804040 filament_max_volumetric_speed = 6 first_layer_temperature = 260 temperature = 260 +fan_always_on = 0 +cooling = 1 +min_fan_speed = 15 +max_fan_speed = 15 +disable_fan_first_layers = 4 +fan_below_layer_time = 30 compatible_printers_condition = nozzle_diameter[0]>=0.4 and printer_model=="MINI" [filament:Kimya ABS Kevlar @MINI] @@ -3547,17 +3584,28 @@ filament_density = 1.25 filament_spool_weight = 230 disable_fan_first_layers = 3 full_fan_speed_layer = 5 +min_fan_speed = 50 [filament:ColorFabb nGen @MINI] inherits = ColorFabb nGen; *PETMINI* filament_cost = 52.46 filament_density = 1.2 filament_spool_weight = 236 +filament_type = NGEN +first_layer_temperature = 240 +bridge_fan_speed = 40 +fan_always_on = 0 +fan_below_layer_time = 10 +max_fan_speed = 35 +min_fan_speed = 20 [filament:E3D PC-ABS @MINI] inherits = E3D PC-ABS; *ABSMINI* filament_density = 1.05 filament_cost = 28.80 +filament_type = PC +first_layer_temperature = 270 +temperature = 270 [filament:Fillamentum ABS @MINI] inherits = Fillamentum ABS; *ABSMINI* @@ -3571,12 +3619,14 @@ max_fan_speed = 15 disable_fan_first_layers = 4 fan_below_layer_time = 30 bridge_fan_speed = 25 +first_layer_temperature = 240 +temperature = 240 [filament:Fillamentum ASA @MINI] inherits = Fillamentum ASA; *ABSMINI* -first_layer_temperature = 255 +first_layer_temperature = 260 first_layer_bed_temperature = 100 -temperature = 255 +temperature = 260 bed_temperature = 100 fan_always_on = 1 cooling = 1 @@ -3603,6 +3653,9 @@ temperature = 270 bridge_fan_speed = 0 filament_cost = 77.3 filament_density = 1.20 +filament_retract_length = nil +filament_retract_before_travel = nil +filament_wipe = nil [filament:Prusament PC Blend @MINI] inherits = *ABSMINI* @@ -3681,7 +3734,7 @@ filament_spool_weight = 236 first_layer_bed_temperature = 100 first_layer_temperature = 270 max_fan_speed = 20 -min_fan_speed = 10 +min_fan_speed = 15 temperature = 270 [filament:ColorFabb XT @MINI] @@ -5438,21 +5491,21 @@ inherits = Original Prusa i3 MK2S printer_model = MK2.5 remaining_times = 1 machine_max_jerk_e = 4.5 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 [printer:Original Prusa i3 MK2.5 0.25 nozzle] inherits = Original Prusa i3 MK2S 0.25 nozzle printer_model = MK2.5 remaining_times = 1 machine_max_jerk_e = 4.5 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 [printer:Original Prusa i3 MK2.5 0.6 nozzle] inherits = Original Prusa i3 MK2S 0.6 nozzle printer_model = MK2.5 remaining_times = 1 machine_max_jerk_e = 4.5 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 [printer:Original Prusa i3 MK2.5 0.8 nozzle] inherits = Original Prusa i3 MK2S 0.6 nozzle @@ -5464,7 +5517,7 @@ min_layer_height = 0.2 retract_length = 1 remaining_times = 1 machine_max_jerk_e = 4.5 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 default_print_profile = 0.40mm QUALITY @0.8 nozzle default_filament_profile = Prusament PLA @0.8 nozzle @@ -5495,7 +5548,7 @@ machine_min_travel_rate = 0 default_print_profile = 0.15mm OPTIMAL @MK2.5 default_filament_profile = Prusament PLA printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MK2.5\n -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\n; select extruder\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; load to nozzle\nTc\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\n; select extruder\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; load to nozzle\nTc\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+10, max_print_height)}{endif} F720 ; Move print head up\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM702 C\nG4 ; wait\nM104 S0 ; turn off temperature\nM900 K0 ; reset LA\nM84 ; disable motors [printer:Original Prusa i3 MK2.5 MMU2 Single 0.8 nozzle] @@ -5541,23 +5594,23 @@ single_extruder_multi_material = 1 # to be defined explicitely. nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 extruder_colour = #FF8000;#DB5182;#00FFFF;#FF4F4F;#9FFF9F -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n end_gcode = ; Lift print head a bit\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; Move print head up\n{if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nG1 X0 Y210 F3000 ; home X axis\nM900 K0 ; reset LA\nM84 ; disable motors\n [printer:Original Prusa i3 MK2.5S] inherits = Original Prusa i3 MK2.5 printer_model = MK2.5S -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 [printer:Original Prusa i3 MK2.5S 0.25 nozzle] inherits = Original Prusa i3 MK2.5 0.25 nozzle printer_model = MK2.5S -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 [printer:Original Prusa i3 MK2.5S 0.6 nozzle] inherits = Original Prusa i3 MK2.5 0.6 nozzle printer_model = MK2.5S -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0 [printer:Original Prusa i3 MK2.5S 0.8 nozzle] inherits = Original Prusa i3 MK2.5 0.8 nozzle @@ -5590,7 +5643,7 @@ machine_min_travel_rate = 0 default_print_profile = 0.15mm OPTIMAL @MK2.5 default_filament_profile = Prusament PLA printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MK2.5\n -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+10, max_print_height)}{endif} F720 ; Move print head up\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM702 C\nG4 ; wait\nM104 S0 ; turn off temperature\nM900 K0 ; reset LA\nM84 ; disable motors [printer:Original Prusa i3 MK2.5S MMU2S Single 0.8 nozzle] @@ -5601,7 +5654,7 @@ min_layer_height = 0.2 nozzle_diameter = 0.8 printer_variant = 0.8 retract_length = 1 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n default_print_profile = 0.40mm QUALITY @0.8 nozzle default_filament_profile = Prusament PLA @0.8 nozzle @@ -5623,7 +5676,7 @@ nozzle_diameter = 0.25 printer_variant = 0.25 retract_lift = 0.15 default_print_profile = 0.10mm DETAIL 0.25 nozzle -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F1400.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F1400.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n [printer:Original Prusa i3 MK2.5S MMU2S] inherits = Original Prusa i3 MK2.5; *mm2s* @@ -5656,7 +5709,7 @@ single_extruder_multi_material = 1 # to be defined explicitely. nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 extruder_colour = #FF8000;#DB5182;#00FFFF;#FF4F4F;#9FFF9F -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n end_gcode = ; Lift print head a bit\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; Move print head up\n{if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nG1 X0 Y210 F3000 ; home X axis\nM900 K0 ; reset LA\nM84 ; disable motors\n [printer:Original Prusa i3 MK2.5S MMU2S 0.6 nozzle] @@ -5685,7 +5738,7 @@ default_print_profile = 0.20mm NORMAL @0.6 nozzle ## printer_variant = 0.8 ## retract_length = 1 ## default_print_profile = 0.40mm QUALITY @0.8 nozzle -## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n +## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n ## [printer:Original Prusa i3 MK2.5 MMU2 0.8 nozzle] ## inherits = Original Prusa i3 MK2.5 MMU2 @@ -5695,7 +5748,7 @@ default_print_profile = 0.20mm NORMAL @0.6 nozzle ## printer_variant = 0.8 ## retract_length = 1 ## default_print_profile = 0.40mm QUALITY @0.8 nozzle -## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n +## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n # XXXXXXXXXXXXXXXXX # XXX--- MK3 ---XXX @@ -5725,7 +5778,7 @@ remaining_times = 1 printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MK3\n retract_lift_below = 209 max_print_height = 210 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} printer_model = MK3 default_print_profile = 0.15mm QUALITY @MK3 @@ -5736,7 +5789,7 @@ max_layer_height = 0.15 min_layer_height = 0.05 printer_variant = 0.25 retract_lift = 0.15 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E8.0 F700.0 ; intro line\nG1 X100.0 E12.5 F700.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E8.0 F700.0 ; intro line\nG1 X100.0 E12.5 F700.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif} default_print_profile = 0.10mm DETAIL @0.25 nozzle MK3 [printer:Original Prusa i3 MK3 0.6 nozzle] @@ -5745,7 +5798,7 @@ nozzle_diameter = 0.6 max_layer_height = 0.40 min_layer_height = 0.15 printer_variant = 0.6 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif} default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3 [printer:Original Prusa i3 MK3 0.8 nozzle] @@ -5755,7 +5808,7 @@ max_layer_height = 0.6 min_layer_height = 0.2 printer_variant = 0.8 retract_length = 1 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif} default_print_profile = 0.40mm QUALITY @0.8 nozzle default_filament_profile = Prusament PLA @0.8 nozzle @@ -5763,13 +5816,13 @@ default_filament_profile = Prusament PLA @0.8 nozzle inherits = Original Prusa i3 MK3 renamed_from = "Original Prusa i3 MK3S" printer_model = MK3S -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} [printer:Original Prusa i3 MK3S & MK3S+ 0.25 nozzle] inherits = Original Prusa i3 MK3 0.25 nozzle renamed_from = "Original Prusa i3 MK3S 0.25 nozzle" printer_model = MK3S -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E8.0 F700.0 ; intro line\nG1 X100.0 E12.5 F700.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E8.0 F700.0 ; intro line\nG1 X100.0 E12.5 F700.0 ; intro line\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif}\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif} [printer:Original Prusa i3 MK3S & MK3S+ 0.6 nozzle] inherits = Original Prusa i3 MK3 0.6 nozzle @@ -5808,7 +5861,7 @@ default_filament_profile = Prusament PLA @MMU2 inherits = *mm2* single_extruder_multi_material = 0 default_filament_profile = Prusament PLA -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+10, max_print_height)}{endif} F720 ; Move print head up\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM702 C\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nM84 ; disable motors [printer:Original Prusa i3 MK3 MMU2 Single 0.6 nozzle] @@ -5818,7 +5871,7 @@ nozzle_diameter = 0.6 max_layer_height = 0.40 min_layer_height = 0.15 printer_variant = 0.6 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3 [printer:Original Prusa i3 MK3 MMU2 Single 0.8 nozzle] @@ -5829,7 +5882,7 @@ max_layer_height = 0.6 min_layer_height = 0.2 printer_variant = 0.8 retract_length = 1 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 default_print_profile = 0.40mm QUALITY @0.8 nozzle default_filament_profile = Prusament PLA @0.8 nozzle @@ -5841,7 +5894,7 @@ max_layer_height = 0.15 min_layer_height = 0.05 printer_variant = 0.25 retract_lift = 0.15 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 E8.0 F1000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F1400.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 E8.0 F1000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F1400.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif} default_print_profile = 0.10mm DETAIL @0.25 nozzle MK3 [printer:Original Prusa i3 MK3 MMU2] @@ -5852,7 +5905,7 @@ inherits = *mm2* machine_max_acceleration_e = 8000,8000 nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 extruder_colour = #FF8000;#DB5182;#00FFFF;#FF4F4F;#9FFF9F -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} end_gcode = ; Lift print head a bit\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; Move print head up\n{if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nG1 X0 Y210 F3000 ; home X axis\nM84 ; disable motors\n [printer:Original Prusa i3 MK3S & MK3S+ MMU2S Single] @@ -5860,7 +5913,7 @@ inherits = *mm2s* renamed_from = "Original Prusa i3 MK3S MMU2S Single" single_extruder_multi_material = 0 default_filament_profile = Prusament PLA -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+10, max_print_height)}{endif} F720 ; Move print head up\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM702 C\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nM84 ; disable motors [printer:Original Prusa i3 MK3S & MK3S+ MMU2S Single 0.6 nozzle] @@ -5871,7 +5924,7 @@ nozzle_diameter = 0.6 max_layer_height = 0.40 min_layer_height = 0.15 printer_variant = 0.6 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3 [printer:Original Prusa i3 MK3S & MK3S+ MMU2S Single 0.8 nozzle] @@ -5882,7 +5935,7 @@ max_layer_height = 0.6 min_layer_height = 0.2 printer_variant = 0.8 retract_length = 1 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 default_print_profile = 0.40mm QUALITY @0.8 nozzle default_filament_profile = Prusament PLA @0.8 nozzle @@ -5895,7 +5948,7 @@ max_layer_height = 0.15 min_layer_height = 0.05 printer_variant = 0.25 retract_lift = 0.15 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F1400.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nTx\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nTc\n; purge line\nG1 X55.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F1400.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E value below. Excessive value can damage the printer.\n{if print_settings_id=~/.*@0.25 nozzle MK3.*/}M907 E430 ; set extruder motor current{endif} default_print_profile = 0.10mm DETAIL @0.25 nozzle MK3 [printer:Original Prusa i3 MK3S & MK3S+ MMU2S] @@ -5904,7 +5957,7 @@ renamed_from = "Original Prusa i3 MK3S MMU2S" machine_max_acceleration_e = 8000,8000 nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 extruder_colour = #FF8000;#DB5182;#00FFFF;#FF4F4F;#9FFF9F -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} end_gcode = ; Lift print head a bit\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; Move print head up\n{if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nG1 X0 Y210 F3000 ; home X axis\nM84 ; disable motors\n ## 0.6mm nozzle MMU2/S printer profiles @@ -5916,7 +5969,7 @@ nozzle_diameter = 0.6,0.6,0.6,0.6,0.6 max_layer_height = 0.40 min_layer_height = 0.15 printer_variant = 0.6 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3 [printer:Original Prusa i3 MK3 MMU2 0.6 nozzle] @@ -5925,7 +5978,7 @@ nozzle_diameter = 0.6,0.6,0.6,0.6,0.6 max_layer_height = 0.40 min_layer_height = 0.15 printer_variant = 0.6 -start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 +start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3 ## 0.8mm nozzle MMU2/S printer profiles @@ -5938,7 +5991,7 @@ default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3 ## max_layer_height = 0.6 ## min_layer_height = 0.2 ## printer_variant = 0.8 -## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 +## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 ## default_print_profile = 0.40mm QUALITY @0.8 nozzle ## [printer:Original Prusa i3 MK3S & MK3S+ MMU2S 0.8 nozzle] @@ -5947,7 +6000,7 @@ default_print_profile = 0.30mm QUALITY @0.6 nozzle MK3 ## max_layer_height = 0.6 ## min_layer_height = 0.2 ## printer_variant = 0.8 -## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.9.3 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 +## start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0 ## default_print_profile = 0.40mm QUALITY @0.8 nozzle ## MINI From 8c5dafa2dd8435cc685ff76ec4c5c985a9360773 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Thu, 27 May 2021 11:09:18 +0200 Subject: [PATCH 08/80] Updated MK3S thumbnail --- .../profiles/PrusaResearch/MK3S_thumbnail.png | Bin 66701 -> 103964 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/profiles/PrusaResearch/MK3S_thumbnail.png b/resources/profiles/PrusaResearch/MK3S_thumbnail.png index 5fa1a665b5e19b9af53de0ffe7d616f18281be28..8a859b82e724620bcb52a41e37ecea9c11412ee8 100644 GIT binary patch literal 103964 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 Ty30(CM&)N5NFUVgor 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%0DYTzweejYxAV?{2;gWU6nbi3A=|Ed6eMi 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 DLW|qn literal 66701 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≪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

rJ{F~uVZ(z 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

j-p)d?4&@GH?R6Q^_%7bSyc&)Rp;MA2u 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 delta 58904 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 N002ovPDHLkV1iP%*-8Ka From cf6c4b2a050ea269883028c4232745bba143cd6c Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Wed, 2 Jun 2021 12:30:30 +0200 Subject: [PATCH 11/80] Artillery 0.0.2 - Fixed start g-code. --- resources/profiles/Artillery.idx | 1 + resources/profiles/Artillery.ini | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/resources/profiles/Artillery.idx b/resources/profiles/Artillery.idx index d1e365772..2a1383dec 100644 --- a/resources/profiles/Artillery.idx +++ b/resources/profiles/Artillery.idx @@ -1,2 +1,3 @@ min_slic3r_version = 2.3.1-beta +0.0.2 Updated start g-code. 0.0.1 Initial Artillery bundle diff --git a/resources/profiles/Artillery.ini b/resources/profiles/Artillery.ini index 5d4a26974..ffcf5e695 100644 --- a/resources/profiles/Artillery.ini +++ b/resources/profiles/Artillery.ini @@ -11,7 +11,7 @@ name = Artillery # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 0.0.1 +config_version = 0.0.2 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Artillery/ # changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -100,11 +100,11 @@ end_gcode = G4 ; wait\nG92 E0 ; prepare to retract\nG1 E-0.5 F3000; retract to a [printer:*common_STOCK_FW*] inherits = *common* -start_gcode = ; Initial setups\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM900 W[extrusion_width] H[layer_height] D[filament_diameter]\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Set the heating\nM190 S[first_layer_bed_temperature]; wait for bed to heat up\nM104 S[first_layer_temperature]; start nozzle heating but don't wait\n\n; Home\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG28 ; home all axes\nG1 X3 Y3 F5000 ; move to corner of the bed to avoid ooze over centre\n\n; Wait for final heating\nM109 S[first_layer_temperature] ; wait for the nozzle to heat up\nM190 S[first_layer_bed_temperature] ; wait for the bed to heat up\n\n; Return to prime position, Prime line routine\nG92 E0 ; Reset Extruder\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG1 X10 Y.5 Z0.25 F5000.0 ; Move to start position\nG1 X100 Y.5 Z0.25 F1500.0 E15 ; Draw the first line\nG1 X100 Y.2 Z0.25 F5000.0 ; Move to side a little\nG1 X10 Y.2 Z0.25 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nM221 S{if layer_height<0.075}100{else}95{endif} +start_gcode = ; Initial setups\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Set the heating\nM190 S[first_layer_bed_temperature] ; wait for bed to heat up\nM104 S[first_layer_temperature] ; start nozzle heating but don't wait\n\n; Home\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG28 ; home all axes\nG1 X3 Y3 F5000 ; move to corner of the bed to avoid ooze over centre\n\n; Wait for final heating\nM109 S[first_layer_temperature] ; wait for the nozzle to heat up\nM190 S[first_layer_bed_temperature] ; wait for the bed to heat up\n\n; Return to prime position, Prime line routine\nG92 E0 ; Reset Extruder\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG1 X10 Y.5 Z0.25 F5000.0 ; Move to start position\nG1 X100 Y.5 Z0.25 F1500.0 E15 ; Draw the first line\nG1 X100 Y.2 Z0.25 F5000.0 ; Move to side a little\nG1 X10 Y.2 Z0.25 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nM221 S{if layer_height<0.075}100{else}95{endif} [printer:*common_UPD_FW*] inherits = *common* -start_gcode = ; Initial setups\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM900 K0.12; K factor\nM900 W[extrusion_width] H[layer_height] D[filament_diameter]\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Set the heating\nM190 S[first_layer_bed_temperature]; wait for bed to heat up\nM104 S[first_layer_temperature]; start nozzle heating but don't wait\n\n; Home\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG28 ; home all axes\nG1 X3 Y3 F5000 ; move to corner of the bed to avoid ooze over centre\n\n; Wait for final heating\nM109 S[first_layer_temperature] ; wait for the nozzle to heat up\nM190 S[first_layer_bed_temperature] ; wait for the bed to heat up\n\n;Auto bed Leveling\n@BEDLEVELVISUALIZER\nG29 ; ABL T\nM420 S1 Z3 ; reload and fade mesh bed leveling until it reach 3mm Z\n\n; Return to prime position, Prime line routine\nG92 E0 ; Reset Extruder\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG1 X10 Y.5 Z0.25 F5000.0 ; Move to start position\nG1 X100 Y.5 Z0.25 F1500.0 E15 ; Draw the first line\nG1 X100 Y.2 Z0.25 F5000.0 ; Move to side a little\nG1 X10 Y.2 Z0.25 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nM221 S{if layer_height<0.075}100{else}95{endif} +start_gcode = ; Initial setups\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM900 K0.12 ; K factor\nM900 W[extrusion_width] H[layer_height] D[filament_diameter]\nM200 D0 ; disable volumetric e\nM220 S100 ; reset speed factor to 100%\nM221 S100 ; reset extrusion rate to 100%\n\n; Set the heating\nM190 S[first_layer_bed_temperature] ; wait for bed to heat up\nM104 S[first_layer_temperature] ; start nozzle heating but don't wait\n\n; Home\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG28 ; home all axes\nG1 X3 Y3 F5000 ; move to corner of the bed to avoid ooze over centre\n\n; Wait for final heating\nM109 S[first_layer_temperature] ; wait for the nozzle to heat up\nM190 S[first_layer_bed_temperature] ; wait for the bed to heat up\n\n;Auto bed Leveling\n@BEDLEVELVISUALIZER\nG29 ; ABL T\nM420 S1 Z3 ; reload and fade mesh bed leveling until it reach 3mm Z\n\n; Return to prime position, Prime line routine\nG92 E0 ; Reset Extruder\nG1 Z3 F3000 ; move z up little to prevent scratching of surface\nG1 X10 Y.5 Z0.25 F5000.0 ; Move to start position\nG1 X100 Y.5 Z0.25 F1500.0 E15 ; Draw the first line\nG1 X100 Y.2 Z0.25 F5000.0 ; Move to side a little\nG1 X10 Y.2 Z0.25 F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nM221 S{if layer_height<0.075}100{else}95{endif} [printer:Sidewinder X1] inherits = *common_STOCK_FW* From 4bb958f57542e09a922f81adbea17dd50c40607a Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Thu, 3 Jun 2021 14:24:44 +0200 Subject: [PATCH 12/80] CR-10 SMART and SERMOON D1 thumbnails --- .../profiles/Creality/CR10SMART_thumbnail.png | Bin 0 -> 20511 bytes .../profiles/Creality/SERMOOND1_thumbnail.png | Bin 0 -> 40675 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/profiles/Creality/CR10SMART_thumbnail.png create mode 100644 resources/profiles/Creality/SERMOOND1_thumbnail.png diff --git a/resources/profiles/Creality/CR10SMART_thumbnail.png b/resources/profiles/Creality/CR10SMART_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..3417266baa1065c39fad478c7ac5eb8705fc9aae GIT binary patch literal 20511 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 CF^Iqb literal 0 HcmV?d00001 From 94243ab5ac60582d1528aa311070cf90609ee014 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Fri, 4 Jun 2021 12:15:03 +0200 Subject: [PATCH 13/80] Added new TriLAB resource files. https://github.com/prusa3d/PrusaSlicer/pull/6592 --- resources/profiles/TriLAB/AQI_thumbnail.png | Bin 0 -> 43037 bytes resources/profiles/TriLAB/aq_bed.stl | Bin 0 -> 783884 bytes resources/profiles/TriLAB/aqp_bed.stl | Bin 0 -> 866484 bytes resources/profiles/TriLAB/dq2_bed.stl | Bin 604284 -> 863684 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 resources/profiles/TriLAB/AQI_thumbnail.png create mode 100644 resources/profiles/TriLAB/aq_bed.stl create mode 100644 resources/profiles/TriLAB/aqp_bed.stl diff --git a/resources/profiles/TriLAB/AQI_thumbnail.png b/resources/profiles/TriLAB/AQI_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..e889cfbee9381482f7d070c2c989e717b8ed0735 GIT binary patch literal 43037 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/TriLAB/aq_bed.stl b/resources/profiles/TriLAB/aq_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..5f1043636b5959ab495c591ea97f8d15f8efb4c2 GIT binary patch literal 783884 zcmb513A|0^`}U7{o}COKnaP+WVK4SJgxZ86Bx8{=o6OEOr9#P2re@<&=A_~*XB|UC z8u&?4X(EJ38IpJ3&%LkRwe23C|LgPq{_oXu-QW9qp0(CqYwhuL=y<=sY}1Y{%GRk} z^X{6pYu2fISDmtfw)eMf-}sF;-nd@&|My>`#!1nCVOPXAZ!d0g^jy^p(benhjcJVU z+q<`MC@5}HQam9J6VOW3t2Ey2-lw=vxG7I=Z1PW1MU#QPJZ>k%VFEfvIMIwS(z&l_ zj3*Fr4$lx;3F)E#!VdT1s`y!Dh~f7P5vu+@J#>APjUuC zPhL3Ff8-z47}r_-7aHqjCWY`FDjo>P1&B&Zu$XP$7y~$t)S~C9pe1^YDe`MGQu7cK#BiAcAJ#+X?20PG_ zaofci{??GQ3tH`hsTm`KeZ6566{yr z^ZpS}=zO2>P4};Fs~Y2WLL4Tbm1yRJHw{?e`twqMMM&+q!(8~ zYes{!t<$QW9%C}tftHNhmQMHY_9KIcSi1D$Drn7k@y?I8mfJbOWUvD*8ScU9{=Q9+ zK}0NFdT|xBW;}VYSEJ3BQ_TKg2U;>_WS!yP9Lul~Tm`KeE0S{g_O2gqGT4EZjHz`Z z=dJ+OVI#N-S~FJdo9qibHqvCU11%XiCyEXQZ3I_AYsTGM&!@fcxSkWgocX-J$7r1| zj#uf6aXTRn6VOV$wI!?D=$9^L9qS)`-hXMDW}vTRVBAiK!vwSvmmcWtdecssYt+Q# z8U6vabDMhu^py;Z+X-=)fL7v6tsTC1nhbOzt-{kDp5Z@SPBYL~GBBP%#5qhrD>3ci zUwz?kduztaGyEe9YXAM8L&Uh=e={+;jQp20?N6|`nFU;Lo6;jhB7tzx~z zL6waEHE^c?@omVk5nKhW8Rb_v&Xey~H5u$cOGc9iX8MC)Aj3v*6|`o|dZLCiuR|k~ z!49-!{9bvcf9#LQun}AZtr-R0z18`vK^v374zy(CyEeoB>jh-k2(E(GjIKqqI30fO zYBJb?mJA%BqC-I&!BxFo8SS#0++r!2Z8E!Bw~; zPbAo30?!i?33iykvzJ7I9VT#$-JIYmJPS)C*kJ<4*v$#9!VzzrWHMnOV7bq)Hb& z9z|ojiH=*j%MKHGY~GyUDm*q53GT}?#F;OVV225u?QTwR70#$PC%6jd{6vBsCU9lA zIl)!95+xGsFoCOGBEb$5xCSQ@>@a~V_00*c!ks}P!44C+`-l-?QIUs;%f}DS+T!pL zYCm?Fz!_XzLY zJ51mVeshAWa0X8#*unW+syI6o47M8QG~Zn#O`Jcg1Xn?8#*?#BoUcy}Hm|p{11%Y; zku_boh723QRnVI8S)H-YyQ7<%=g#avOU5@C`BF-ej-?EgAmox%{n4Bf~~;6|`nF+kd~)_T>`h zIVU^Nk}>{NPJg{h$gmMy1+5u}x83FZabG=?!49-!r0>b;?_LubHiE05HDm89ANiKw zIoOq6BYipjPranaPst~9`nSwejd4364inHyY)$^#*XWDxCW9Sl$$ssnoc<1raO~O$ zu7cK#wFOE$y{fb}8SFqyM$Y$g`tN!R88(8epf%%`9rrjXwdw(DrNJWN? z;3{a%=(oD9(|>ic$zTUsG8UZ8>HmBKGHe7_L2Jg!Ku>3>?}9levI8v{J0g#d8EMF{ z5nKhW8IOED$T|MdR+GUFv}F8PBA5TgJ;<;TTm`KeCt5!3+`4tT$zTUsGH`Ae9SYhA zu7cK#g3mQeThw^0*&n?NX7?|iuk(H1&F;@NOEt#rgg8tv}TNc^O;7K{?hj**nyUeS^vx7e?69ABe)7$Gln+K;|sp7 z?@h1+Eg8e}<@8T{0qd|4Tm`Ke4=fw(>vCa~*&pmcO9swYqC-I&!BxJAOY)UyR!cad2b^0jGz#(Kh|WNxSHLczo%xPuVi36 zfrxXMfL3Djg>ugNq0LPOu3pkNuq3Cy-QAjp@dP4vg%pPgXeIo&6?ER4(?K#~eQzZ0 z9+lJoS!2x$1#JXZL2Jg+H%|Nh$!gwXNn!_DvL_VC=^xPs88(8epfzK2P1%@9uig&p2gxTlt? z_@b1Hd}0O@Tor#EO4 z{oo9~dhylLPO!rSXUA_VK4;*0t!y7Y$HWutFo9=!aa%XCoUp?V6L^k$bAqezj5Uss zBhkgmW&2_4ipI)C$F0Ln-g4xqbHGIhY1{&Hz&9XkAg&k9VYNdOC;D~0*~fI zf*mGs#z-XCVFG8RM1mbAaOO)S*kJ-^*F=IHCU6E%B-mkMLEQ6N;q+hFWrqn|iKH(6 zNMwfzT~wGx!XLtAX_5b7g!6J51n8By=eF^y*I=4_Iej14znSqip(!mL<(=tb>0ponEDl zYK-fd`o9Qqn1EIy>}%vJ{kFcA!49;{q}!ES(|>NKd7+?<;3{a%n11&H-^pgfUG60g zs${(Wz>?`3IwQkIa22#>EO_UDZ_~H^Oa?p9l2Pj866w7jMTU*wDrn6p@lJb7$p&m`1wSdCzWOjSYy?+9YsMW5ZgB=?ZEM!S4zy&v z?k|yE<~wBA2(E(GjIDjn`bxIxWir@-mJFPgM2CVlf~%l4BPm?csdwA`uJE{eiC&Rj zJiSXlojbP1&8Rl+0cY*%;wFO~ zXvwIPrFeSzr;%YJxC&Y`M!eF~X_(`D8utjx)IEP|!wj6|`mu7x@>C z{67cxhT`yJ0@tfJLLi47CUE56oZu=P$8m(26+1W*rHZrTp5w&LiU}NJaTy8g;3^z3 zafF!_JJ{#{_gOK4y&0F0Fe|S5&pntxa24)q5;NFg0@wDN6I_KWbs~Z5t2nq%6m2Ki zVFGu6i5X0A6|XP;DB-?5!yB$2k?pGg!VWu3;M$%zD<-%KSL#H99b9XriaW)xgB>Pt z6^&(tu@1h2#B*n<`oBG*n835*SVnAHaWAgIbKFFN`|=FqpASX@BL835VTXzMXGJ!G ztKy#zViA(T4ioXu?wH^e@)?!4NZcND@z|Cws1l9Gqv&{o9VT$J-<;qoJc1Jmc9_5; zEs-{0_T`GBJv+$mkF-I*(Z_U z#~?q7aJ@<-*kJg)3Yl!44C++9eX~Fo7#vBEb$5xDF~Yea#u)nK8Z0^Qd9{ z=6DZh*6&pRUU-gow76=F>ow}X2yvKzR^strdb*jvKWCnQ{9Sdfcj*22zA_Vx+X-J{cD<0>BMaBkH1x8+)jwY1hf*TH=N!2Qe%C6mmO%? zRuePN@gBdbd7+?<;3{a%7}nvbv;uoZnQg@mv}7D=IL8b9feahLRnVGI^5A=E-?!Dz zMzI4e84bqH@%o=YhK=AVXwA6)i67F!i~E{&umdd_*yo}{K^wtU(3)`}UpJ@pXPG4< z-2L9!-tIj*-)8sC_Qw2AHO3Q&BzBm9R$|Vw`<*F!_4DoQK+D|6cAD)i_#WHJMsO9h zW=yJjk5m1NI%Zq311%ZZ`_1;M{fZ15!Bx=Fb(AmT9BJ3eWUvD*8K*|i_UfEN#vBX5 zRnVGoI`2QeT7m8+gB@tes5Nu8xBenBYy?+9Yeuo%n||?$zTUsGJbe}ws&Xryb=o92(E(Gj4@l*HQtg_&sXd~O9swYqC-I& z!Bxj66TVX*cr&d5ezxLluljmq*a)tI){G(DpK>NIPBj_qKugARHD`OB(~w~!xC&Y`+TZnr zv-XQ4CW9Sl$-o(0bSP*exC&Y`F8-3q`Q;UTZyR@B((CY!+1{*LI(LlQ32~T!R-)~q zB2KNU54zmQ5+1^Xdv8`+bS3zsW?USlG$1eCx20PG_{dwdX^>r6y*a)tI){H0L zcbqEAs+tUTpe18;^V!}#eUV`!xC&Y`yg6;1ZeQwme%OJQ44kh-hk`bOtDrSQIQWI3EQ1NI!X03Y z&`CvB&JGjU|2HSN3VSn-h|DbPu)}+evt!TCBQuMi6%)An#APH9T!m{%9ARd~4z31L z^?#cc6FASuWhBgst8ms%B-p`u_y0aCCU8cLWkgmj|KhhUSK+xxj8Gs#u){?Bc~_b% z5>Idyo>L`eu)_rI$YVq-g9)yRzgyB7$^Q*I>@a~l@>oU`iYK@V_t!TkxC(cGi3B@L z;QspN1XtlsHj!Y53EW>N5_~4(*B1C(X&$v<-B@84k30EqJZeSb5hXhAaqhCi1kM;Y zC%6h{q8Jet71`%5J2=CM!`ZP}g@s^;37lPpju8J51m_c5{NOaPCSZ*kJ-^qC|onCU73RIl)yp z6D1PtFoE;f%?Yl;87@YIBP#O0u**jSuFg`$$D94QVgh#qLfZ+h!re!V2#b+JcuYX z-|YCcp=7WFjclwh6todoEfbnCX^rFDvc~+LWw^>WoxH41>f9St=n(^2>KBwpxCL_GPY$xxzdOG)OQ#yGQ zA5@L;1R{wYCZLsA+um_D7t?jH18rtS+b|Tg5!h}_XvW1i{m#NRm1J9mpKSE7xB0w2 zCNM)GFrGlfIZQw+vAk0==XCQ5CZkWohrH8EH3NMm1LFxqoWlgP5))6a_RX3<)I2{Q z)xWcMuB&FCuVi4{PKd(@b02Ax4BnNd^;Kg}o_N z@fqwefvp}R!lERD39iEamnxGH79|8bOkm$gRs5{ji6iJ59G}4i_P_MSzDdkrhY9T2 z7!ejF>tKSbu+ODRW~F~2M*geov6If6C3j>%ug_H@rez#Qi6O$Mf+I8&qCrTl=G19$ zm&+N@7`GGR+&DvI$FDFNh<(utm|A$B_{>SF{_Q8wr^q2&q+y_ZsJ6Jb^Gr3HB`$&>;Rju2SZ;O2_sQ zefu}MZ!jK5gk^5*+(-xwLTWW<)UVIQWgrjZc0wHF-I#5TtJwaKUYI-j3W0HC{JTHc zxsmwq{V_Z(6qkWKj3YyGO-|$!{7Q&}JnO8)Fa(Y(&^(Tef7c;Z*ylGA3H!qwjn572 zZwT%y8so^2FPmJnPt}T`ocQifVG-|zLJ4)J0T7e&`O*+@?zRgYjl6~D^$blpRK6bR_H4k7`GGR zFafQ^v8f~6&6jl@W!Kj5_D|Og^py;Z+X-=)fL7vz5ij}oP(J#t;DQ6i_;2!5i;kiPe(f5 z%un<&SnpfEcY3O7jN1uun1EK|jUvOH2}2f|b%f_N@@}7^uV0|A%nIWPM4ZC}v=U1v zElitVP`~dS$aAmv^81>BzLJ4)J0T7e(6L#$k#(5!)l0uM@-ko7?SsCOfpI$_4inHy z%)PiE?N}vUN404Uyw?Ky7(`#mz_^_dhY4sUzC9gs*Y#dx*3qW^z21?1nt{HOfpI$_ z4inHyWbL-l_ueh~`wVSo2D~!`H3NMm1LJl=944TZc&o;6=e<1(%yESyj{AzncmfgU zU?xl}v98N7=eysQn2hY1+Ioj4={3C52W`C;xpn_zJb_4JhY4sUK3%;e?a98w%wzD# z7{5CN^k z3wI24JZGKBUqyb_l*1AT?SxSbG(31}t0xqFy<(p_q{RXDksH#J4~ zIr>Tl#_fbSOh7B~*{G$yEP-LJ^!jjjEAMdT=rxM+Fm5Nr!AufoHM8zWw?fgWK5;Hq zY2|(Sre5h7Nag zmY#1i%5}ZZs~dgpgt<#!jN1uun1EIy`SK9AS3C1};*yF_Y3coaRL_Ig&$je>%u|hV zJ0T7e&`Q**Im~_e{8Fjh8E?GU-~Icw&rQa2=`Fl>+Ua#^Xz7;T z=+de&ZYRWH0$PdZI}LKn{@|JncA#Ze*jA!LK^wtU(3&ynfno0b4fQcts!L06`nLGF zOJ9uJ330GmA)u9b^QR@gX5I8Lh^sL76^(H_Ar5B3v=TeEUP-H2SHF)_^vnY9WXT-n zInI;g7J0c>Wj7k*c0wE`pq03#>SNCOV^@5uN9Re+`tmDY@9#7opU?wsS ztwgQ!f2X-~^!o-c4SLz@@rY)iuMilICq7*DYE^cafL7vEgU8&ArB~AGPRUbk(f0Y? zvBA2nKuZS34N5QJ0T7e&`QkQdBwM>_G51GEsIw+&b`=cQ4Q<(HxJ|Sgru{x zX#2kev=U8Ueau{n=p*M49g zbL=+#{&}zC`>HW+C&Xa_T8VPs_H|lyJ7(6gf8=vs{~fwN&{t-K@dP5yVFFr-PK&=! zOV0PWxo=N7Io0d-w*GBN^py;Z+X-=)fL5a8j=pZM^ke3@$~o{EuWn`id#UIv85p+{ z;xGZNME14Ee6Q@*{jp-_vtGkFx(@V}42;_eahQNsV*git-OR&u9oSRcS2V`$ggBT9 z(@OOG?qJ&B`TflPxOQN?m)cy9C8u84d+V}pH;mf}ahQNs;+GHVxoz6&ZwMW481`!Y zt{JE5q+~bZ6FXXx70F zw9FmbO4mU|5~`#ZS3zsW%IlTfnbE&_ADBMb3qGyuz}%%T#_fbSOh7BK#rdDF=_LI< z%Oz{4c$@Fk4D^)@jN1uun1EK|?DZ7qy;ru}8)+3T8_C!g)_s7!l7aCABFP1&A9me1ZVgt*R139E>pbQv+6qjerk$0IjkDv2}BY*Oh7Bqq)du4 z=g>;C4tAhr?${!_4jaK$(3%m>{lB!yFX;8-mJ*Y_(!uz-OJ9uJ330F{A)u8Q(PV-< z^6Z(d;^eO}*}L^^%|Krsw-e$p0jG6ubvJQ;f32~T!R-*h*cROC$x=y53c!n6`s>#j+gHGQaLL|&V0>m58@z+9sm+|}Oe zzFIZL?Swc?Kr7)r5pa`wSCng1(yM15^nPBVuaRZh+0Ogte$^Pa6XGxdt;9zMnz@(P zl$VS!JJ6Dib%+iHiAX|~^x`UL%^2{U;}-o|zXv((mX6-70e#KtK+X1+5w3-|M-xi|PGt$sf|hY4sUde=#Da;Cgx z&WU^8?Bc!FTlWF_N(RR5gg8t3^(igTn`vdMVS>*AeXrpN1;ja|H#b7&sM?Swc? zKr69%Rf;n_wXMlu2b$L*Iux`KSS=Hp@x-+h=k*^8nePI8^=TLHzJq#>%JfMWuUJ!E z6UOa?I7~n*aVqj#GK0TdX)@S>mRVt2i4FyA1Xn?8#`4HIil^q5&r^pte%!^Y{BwSD z-u-QF7w>dWT@%I=h$MEHfL3BiL-qptIL;q-LP65E!=;;xGZNM9cFj zZjHB>n~X_KI(x@H)eQ8N42;_eahQNs;=@gA(>`gY+iKLW9lY%I^ms*I$-uas5Qhn9 zC9)K1;k;M7oD*pk4&><&c@03JRw!=FafQ^4{2Q;uVWVH zflj%q{WWKu_tv1Raebu|#^Z_Si~LK7gS;EFL&2Tfx;PJC$?A;ToHMoEzO~+&3Rg_V zg&OO;6B(*8t{EVt7duQqD>3HDuFfmRvdI2OVh38ru@2FZ-;;?Fy)WdfhAQdBRnVF- zWql#{(+TaJinncAdF;bA-mxFz=PrFQ9#5R9wy7#RSd$RYO7!W~+3mMCr`$6n{kCPT z*KMTk^YQi9daak}zQMSi5Qhn9B~H}s zv}TO(49cXEU zb%+iHiAX|~^x`UL%{ZHPtovdw{hUnxL94x5Q}uC&8A@M_#}lu9U#c2AOh7BK`}VQ! z-n15JWiFPgR(0`euUY82d7Oim42;JUH#$r}D{-{SSa(9L7HQ94E|q%6uGL_3;gB>QIm8hLO);+qVrP&|sK=W)xhk_uUyilqds-zcI%Y&K56n;qjK>pQvt6yq4inHyG|mxpzBpe@9v|VOectg(RM+G6 z$KT%Ze*9TA#uJDnc9?)xqFloVoC4YPcL&*l=5>e;1wkBtGAR{R(hF;1LNh|w3%c#D z=;M5NhgDwEiTJq-fpI$_4%Q?Dv=SE@v~~+!F69pW`0uK}HG0RpwU{1DRkyG5rjCtX z6Qkqtg!BR-4inHy{5`OZ`{8UscPwWzO4eHKJ?v=)Xvx61oe+l!XeAc@ z;&cC*Rn25{E3n3!@6Ti&=fmG#?bXY!8sm0C944TZSkm3^1{Uh;SL{IZIz)$pL?od~ zdSSIpXhyd03OQFEYj4(ZIR9EN>q*^Kn7a@dw-e$p0j)&WuH&6Iwih<<(K{E{c$=na z#+IyWy;@sUV?2RKVuuN6C93zH;QTS^=f*N$cA$A3qC-I&fz>jh8M#}JbLwoaVb-zp zlQmw}+&cHhKdkYZwNZ`n1R{wYCZLsA`_njQU7p({BZ(bo8OIh89r>=lh2Sb^&8RnG ztWzm>6JOJ+rBe&eU*pxvrsopOQ2Js#p19Fr0$PdmU&lD@WeXMB(JzZsV6anPXS(AV4Jt2RHfB#;S!gHh7=3il4g>7>_4zbg)_(hgM?YsUFVO$$yw*7q4(|um&tBCegV?2RKVuuN6CC+T@?)b+4 zZT1H{&^%kwk>4tg5>qbbPDPdU!fKh&j6L~syT|8savHz%PSvA*R(J&t#?M^{jK>o< zI#`p8Lo1QBXE*n1AhUU#zusk~*W&}-ALWm%@Sb}>HOB3PI7~n*aduZ%cX9J9=5fvr zG|yIaCVi@dP5y!J34CR-#R@f=;;w9n7|Rz2pin^o<@% z=qm)q6Nos631}sjew*LfJW$v1+qmUk-Q}9$>{#wibyZ_LfkmK5f>K z#11sCLv$!;Bd}T~G~<8o<#F>)dD!f8=e=dI^Dbs61jg-zI7~n*asK&n?zYX9)1=qf z1IxV1&2^t|%2?*DD6AUec0wE`pq1#+ZJe7qZ*|ECvjZ*JScm9PkccEyNiVK~){M71 zk8@Y`uAcVz`=zV(xw_0N@_zi>r7yq-~__@nCcT3IcY5O;qPVG`*xmUhc zX7gMPeTBeyJkeoa>1ymS0j<@OJc^#rdK@bc6D4mKb>4h~hp&7mZe85?mtGM&e2T9d>6^tCaAM5_W z+=ak+JaMDL1hf*nQrbIZ))g}6k_*?Cc-^vSM)rwIy}Z3tV?2RKVuuN6CC1Et&`Hf! z#5@Msf#%tYj=YZ(B@PzJQVmto3#(;9GY)^3%Wbnk|K`i%zr5{j>=r+FAuw(y#KD?` zfL7w=#%z=H9&l?<*Uw*#Pg(9A-K-e{ zi!JxYk5!FvJ0T7e&`Q)l*}~0L>2|X}*n#GChz&l?p%Dz z3h(DW@pBgf<90$EtX2qUB^nH#;4B*SgS;jaUNUrr_fjU!cxT)SZ&`iS7*8OQ*kJ-% ziMf%#;r`RG<>qxCcA#ZeScm9P&_-|-v}TNXZ@g1`T~6P?m&&9b4z7s&u7RG|I>$y){}h&{r}r9#7<)Upkc?CZLu0q;MfO>u>Gd@txjV`Q82%k>3{44A7E+ z@p$4!hY4sUZa<#a&9vnq_t&y(S9?U* zt7SqnYVN<1*1G0nW*waytcv{BhtB=OUnA=nq8j6NLL4Tbm3VhUR(I7Yv#rAHK+CMK ztwe`{L?od~dT|xBX1sG(9_Nok51VytYyFPbxkmilr7y2Zwl1S0YplD?`U4inHyeBb*Cr*>}rdo1igOCHuCI`SHsh2Sb^ z&8WA#g7eI;0Vjfo>)f}~zj5es^FC*RK|B1}tDZ0#;|W9(J4`?;k$HH)eWqhY$w(?) za*u!CAE)B_^0=K42YEt3E3u( zJZ>k%VFFr-J#$jr_wO69ReCkcv&(;I`WcgvT4=O6N+9=qr(85p+{;xGZN#G<1WosX{j&AH^{;~D<_-~DRVfxeP~@dP5y zVFFr-#;*t5M{n12$)Mvq{PX{($1eIx2FC4#I7~n*ajtTTv#07Zb6l<7wZoq~MYmO* z?|1mCzN3#vjN1uun1EJd`{@)X-_twI=U&-?=5>e;1#JXY%YoCqKf5f~dlY}#} zRGoW$hre`t-8UGw6XGxdt;D`h#ye|@WH+y6umdf5*jA!LK^wtU(3)|5ZnE?KwzlTD z^5x#(-?iaSb6g#IdyRi&rOQTRJb_4JhY4sUE+1>_W;~uO8A++@Hu$$L{wuC8kJ|}x zkS7GR5*6M}cH6IMYaWB{W9$4o?$fz*9>(p2I7~n*k@t98cf(`4j;(jC_t$?)KQD^D zGAoSR32~T!RwA@F*-4wP`@_9$qyJ=nT?hI~2F4SJIEM*nC3+od>y96x>v%b1qd)z; zW}vTRVBAiK!vwSv8?z<5^DDPA`{RW}>;0KK=x1HgS28eeC&Xa_T8Ra}wRPt{tn0XK z>IVNi&Gd79=qni*w-e$p0j)&dp2<$pUvz&YuYS+p?S0+n=qni*PaxtPCZLsA-M_8- za=u&4<747OoBX?9(`|*ml7VqMAr2GJN*tb)?C#vBkB>aXHuzirp`VRHU&+9@oe+l! zXeAyx+t#Vp(Y$_@gfjs56^(H_Ar5B3v=S8yU-xyo^r&pB@SLwQykou2nR7{AZ+ql( zovJY&Pdw|qzLFg#pp~dyw7Xks-9PgDBWcl;46ohA_`W=DC&WRX5YS3=e0`|fa@T6# z+}^iTThuJW`*YUsW*xnHWO!qnsm6FbVbY_7I7~n*aej9{cUX>tW*zK6^EyO_f;NJ; z0<>maSklrN>C^8`ELgD3%j(m6L(E~o_o9Z_vflHZYRWH z0$PdF*(Nxrv;AZ4;n;!Zb%>7q-Ea$m)iR+OlV2b1&21r;jrkOh8N3@b2$5O(}p3CfNBeLNng_b+K>o>X6A`0$Qp* z$g;laxzk0Wzg*7*JO4#!#>X%J;M+4x|BgEo&{DPK>(xzjeuNAr*!eF)GnTI{3^JHt=f4Qe*!O!)XYSAUnr+1dv{be2wX*3aHITssJO4#!M)To! z_zv_k`#fCEza@QAg`yeaOqg{r{mQ~3Mq^x$L?V*dVFFr-Qkk3jI`xF&XSYOUA;pS-jgi7B*`N1#JXZL2JhFLj!!3%jn-& zX9rp`{x`6o_xsC*q8T=VtDrUG(u}Zg^WKqW9qd3$M&-k$yiFe$jAqyfu7cK#Dz{Dd z`MW=DGT4EZjN)~xdQ*Qb5Y4a=Tm`KedEcDp`~8dICW9Sl$!IXTo;Uh({%D4c;3{a% z=wIj!-}!2KE@1~+GK!@(^;TcX7tOE{Tm`Ke*@vY1Mm_$NSqD4NlF?%O1D^kQ-e`u6 z;3{a%cz5$g-}_UCm<)EHC8O)kN4$r2`Yl<%(w52(E(GjKhV#^c8B<-(;`@Eg65; z81MafEk`uNMsO9hW~{&djqmx>`WtlYKug9qJ*Ie_7iEuT*a)tI){GTj{^I*{Vjr^( zcAzDr{;kh@Ijd%iX4nX>g4T?AGtT*5`@5&fUh=z+2tSI@p1hjF*2|=rtUX6wR;^Tm`Ke z$ERd>GVg!HWUvD*8Lhj$;WeIq%@ZB@Z7K`FRnVG|S}~9F?lJwW8avR^x1PJydocf% zXoij8Drn6pyQzRv<46ay4tAg=V^jWB-mSy`jAqyfu7cK#ZS{&e-+a{0WUvD*88ut4 z^|Eh0AI-24Tm`Ke*_IS{icNXIWUvD*8A(sQ=S}|gOf^h+x3G`*{}$zTUs zB3_#Gp_lc_$!La+;3{a%c%t>~&PRJ&m<)EHC8N~@*Smh^muQBK;3{a%m^`tfbLs)} z9%QVSIH;10IlZ@gzkU2eG{Z)46|`nFTw2v>wAnH1U)9yiOk+jAqyf zu7cK#=C9Oq?ihBL$zTUsGRo#VtnJspX*spF$zTUsGQJ;u#PdJ1 zH=1E1xC&Y``c!D_Y?@r%WUvD*8K?Jt=S}{2S2V*$a22#>oZH>RIXkF|$zTUsGPY&= z$?JZ>i)Ppeu7cK#(2!(3&y0P8+B0=3C7=*nyUe!uij64S(AZ&9D(%1+5vi#{`|x z51a1^$9jo_D#>VY_=4x#wmO<&Be)7$Gq$Hb=w$t|uvrH?(30`lw7XK-Njo>P1%{Z3c$;q}mm&srUS~6al`Hy#Q+iTGb z8^Kl3nz3LgtLk zo99F`Yy?+9Yewx#J)93a{$*aLW(Qg_4wuZD(Xr$U(F_~GRnVGoS6VM;+M3@?20PG_ zQFVT{j5Y(Fjb_*gu7cK#)P{YX31@yZ8SFqy#+TW0WVC!|QZ&Oxa22#>w0P|aC%y33 zCW9Sl$#}PS&WuwZjgDs62(E(GjBP*ncgB?d%w(_wEg3V{<;uvOd2lqtMsO9hW*jUu z(D|akPLsh7v}D|WHg`tT>b;^FHiE05H6u`Nu=Cf+k4y$T(2}vERNjn#8b-dE9{Cpv z+6b(2!(3)}g*{7TVJ(imccAzEWkrw$g z78LSDGi(G`L2E|qRUxO`wZ$fb9cam@>o1Ve=Ic7q3>(2!(3k-a~X|qiRJJ6ER zqDH}tsxMTGX4nX>g4T>T_dV^rp7gBAUbRIX_`Q+KYCW9Sl$=LO5;f#6>lcE_mf~%l4XvqkdNzQoi$i!%djo>P1&1k-Bg7eD3T_%GaXvtVM zI633i*V{!iYy?+9YsT$OQ=ATU7Ml!qpe3WtyU7_9hLnzG*a)tI){I+TO>v&R*u!M7 z11%Z-zD~{<^~iy3qC-I&!Bx#)fP|!wj6|`nl zx|-r#f25`PEGIkA()Z%^v^kdIYP1 z%_w?!th3tF$^8u5=4zy%^{6^u7{+X{u zGi(G`L2E{b<)a3c_o zLKziC7mH@t2(E(GjMtJzI^AbHV=~x*mW&7QFPPEbNcm`njo>P1&G>lY2xnCCOD2OI zXvvt>yFf#=+pFFt!;G{Z)46|`nddSs|`s`*;8t=NHP1&A9vA6V3zgePuG(ftHLjcjw4> z@%xF<3>(2!(3;WyrM}J^bAK=y>_AJ#;7_t;eDLP9Xoij8Drn7^UaYs%?~&6cgB@te z2(-(ZalQS_Xoij8Drn89Ho1or&itpzUv}$#qb8P5sW*zK6OUAeB zPk1#tZ;fWy2(E(Gj4212IgQqqHyP|eOUBdlfAX5P^r9Iyf~%l4W8HmCohQGkY%y?414M4wJzSv}Al%)$b92U;>_rylY)Joi~N!$xowv}TmJ?QW;YuXW8j*nyUef>pls`j$Kx&9D(%1+5uv z8{X+`&!}%Q*nyUeFK2w}m7RS!nqecj3R*Lk`fEC8pKWL|*nyUezK3^vJ zg4T@L^{P4L?r}^8JJ6ExVE!H68+ZK>&9D(%1+5t`6s_c(`^;}L*nyUes@1o7y}JJr z&9D(%1+5vyzQ5f$)xL$vURUULQnqecj3R*K#=a+Wg+1kovumdd_$17~| zM)lC|2!w(*f~%l4W0$Xl^GU%6Oa?p9l5sg{o%cR3ldtHv|Zv%vaHiE05HRJQqSAEU?>2CH1JJ6Ex(ezo~ zo}v1CDWRZ^;3{a%$aU;@--b7PnhbWJCF8)4&wB^{$QlqG3fc&+g4T@FcbxETtk%b5 zumdf9SKKkxyT8BwUF^trGb{vGL2JgVUBC5Ro&UJWU;;MXvyePGUWZQoc`_H$a{Adf~%l4Bm3YzzD5-Wn02rNEg8?Yd%}C= z3H^J1p`eZ6Drn6p+F_e-b(29RgB@tem^+}WS8lQXt-VmtMsO9hW-PpYlkcIXLrexc z(30`nz_wodZTh!5LqQwCRnVI8$=9oVe^z|TWUvD*8CM<(c-ar=-#85gZ3I_AYsQh3 zH+`MY3^N(*Kubo&D)qh6hxG4Cg@QJMtDrR_sqibl<_m|L40fO;e7>)^uTi=2CW9Sl$@t{aW$D#tBEv>-6|`n7 zE|tYM?{SU(2_B9=i})GgUQitWh1x> zS~EJAUeowmffSR$4zy%+c%yFm{d19FBe)7$Gj16?x$&=~G=m*z$*9pcDLwOUWY`F< zg4T?q-D@>Ik)avvKugA7^%iccaT*ymf~%l4Bm2TNjeb9;8SFqyMp56V?(S>Iun}AZ ztr<^D3EUHT_uA|acAzEWXlSqVWh}!+a22#>%>3W#Ek%Ae>j<+0Eg2&-7Bp!S+g3!x z(xn$yL2E{xYc;o4+pZbxKugAzJCd5#jqP(HV(HS0tDrR_*m&~R2S#fKJJ6C*?}@ri zUy2>OM8wji7gs@R#?sTPw@xmo8SFqy#=x16H|-aD3=$DbmtI^2tr-)heZBRtKF-7J zKugAhduKGwh@DG_h^0#}u7cK#$FgQg>;AJjUxnF$mW;tomo;4#J0}tmOP5|;1+5v& z-YcF~vAkxm11%Ya-*%hUD1vh$5wUdX#Z}Onk>{bBX)Och`VnRaS~8lQ`Ksx|({PO< zB9<<_xC&Y`vVI>(JJQ@-2gB?@OGe(Z=bP3)iEAwpv2^LhRnXCObbKT&^Bv}T9%ctx zGPW$t=Km>n&yeR|B9<<_xC&Y`URyml?Z|m^UlL{qS~B(~7xoVshkG9)V(HS0tDvJ9 ze@;w${#A2-6=nxoGTf9h{&TBv5BJ)?L@Zr;aTT;?Y4IfWOW`JU1XBmM*=x3R*Mn+rKI;OBM6{Bg_u8WQ>2Tt^dVzJjWp-mM*=x z3R*L2-m)oeV!%9)3bO+(8BMx(^*{A0o~scNOP5|;1+5wBEw`mz_M7K}VRoP;qkZ5B z|K)yo&PhZpU3zg9v}Wwoh<}Wx8ue}lxOP5|;1+5uxv@7W59cEtN z4YLC+8Bcku{8#?OYsf^z(xn$yL2JgPeMQ|+Tk|?~m>p=zsB?9#Ke-WJ3nwC$F1@%4 zS~GrVP{JKv)V$svW(Qg_?!Il4|Fb@LO`nKZy7b~IXw5i0r?fjH-MnuQW(Qg_eyQ=1 z|MjQv-UJb`bm_%a(3;Wp$nEaO51aQt!t6jxMrx&P{!6{^9t#n%bm_%a(3)|gKqdE= z1Ll34FgwtaaVqByf5!%RuZW0Py7b~IXwAq}r*@2df5(jqs>s-WpUPQ#w zr59I0YsMYEnr`u#=6$s=JJ6Ex*0fLk`Cq|%cSOX}r59I0YsTrj?{u?$Y~CLXvjZ&| zSIT|qA95SsgCruBF1@%4S~K>QyxSf4n|Yrz%nr0<%wKxQfA|Hwmr6t|U3zg9v}Sbq zwSntiGw;`i*@2df^ZCE=AN(2b2@?@ZmtI^2tr=zCYV1CJ*}U%@W(Qg_rgi_`f3^bN z+a@BGF1@%4S~J!*YwG4WX5K#!vjZ&|U(Wf-zv+IwM^8j7U3zg9v}P>+teJaeqxl>_ zm>p=zcx3en|A&umjlLg6L@Zr;aTT;?jA?$KyK=;B=JCM}v}C;Y?rHz5&iKp(5wUdX z#Z}On@zYyv+)d?gH5u$cOGdSq&iVH@#%Di>h^0#}u7cK#(21b?ihGO6Up=zXqDxX|I}`L7Keyfy7b~IXw4X3?IHIU zFP~WlJJ6DGb=FmX=3)3u5fQO;>BUvhn$f6IXSe4a=5tG7cAzEW?o8MHe`LpJqlk#5 zOE0d1){NAgUENP6o6lc`*@2dfJykOW`aFlvco7jxmtI^2trp=z zIFyk&aPcxet42gDU3zg9v}W8J?&02(&wL&(%nr0<%n4=AwwcdahS`CZj8ZS<4D_!tDtf*mB9<<_xC&Y`M%H=K-L=bn zUNp=Ov}7FmCRgBtA^1!x5wUdX#Z}On@%BUvhnvt*iFgM3_^LgqpJJ6ExW54`?zn;Qpwuy+POE0d1){KXL z3c2?zFrNz#vjZ&|lX?{hd|Dr$JtrcTF1@%4I=YVV2)Fj_=JV}gcAzEW;Wm-iu71U5 z==1$c#L}e~S3zq=mg`TuRpy(|>4({YmW*cQ3k9w}gYN0e}vhAmW;K{iUi)dgzuOT5lfd|Tm`Kee;*p_F47`K)u89cam@)1_#jKo5N9hlp6Z^x`UL&B#1= zyjyyz`Cd_&9calov8QODBUvhn&CSBUvhnvuLb#ogEDA+rv4pe3XDcgX?o9elTsh*-Mx;wos( zxHa-OEox7`D&HRrvjZ&|?Jgw;I+keCM06-fL@Zr;aTT;?RJoSozV%jdlfe$O^!@94 za^T~G9n5F>LqQ^9>C%g_AK3Y40Wn{;r4b@Y)Ej zg4T@rO;g-glJtAR>_AJ#pM#SFc^=1ik!=K5L2JghyC%55FVXKivjZ&|KbA=je3gdp zRNDxyg4T@tYfo@b)`@;^JK9SeR7pmctwjT)8{)g+HiE05HRIx#@owD*_50`SKuboS z)z)zz(!zOnP1&B#`7l$&LX{>}tD(9*X@&O(9RWlKae zYy?+9Yetj(PrHZym}d4lJJ6C5s97-3H;mupun}AZtr>IfAK`8rtH1lf4z$S#6bQVw zw@!2&R)VSmQLP!(-VM3o-}U!P*nyUeu`TllvS!6^q}T|qg4T??e}BsTwxj+I3p>z~ zk*i_8K;??9qwBB{Tm`Ker-~1C-(I4>C&Lc3WaKTAH}G1`hoc!bf~%l4V`7ED?t<_1 zcX8N(mW-w6atHn?gWuk<5nKhW8Fv;P=+4Z#(;QdqKugA@^|=Da{umTphmGJWXw7JJ zqQBd&u>MXFJJ6C*t#8i2&#OmAGi(G`L2JhMZ#>~{$nmvV2RqP`(JM!ez`>=Hq8T=V ztDrTbm#?oo<4677D0ZMFW6y$Yfs=jk+f+7!tDrR_cX}`Py(RklSL{Gb#`IEI1KEn= zH@0j9S3zq=`KmqK9If?tyx4)3j4xiy92mDAzZGU9xC&Y`u0H*!Tc>}L!@a~om5lGd zkQ7+vEQsz88^Kl3nsF?(i`%h`{;nE3(2~*frGNZKKaBl$n}y&iXwA4|M<@5Yj9g|N z>_AIKhtgO5&m`N2dSfKQ;=#rDr3!3R*LouYS>+*g#W8dY0(TD z!BxT-?{heW<_wE+;$ClCk#l@BGy> zc11I61Xn?8#-u8Z-8)nC_eI%(mJDyg5r4Lcd!rdPf~%l4XOReP1&G_ivqHg=m?Mwzc(2_B~=qi7< zp?^l#VI#N-S~F^XRKRr)bubz1KuboA9ZUV)a$kvN*a)tI){H&X^0-~Ueb{8M11%Yy zdcEQAKkZsH!$xowv}TliKD)d3lSfPjJJ6D``Se16uMmFg{{PW+-f=RWZ5STCtlpzW zCrWgp%$alaHhS+??+j7b4kCya5rT*yL=B?1oiju9=p;deBuMlcy?pb$&)&zg_IvY3 ze%J5Z&;4HK%$aU>M%R#2V0NrHm%!fjZF}XA378xYyUno@XTo>(>l$(j%#PP(p9fC0 z>7*Po0h43>k(pNS<@oIZT|-WR+0pTn_cN<&Vf==It|6zu?D+hT zYk~67{5uUY0h6On&rhtq^YL2{x`vzrvtxV8i-Bv`d#KAwCSY|-&^6=~ zm>n;2o(@d=sJC*+1Wb;tQwCdU8{xM(bPYKLX2&O44h1gv@2ea#0h6QX?(WvAS@?|+ zT|-WR*%AFT5LohQf8~$~m>ioV1E0Ll|v?A zay+}1)7pO^-Ckm!SJ#kJV0QdG&mZ{k$Z+M537FR1Ju01*$@y(3T|-WR*-`Co-+-NS zq;kjvOpe*F5?L*p;Ww&u4LJp7hkI7bK;9<&J6JLSljGW-cg!Jg;LtVX6qp^kvYUa@ zy+*6!kO`O^YuBDNTgCoxWs4*5%VKCiAJr@-uJX?&`u?*jgx^sElf&D6ZD`#H{JxrO$mIVusO|H1f11HQ^mP;EkPR?R{Ze{;X!JHX zWJ4zZufdKwJ^l$?ZqJWVvH_;4QSObQTmQl#8#4KS4R$;)x-4*a^bmC%vH_;4Zlkw^ z-bCQH0cArb|F6N0{AH>H7O&^)m27}%YVWVxL$C9|AsaIJe+_nYNLMtb@WE(x9I^qX zDfz2*;p>%X$mIVu*zwba$uZ;mv*YxLs8E*WeBamY<+xCqwanPg*TnzVphPyn+*qEc zR$zJ2*vl$*-FF-J3r!5A2;zQM*N{_Sb}T5rFwp7SH)`4LJp7$MK3;?40!*DThqJ`=aKaOfIx z3e1i*d-K>elhsiUnSjaBY{J}7*OzeU8gdHEj^qQ2+WG(G_W)!9CdY)GUx#95rjLC* z*EQr6m>q|H|InV2obTIZ0w%|k^@~G+f_NO%HRKeS9R&)1XwTck4w-<-k*C-4P`^!Z z=o)eg%#IP^%PRN}Usf^!lVkq66`?H;;m|eY6qp?||I2Gfn*3gdOu*!jk8nP(t|6zu z?4UKmAN!!|mA`k7F(&R4aX&~Yw#RG4Nn``ejmeMl8kH?|9De-zDXlxa=n4~;54Oi^ z#Q7yv*#L86LBFC#of~{UWCAAN&A*nJZ_l}|A*aCXNSN&9~QG zT|-WR*-`22hsOG}?2rkV9LvjnZN9w?>Kbwi%#PvRiyCw8@nt0wFgfnNoMXPdFVQvR z6qp@l$(j z%#Ir2e)b)q%&ocAlpiIEzsJ-}cKNXLtH-{CF-CFga#yo@Bm#&Y)|^DKI;F7g*@dc8s5w$OKFd|DsRKx6gfa4LJp7 zM@;fs?)@L|^DCKv$?=76oQdaiKCiAJr@-vkcw}<5WwFl_WdbG#?h}c9UR^^@f!RSl z-0!yed%9<1iW2HE^q^ zL5XaDyiW8<2B+WvH^~_SN`+g zB{gwAur4{UJzgVDA{$_CoUy~7@mj4uzw1h$@Pa2-t^DeIU|n)xyS_n*Y=GnJl}&5i zIPrz!z`Am~zCnp>fVuHUaEx){b3P7SY!CKR-vIm&4UEiQYHo)BYw@sw6y3Nf1?eE#`ldVOO$*U7%UAbM~phPyn+*m$0 zgHh_TdY{1`6+Ojr=VpiWVSBuWOD3`b=EjffAG&iCRF5D23m<)E?Y+)__kZ%QDOTeI z?8EkW4VO%01I&%cb1vgR`3~y!hfKh9Sz&L9eO_HdPJ!8ReCQN++6C(UME`>?rdre2 z@Nta1{+U&5FEh5sYq(@08(?nSPH@Z}(SaWaWdf#s$0fqYp=-z~FgwmYC=$33#qW`A zIXKN~x|a9-@z`lr;qRHTUEiQYHo)AdePL+K&!0uB^C1&3?fc0x)2vJ1vCrq#HRKeS z9bYx8P%Wj+4w-<-QR2!}Yw>b8bPYKLW=HS8GrI3Ij#9@V6EHb&W{G`XT|-WR*%92E z%^u&6|1I^_$>~$eS;F&0CQtp)dcqK7yNH`G6B=R|J8K5m3cod zD_uiQf!X0{d@OLXK3{ib0wzb%w9~EP+u+bOvV4ZsV-(*<4gPqBRj~;(w(A>|$Of1j3x+qfZ|_d8u2(Vv z)4orvKEv`AXJ7bxIW-MA1!l+Q8rAKt(+VnwOu*z=ooa^lUMe_r4LJp7$DID9>}t^; zDThqJE*EcAU4KO!; z+BV$IR&tzj$OKIL-t^uKYx^l&R=S3q0<&Y}wSo5F%^Q_NCSY>pI5EQ-xdIMdLr#I& zQM!3gyH|q?${`alIdI)2_IY&;IR$1%qwsgV4*p|JfckB(gs(r_`MZKryqaN+n8S?i z`UWMk0p`Z`5~J+Y`Pz`fFB34iV^Ynu>I`O|&np@(Own3$3e1i=Pr`qj@%J|Mw@Wes zlVd{0nbxNIaEOLur?uo1m>qZiiMBsX_=ozNADMv3f$J`@&#P<5DKI-W_Nr(nnP0}H zeu*+OELS;x{<)yf3@ceyW^C6tD3J|tY-3Pudrb8E)psGej;5M!y*H1~LEE*{t=+NT-G%M?hH{7o+T7Uqac+BP z+Pdnpk_njh9p{{nLo{5NqP64{m>t7MoeeBl&)>6+S0=R9hKasvY}Yp^kqt06 zsL>NsQqCLb;YVrP6k&bVlNsCf4N7DK%#Cf; zTibuWOs=lGG6BDKI+*78+*P9W`4yWCA9~o{)*V=)ivZ4m>m)ArUbtK z=3~0|$Of1jsr%Fj-#}B;6;v&NNJ5HLu9u zZ;o~4c71~q*#L9n_cf936fVq+3tD*LmLSHGzj}KBfVr{c zY9{+LH~&2jo^8{*9}G%qEiBAFY}Yp^kqt06Tr+P4zDf~k$aUXs41b-%I+~4r;osoV zG~^VR9V4Fn5P0&_Amxw=nB3c z(-2c}&)}#+cA#sNdVb|fv9`07ZW@0V{M_o@ts|M4v7Pto|1~I)4KOzf%#d{cGFroLb|xx!s^|MAPRsBA>{DO1Wd;JgaUYot1k zff*WEyI02DcXD96zCj6&mKtDgB#s&1Z#me&y0?oRSeG2w9fVq+J2P^PXbN-B%Ou)47Yq~VGN(^A1&#P<5DKI-y zeXuqrX*T}1ZJB_{k!W8N>rx*$bPYKLX2+24Csj@SgdH*glLKd#*yq(Xy+lSQS;H{G_tp=WQ#oV;rhUIr zp{4aa3w|F**N{_Sc6>U#rJd#wzZWhOFgboW-@=;z5a&bJkW=8;BY#@cuH((8&bds$ zFKfdFX#8F_uFLxCI_yGWRICfe~PJ!7mWO;6T_Ki9= z^;@NBVdZ&`pNp=V*24PG#fl^#gzpm%z#$rroz{|5V0QHVw1r)#QfhS^G69nV*Iir3O-()@*sgC-A{$_Cq^X+NPEf9$Iu4nD z$%k`J?DL9-vnRBcoC32We5wuV(tqF7TpGmZsfqEqXKatt@XH1z?>4B72F>!{F7013 zJ&prDY>(G)$pm}yt~>nhN9^xrQbG;vJKAzP9Da4lzMH(;pglx`W>rgFR?-2+rJ!$6 z^6nnKy{t<8RKO10=I`FwdpN>OdOQ1Gvi{pCrJ2o@Lov3qBza*QdI++39w4qZb|f!Q(e*p8ST z_s6QsN+w`(Y`d7u%$N=iT|-WR+0lQ{pH+OX`8AGAz~t!rRWdWeap)Ry3e1i{x&N-V zw=W-uOu*#W+ANv*g>zZy8gdHEjzk}HcK1Kb?sbfNhBr$Wu-Us`< zx`vzrvm@$hQzLsq{;ac1z~pGPIEh*MCEw@!yt;;*0<$AmvqohaFgdmzOl%Gez@cl%DKI-Od&=4?f8y(I=-X80(@VS- z9>d9j?fM2KvH|8stF2Y-^e>CswARY6Q%t0h7a?mf7?b$)+wtpI0;-JFO+B!0edSV6YvXfM3_j1WbDKI;#hyP7@_5t;8!hV^6$uaO?R&&(1aEOLur?uo1m>p#sN7)0O zWK@@xOu*!*&?=ib_jfo%!?Dv^ath3j^qZsYF}Z81*UmBllVkO#+0263--|sTqT$$S zEja~d$Hk4&_J3~kW*lGWN8>>uW67;-CxNBOpXHwvYLm! zghSVmQ($&1@{h15CHz=9WCA9~#B*89M?=^#E_b;C-S4^{or*BOuO0U>LvGhMD8Zu)HNf1MVMH54&Mu_exq3{E{+J!F z!;j(5S~JrlCvDd^D3J{?HwykU(wJPhV}Kko0n_%B?=?UouyHkJ zrEj#p&v)%|aOfIx3e1i~?wUsG()`(TnSjaB?s*dPqtbBb8gdHEj()Yu8JqT$ zSH~d}Fge;5Pinqj5)NHMPJ!7ms^R;_)p@m*LndHyEb5Zf^c90c*N{`-SjWf|#=J+Z zltU(9azrdhYL+YNI5Z781!hOLp_kofvZ&vRch;f=Q{l`$Co^XkfJ4`iQ($)7%vG;yqVR8F$+alK6m8#jDVaIZap)Ry3e1jd zQ`X0vO`{xsnSjahbCKlc4aXrGj-A$$Q($)dSg~9neFF7)YQIdt=;@5eBi>Yp2{H;Fgadr zOJQy*0f%Tfc3MkLf!R?hGMSyNW*g;@378z+yQegL&i$@vICfe~PJ!8RY+V6+`@ zArmk;?ec*P6GV>`CTY4|Zkuc|4*qdvC3eFh*M1A0vl z-t3T5y#^qz@oQ#>X?uJJ8kD@-pf)$w-M!;Z+J`?Ib+*y4;4mYXT6f=tF~Lb6GGlwZ zhD#>00p>=TM%j&AH5#bPOD14C^12Vk1#4wzpUl+I*)_1Zut zU~-fx`&n@1UO03OIR$1%hl%}+VORGmhfKia7;4XubPYKLW=G!yBaE~EL@9?% zz~oq;bb9c0G#t8yoC33>^7FCAFBi9}*R?VMlLNN`VxL#nkW*lG^m}&19Xh5yi{n4} zY(Q{$y|}jtS{K{nHR2?=txyBZjUHR0?Lz4-bsW8W)eUz0hcAUneS;F& z0CS^4sVI9~o2=@5$OKG#WfiLzyqXlZ4_!k}f!XoVtl@Uc=Hrz^CSY=`$XY*mClegH zhMWSk!>l^MPSlfsmrN#Lax`z-AZX`>L)VZ~V0J8C+SwjI^FMVQG69og{GEouh9%(8 zHRKeS9R(x3_SIoo)qROfz~tzAyiss!ML2W~IR$3Nya5&MCts9N4w-<-QTu6=U>^@0 zx`vzrv*SX+oOXqa{FytMfXUIgTl3(h+HmL^ath3jTzj7fekk2Z9fwT7%;w&KE^hv}JDGsVu|1+g zuv!Z^bPYKLW=Drk2V%A#K@CRo7kPe@m4Km>kaz zMg|Kw4qZb|f!R^;&y4QGP1NU*owX>z6gl=q_6(+Ij^ofZsP~ z@2Fb#F2Amo378xU+jR~e{{s$PLr#I&vFQ5onBG6A*XMqjfXVSZLx*6Y%W#N>W2d#` z6qp^$e(D#e4UDR`nz2 zdhLl@v#QHVCSYoZZJ>{4$*Mzw3eI#v*Xt-(e@Wd zE&8_!zf8d7kdG@quV^@ST1!rW*%A9XO5N|$tDljvw*x$8kOSNG4N7DK%#A?!_28BD zTh+g@$ag%FB%23@%l|v?Aal_CXx}T^UV7PJ!8x zJp4Yxxas^p!-||+gQd^#=f!%J-x?ftg&EuR4N7DK%#8&lqU_e+^7{-j0n@&x8@n~Q z_#r;4rfbM4Fgs>X8*Z-}&hInG1Wb;P9&HVNmjLfA=^Anh%#M#f8esSQnBQlR378yX z=4=ZNNdt$jA*aCX2(9dFXC2A!Gspx?j-j2l2j9F0hpr)~!0gBt{$1n=P5FHWnSjZ$ zv(b*Ay8s-zhMWSkF-^hMWSkqwar4WA<+1_ZegY zCP%B8pL$O>AQLb-KC81gn8tDF8gdHEj*1!6yC3!8_ZegY zCdY4?_66T~a2&dZoC32W@5Zt2p^x}|2AP1#asK}PV6kd&=o)eg%#K?JHn^9X{62$B zz~uPg;=$m=ig4%}ath3j@G}DS_(W^b?L0FW9p1Y`-7vOGGn{GL5XaDxzV@TIQO-U!<9oOVA|Vh@9hhI{Rofex`vzr zv*X^%OzzEf`F#eNfXT7gyEo{60Eez2r@-t;zVJ%bQP=o=2AP1#Va^Q&b2|=QLr#I& zk>dJ+nB)ieeFm9;$?@+4JJ|CfjzcsYJFO+B!0Z^9vQMDtNBlm6Ou*zw(=!nCK88ay z96PNgr@-teuxERqPLSVckO`O^#s1qJJn$S2(QxdvmYf2!pId*=# zE4a_aw;P{VG#opvC8xmbsPQs~UFH?P&ma>pIZF558LXTf4$*Mzw3eI#v!hPgiuQ@) z{62$Bz~qQ%z9aZvdN@SGvC~>|3e1j;`Mmb$NBMmQnSjX=>bgDHG6x)@;n-;{IR$1% zm)@Q2$({Lq2AP1#armok!7GK}5DmvpYso1vJKAL!V2`V^TfIJ)378y<|JxeeS{4q` zaO|{}oC32W&B)>Qpoj^|Armk;c88x+2TV9b!?Dv^ath3jONFBBn5Nm3LndHy%niRz zxYrmC(QxdvmYf2!qgD8QhB?EktM?gX0w#xiT=98D!?Dv^ath3jd6oCL8(r+D?%O-0 z`#HEa_I7~B402$*zCnp>fVpA49&3C*bc=eQ;qr+;f>mzvWin#mAHhV2n6X{ophPyn z+$fS|gmHf981?#GCSW>_h}IW_TffKo&^6=~m>pM__cKz};rAJ20w%|?Z!QEYPJ~0( zkW*lGoVe7%7~GTJXOIb)91okF3-;;`hpr)~!0cH1Z++v<0e+uBCSY>>F#VTcu{v<* z8gdHEj@j>3FxK2DtFBiv0h6Ot$J4>iCE?ID0Q)u$OKFd+&+kXUR^^@f!Ps$o@h{){-fK$@Ou1OAGZm)Jx;^_ zZt`w}ZfV?jlI()JM>qBNwSKaj#rb({^XEr{2@5h~d%T7^LTXSV8(?m4*a8_dd<1;x9(=I%7qkT zyS_n*Y=F68u8gubR7~ln{gnxrw(rf?-TZYr`+QzqLr#I&@i4&%`?E`Y&Se57$I`oz z=DFYC&^6=~m>o?M_P19}DKI-eXtgDVeX59Lo^&attF?xvBxpwdZ5X#k#=|~zf8d7xYDGx*?cY>bKf=`JFO+B!0b5F zE3G{#ZFA+2378zc6SOlUH^Ctqj-A$$Q($)Ft5wvln98FZG69q0bk`2%<1=uGhGVC- zn- zCSY=md>m;mm<)$#ICfe~PJ!9+sQ+-gTql0NL?&QzEVh>@bT<#bf)drP!`- zP$C;(G~T}Eq_yz9T38nj`E6GGja=_0?>63kHx*5WkHetZj=gdkE}6W$ zhi~^P$@yqIXa5NGe7D4;US^sdAE?{&?asYS;|(*mv*Z6YD3J{?H^z?}Yp=NfyK=|` zO#9sZPEWIfSuFOxMAwj0V0PSTKibZg*iz4_WdbJ0wGVrm*T=%4Yse`uI}ZLi%D&RUdUine!3+sS-17!F-SPJ!9+e)XdEA89^Pn^ zz5V(1rph4`FgXtFZ)5(l2@YLDPJ!8R;*plk+?wqwK!4x@aZft<%-zv0j|x~yaZCdc5-jm(HgaOfIx z3e1iyh9|IY$Y|w|378!F4%9azTqR;}AG(H|0<$B@ne#EHCiCYRWCA8fve~uG+R5P1 zHRKeS9fK34j5&0kKhGc&FgfrjLG1JD8gdHE4m{3MpB^Xb+%Bpv6Fg?f?Qt6ZcawJ; z^hm^w2ftqmY_7t8M~_#d)c$@~TeIIYel3gb`UWMk0p>=ReW~qVi?p!A%lc&kCSSTx zd-HCZBC+ROG@L!5wd53-9W7JlwU@cn_Zs+R0wzbj`5n!Zh2Rhk$4+a>DKIF6P7zaEOLur?uo1 zm>qv#X=2})nL#;Z0w%{Vxgt&X7&t`3vC~>|3e1i?FFM#CCs+SggQVyAb$#JE2FY~~3I7Gv-(^_&0%#Mo( zqV2=cMPtHC`DFqohrEyRc}2sq(^_&0%#QHV>VBQpdQoJ%r{6>VTPxzc?fLH*usu%0 zFB_D++n_c#R$nS(AI)D;c_Mf2^DN4dTis{$eYwXIQJNXs^$kj71I&#^bF{vLUa3INy zG3v6C378yR@&-IDYrvsv$SE*8Y7QPAtJY5}!t|6zu?D!#9N%!iSd|Al^Ob++F-JZ?P`Or1w6qp?kwtwla`*^52 zA2I=xV{e|_o|(?|O4pE6V0JXScfuXBwYPG}1Wb-wYj=76^WdE88gdHEj+NgeHWEH- zs~j=`ljEMT%X8Ja4eAnSjZW6U!TArmk;%-lOYFUrHAYse`uJBl=HZcI*{ zRykw>CdZk>J3P6{z@cl%DKI6EHbu{IuOuDK{LthMWSkV`jfm#+Dh)l|v?Aa?}{O-Lo=19J+>_0<$BgS+udg z+n4ISC7FQ9fyZ-VpI6tAQ($%&`3*a1Lw=v(RkPEcaZC6)10KU^U2NAkD3J{?H+J}= z?avEEtK%ql@vb$$I;^GCC~3i z@!1buLr#I&@kfhccK>Q$D2GhIreT^{CQ(sm*n<14gb5zyA8UAa^vO?b?wt@b14tmr~JUr zqv<%t9Ad_HeS;F&0CVGq)2;0nUnXGMTRJyauCp)v8wzh5>P*p|&{}c|%#KPo zdfE?;{T3jHOu*!z>)6Dy_{_FwICfe~PJ!8RtK~4eU4<`{LndHy&~2sJI5| z3e1kuW5(FavKLhjnSjYbxA}+P!yy`uoz{|5V0KvJqU{8W#;Vt9G69oAUf+CP(Qxdv zmYf2!Bldn*U9afgvR~P_*CldbyS_mQu6@)1bK{6N+UPoNE**z@oWN_qT7$NGu2f?m zUg_x@l*k5{8!hUNGG^v$Md!mM6EJOGwST*(d1+jCbqzTMX2*f9LyRVYWy&EFFgXTR z-Qn>UfxWsjz7lk^yJ9`hpr)~!0h-oLs{eb{R+w< z6EHc9%R4;px5%yC~nHB>od z0w%|sCA&TQBjC_AK^mmJmv7q1Wb;S#RHzK&T)u_W2d#`6qp_NujUI3 zj^WQn$plP}Qab{kqmDx~96PNgr@-tO{L&w&8sN`H$plP}CG~92OXqqe8jhXTl2c%I z6zCBMy!lT37Pem|U~*g@8T1@Wj?{@X(zvq+*m>h}QrVRa>1P)z8PJ!7` ze(~X|4{!2)iA=!c_%| z3e1jD=lcbYr{TZnlnIy|53eQ*{geU@(QxdvmYf2!qs^Ngfgi>XP`3}6fXR`gM6yuL zG;oN9W2d#`6qp@z*S-kczuQqcWCA9~^zlhU^)kUB8jhXTl2c%ITL}Z zazy`=B=l1bI7Gv-(^_&0%#NR;E80!R@!xaG1Wb-%9g>7rINyOS8jhXTl2hQ=<7nZv zA57xE=adPU9Q&^%4qbD;hyKdjhGVC-g516NiRY#$_cM zj-A$$Q($&<%QwJoc!R$;N+w`(tS^~3R6X`LB79!aaO|{}oC34sMD%dG<8S=EQ8EFO zqu;|sp;|3)9HQaaX)QSgX2-!IQTC-g{P&zP0h8m|u|%Ok-QW-n$4+a>DKI<6hX0T$zP7}(Tlh?vy205@@-=IV` zz})yU{Jl}*1N^;Ft8-=xZFtR&!#A^r=Kao$?fM2KvH|ACiR2@UfEeDybT|HcPMLtok!pOF(B64)=o)eg%ntj02P1P){(DZDfXT7C zedf@`5pd`lath3j)R`L?eZn8QlWS3eDcWBBS;o-hc5vt#ath3j0}U$}`*-l)bIJrv zj<3382yJkF$3)kVQ($(aDVoDLwTSnM$yYFs&ivONd zCSY>l_Cf6P>Kbwi%#QHWT!XswAKeaWROH|D!EHirkJIqKo4nhgTN*d|C4S(pFs}=F z{A8c?9{=qd9Y^Qb-)F@3cnx)g)SyH*z}#rpFo%(ULVa~CG6B=x(z*G^`E5X5Lr#I& z(Y$U2qh6q_a>xWs4!Vw|JCEN)(lz81m>msY*Ea^P$*vqS0h5DnEBkiCp=-z~Fgw2b zHT*e)Pxx;wWdbG#-R5sEghSVmQ($&%pW4sZv!DOgQYK(>(0$i1=QpZ!4LJp7#}BWE z8{cOb>y~R#f+^Zg_rW#V;5c**IR$1%p77sVmhkZ3TFL}W4tcxrd36mr1!hMk^RWA$ z5`ER}gC4zR7vS3mZWH9d_IQmriEMzmF*y8q?rBzC{hJp(3cn8WWkQeV=1FF3*EcAU z4KO!46^^p|*372PhfKh99P}Ke=VhD^T|-WR+0iZheHmAhPf!k-fXPA6wYuMdL)VZ~ zV0Ii$KfrG0-mM%m0h5ECGnRM(hpr)~!0g!EtFxUT^09Kr1WXQk?z_qPZCPDIPJ!7m zqL9}fbTF&BFOdnD9P}Limh-#Fx`vzrv*T6GiuTgo{QYn;0h5DXiyVr*&-ZzC4LJp7 z$L*3i?aIH@Q^z3_FgfTom5~>JQ>|;rDKINRdLICKp;1!hOyx&s1to{mt*Armk;=(YOJl5pr6ath3jJCjbw zL@nXZQ_BQQ4tmcaODQ;X4LJp7$7g3&RlRYaKN}?zFgfVGlcOKPp=-z~Fguptjc}Kk zAEhoUnSjYb?*W}E0f(+3r@-vUcXWh1e{((`G65?``2DhMAHbn)h$(vaiyG{>vFHc) z{WJXia54dt1CJlX;oq*&G~^VR9pR^LHg)Mgyov+ku>{-WH2j#NSBjM2Q3l(o&5h;b z7r5u8Q=cRA7f)8s%J^&g>NIs{OlfOU$_$FJJzm2l6WIWBc&JBn+&%&9@Jkfay4TH~Yw{ynuZ^udX4d z!0g!Fyw*o}4I&dTIhMAlWVs!Ot|6zu?8tC1y?aDAJ`S0Hm7_{Ut4r)<=<{kDVrpqD zv*YI_HXbrq}F1vqpKIR$3N$it=Vt%W{P4w-<- zG1^ycRFgdP0t!%a50f(+3r@-uZmH$>?V8KY`kO`O^ zMZT_VmHYt?T|-WR+0i9(O`u$r!O9^MFgb94MeOtH8gdHEjvH2Ed;FzLHuWRZRkaFc z&!lc2GrU!;o{5>UUEiQYHo)9ynKaUl{`yuRtnkYOOz!hzt6EiVma3N84GGjaQ#rk_ng`uXb0pYJCfbXgGFSOHP5=5&AsZel=r&dR;3MFga?4 zk7L4kICKp;1!l+3{m0n32Y;aM6J-J>$DQ!`=-LeqT|-WR*^!~taQj7xiOL}pFgbAF zP8`19)imT3m>nHPuM52Q1OI#NFC!{hQy24X;@Yy0thN)Gv0dMwL^idPj5f&(^NTR0w%{FgQ{2wEjUEOvC~>| z3e1kK$&1@_zpSPlG69og;{GbumnGp44aZJv$tf^9{<~GpKKgwz<&X)O9Js$C_IX9a zvC~>|3e1iYXT}5)XXM{qdT^?OH8O_xH_6tDR>Jkn*sgC-A{$_C?AS9akf+x$bsRDQ z)4t<+#m6BU;oCXy39Tik!0gD`F@2y`Fa9_BN3Y6R|w=U>fVs0le>6mmJuxZ%`r|U~cqz?Q{2DtX`k{ zafEVRVr-Ash?8JXWSbkaZ;Z98yLYS4z3!+xKXf|pd+L1TD?C5+;z2gW*sgC-A{$_C zw0RwEFP;DIuCU!N6EN-7f&%kH!}qh#=M@bXrf4lW1!hN|6w!9Bu|KNETA6^!@xYuP zYPb*%T|-WR*>Sq>XuH`lkGk&41Wb-+W9Nq^42472kW*lGoL$`A-qzwTb-n6zbwTLq z0X`r7TP_G~{f-&i^$kj71I&$~-wm>-Z&*hTzf8b%95eo!A38poeLk;fxG+U)$tf^9 zYX39bel<2)Ib;GRN69JkL%zmvh=yaQwd53-9Y1y&W2XufQx2Jc$${%GvCk_Sj-A$$ zQ($(q>s-K|WY(bjUDt@~--O<)lwI8>hDLl7I{!X1w(A>|$Of1jE%#TlOMh5e-M7mG zOztG+!qD)f?DKg=!-XkYOHP5=v2SEOd+YZ(`Ef9It#=!Tr+gjy{a>69(Qxe4kW*lG z%*)=!ZoVR!a>xWs$ARlEvCk_SE=(!fN9^~Kk;p7S$muh(Qsjk){;|Tb|e{iH_)|?`rReJ zOu*!rcXm-IV*@xu!?Dv^ath3jqGQt9zJ$%y`H%^i9JuZh`@Evz*l8^}1!l(wJN8xk zoxeZPHFWm(p*$mbf4}XzJalplGq&p+l*k5{8{;o!sM_%re?CzrVA}Ts6_$kxN8z&4 zHRKeS9Y;5;h`FDiKkFpYMoO7=`+*92?KDoI%bfF>dZ>y`TLX|o&W4pdViEMzmF*5Lj+jE>> ztH}gR`(EkH%FvY9+oR8`Yse`uJMOn`?Os?(J>PZKq6Aaq!1apQ=hZdj6qp_Tzw{V6 z*QoDLbR}xJE)?~U@B1dt{~;8ahA%5@*EcAU4KO!$q%C1IURG6|51D{z-!~mx8){hy z*DGB^PJ!7mFike&;sf=WZD%b?Fh!1Qf3FD*tpbOxA*aCX=rSdtaj#-~bsRDQlLOZ) z;_!Q9nueSLvm;|?pHbxKBK6#-dyfsF3;p?g6iTuolzTQaw(A>|$Of1jC9n1|l7DeT zIb;H+eNR1oeQ56%JPzs_ath3jzlL`*J~{YIIb;GR$K+S*LcgDdL)VZ~V0L_writ-7 zn31nnv1?I+DRSVtOYHON8gdHEj!a3SjY1Kd=sC6jujLy;^@9Ao_VWG>p*nY&u{~bH zB@@{IbK};VXruMz1C?nXWdf${eGhC1UCM#WO4pE6V0LUdH`b`|M@YTKkqMX_%~os( zrK<&pt|6zu?09^3lreHy19i@20wzayah>*gbqzTMX2<5QdKkAl|KScV<*%A@eW+k| zJ_k+atq(nSGh=(ahD#>00p`YpZw484POc+|OD162UMJOt(4Rfn=kw|sath3j8ry~& zcT0~`4w-<-Q6PL-J(>lFt|6zu>~J+0W6b!hgmTCPOb%Q_iG5yOLr#I&QT}`Zqtb=y zM!4=Tm3(ce)@pvAVb_(lp-~}bY>(G)$wW55+}Qo7lCkG?DRQ`E0;cU5*ZmMWaDjb3 zudX4d!0h;^OFd)izMRS-6EHbmbz2vz{|pXYLr#I&F=~5j<6?FGJ9?Rb$$@JqvCpe( z$SE*8YTTaSPTfxZJEuP);mT0oLA<{|XImB8GLjkF<276|kqt069zWXd9y$SE*8zMXZ`-KRePo0m+$^S(Mj5~kYG3v6C378zX_7MBLx`vzrv!l=HGlAdE z_EL__=N5&$vFEnowQobWW3Nltu5VBx8(?mH^LkaF&M5wOPMLsd-}kzfgrY~`dZlZ~ zDKI-S|Jf$cD*q^T95Mlu1LvIB=hZdj6qp^wx_j&de-=@W?*@Gx`u;BO?~q_!8d7z=x3LI%D*up6EOKo)maegTmsJ-bPYKLX2+N( zUF=KW-c!dR6EHc(pI8v;lo}3QLr#I&ajsQ!d)2En>U_uqOb%RkiG5yOLr#I&@ob1U zP&2@{!K4XXduENxtlqO+{&m7VH99e4yS_n*Y=F5jYyGJ3_i{E0&_34w)3vAX=UJ2k z>&or=1|_lq=0@cgjRFZ*^Kqmu@g_8D2|J_@+w~1fWCP5N#!reGqX!yvKKutheigbi zh#gp$jsx4{HR2?)0p^D9RC!}cg>uS~Z0(Cs#)|B~y5zw2c#SxTY=F6O+3hx7*Dt0V zB`-b;oqWva8S9b*+v7FjB(eeKhMCti4y91{yZ$e-Jq;b%!VauU4s4Ith?B?$m>b@h z#(`Vk@;RSuJ_v38ogG-09N4aJP$C;(Zroc^+pc82Z_`?9ay|-eD8%Oj>&or=1|_lq z=0@A{roHw-VdWT=>2WCkKz2wUw(A>|$Of1j?N^qw+jS|g9G_-+8p^+(9axu+1Kaft zN@N4fjhZ|7x0+z=? z?DL9-3sbZfj#f6{$Oxc6;l>8F2ACVI!~gF5AlY^G@6Iv-)4r$Q`#7}k6PypxaAAtpl2c%Iw7)&Z9#=BAx?afy zOpazZABX04gG1MlQ($(i8#c^t&~uh@$OKG|;%T3RhP8l0*N{_ScFa89-_ATOMmb~x zCI@aG#6GXCA*aBx$Fb%@U~V=3w}}zgpNFD+{5)!Vk>{a^Ud-68Z%`r|U~b%=9AVd5 z(o)@*$OKIL{^_V^p}*VUIh<&?Fhy(0DKI-SeOK5XFiPDg`egzphwIYQP()ogM8mPu zT5<}^jz-fxcGXS%+fFh8lcGk;r=cn3;SdeSPHV|2FgvOiZ(-LArdF4gOu*zAa`{Op zG7lW0;n-;{IR$3NU)j3bNv#xn9nO3j$Ivxn2LK3H+Mrm z_gA+1_d(Y$-zC`d_ej1>F7|NkS@tP2w)0;7zXm0;0p>>2S07dzy_f$jRVH9M4)>hb zp^Z~;K6DK^1!l*~1SexouNteaS26*UqyM6pADKI-M?*w<* zLHr#;<2{M?Ozq73+plNBJr4#jW4pdViEMzmac^ZO_sWy%vU14;O#6=O6(5JLA*aCX z`2E!?cb`#%>9TSidy;t1-yg-@ce!2Ppae%t4KO#JY#e2j^ERT#C_i3}%5{mcJzgVD zBKHu?jc3fkW*lGoNG2dP;VCh&Cj-j#ZB+WyziY>6f>s|#xe1BeS;F&0CS^#`1QFf z_Vu|;z;qlps(fIc?Z-Z!SJ#kJV0L6^QZg{4I=}ZS6EHcVClxXC#6EurfA(C{kW*lG z{2Iy{XjDAPkZVzbDcX*6PVDpQ8gdHEj^{(d-;-MBQ}y}8J55TOO>gnPHOg~??fM2K zvH|9XXVhmgiTm(3*wzs_fVc%RQL z)+GnF>l>8F2ACUBeHT|-R)LSBQpfkrj(6CBb;*J4`UWMk0p>=&SN&t^&SFQ#*14SH zz`EqXc71~q*#L9n+JLhGb7L=cpO|%BR&#f9J|B^{vzc?>@G)V#zCnp>fVpwC@i&2k z-}uyHluW>M9G-gF&8bgu8x#!}rf4lW1!l*&&l?8*Jj9jt768pTO;n-;{IR$3N z?9YeWb=#=#BMYyU-Yoh#@9&|A4Cc*|%-F7PP$C;(Zj|Xe$ZmR-UmM5-O#7a9Vg~cW z?zpT(!-XkYOHP5=@yCiD_Q_m-sMiKE0h1$7_KfClP2dm>$4+a>DKI-u4QXq;MnnHMBBTjosx_p`r$^^C6$SE*8y4{MhPZdq595Mlu1J_;R@b@Qb8gdHEj!WN7-Zdcnc{S?aY4W~V z@gnbU=+~U)%io!?UEiQYHo)B2KR8uj-Ix4aR3>0@m#dq@oN^AAm98PD!0f1&VOU`3 z%n|B1WCA9~!gKGLmrlc>Yse`uJBD@M6zI5rpmN9rOpZH~vze}+;m|eY6qp@Nw%iHy z9@&-8N9|AGO9%yEZ!f9FleZ*KpE8QbGE zTr!ajFgFstpTK?T5np#@0;YY(?St6o)ivZ4m>o}!J#rWLwX-^oL-mW9U6=8`*NP}= zy0$Z8d%T8ACb9wM#^xjY+&SLwr_Q-dz_jnUMEE##4LJp7N8c`e?1XoYs{5<8_e+|d zqB+#RpJNYcU2NAkD3J{?H^z2*6IgY*gH3ByC|knpQJEbt-6hR^rI@i@-=IV`z}!gt zGL3z^HUEu?Ou+Iuh<#qsaAAtp!qLhGI~M+G2UfRHe~%M>U*rSxPGjEp*2jvOt7|f2 zyS_n*Y=F73{n)iY`3c?VvhvFWOnZgPia7kdh8SnM;;e8=eA?Uc71~q*#L86(SZelHA#l5IJ{2FB35B zyS+KP`S)P<`MkP@oC33>K`5$PuJQa{hD^ZZNRly^=^hG)t|6zu?6}+F%I>f5+r(!!)KlH}CJ24C%~P<(RQu-=IV`z})zK zNK&KF`8MjD%LGiv(e7D#Ge>P)R=S3q0<&XOzKiY(S9&OiOu*#$)s@Ly(Gm__Lr#I& zvFqRu?w&{aZ?I$nCI_yGXCA*aCX__RzHBh%Q20qQUMDY^MH_H|U+8!5~yvCki{ zUEiQYHo)9yHl?|dadR4VS;+)U?voWG%*X%oW4q6*Yse`uJC>fRVMK4_-}#XVm>hN1 zr82W8!THcN z=>&Y4RGyO5-1%YbN>zmK3Ys8s~b4{GEu7U9=^qvu3 z%K!bK2=n4^{9bY1Tq(_5|1o1b@0Dn{WFi}2Zrokp&e+pG5jk8k0n>KxljP=c=Y3IK zLr#I&VZG{U^p4`+oRkTe97kR!Gv6zZ^Py|VDKI-0bscP+`DC>^=Q0741J@p6pI6tA zQ($&%{_3`S$WQ9Evp@5M4Cd8O_#E6Co6h`s4l}mLYq(@08(?mv>Ydui*MtAYL?&R` z_sHdG%-*Zm=kw|sath3jd6D^z!kKESb1oAwIkG-ZW$v-z&^6=~m>o%uS2VVK$loI@ z6EHb&4JGz@bqzTMW{3A)7I*$~>b0{U|B_2jtF5c|BkhMWS&9!J_J zHuq0O_#uzM*?;1Yx%x0Ow(A>|$Of1j4N_IK zw?EnxE9&;Q-&47%7iC=i~SO z$IQI3|1OX1@ft3f$Of1j{>j7(cJY3~5}{^#nPRfM#OCj-1w=HGJLYE88W%?rw9@akMtC19d$?jwGO&xKKWs)g)Il%5X~unzFI2NV}YZu%U~_l3mc8ar^Nu zPfWHxY8}-kopaa*@Z4LjJnxv+g*EDWf*eUeGjTcWj3?b0^;^Gg=|I!mv8{L=g0P{B z#*$sooUx%=Lr>31{2f9~Zl8ASpBOjyI%gdX-Kh6Kjn{#?o*+jO&`eA=st1+c z&exEo15I-kz%Ov5?%18&A=HB$w5l6Fu*dIDVc0qH-oZ)Njf5q@U+tPui zjQcl_I-Dbsp(A7$G-uqc8e+d&b%;84r2|bFICe?9oH{~wL373}vyriKb{dtDY4d(Z z$X)*b`nmN1$HYWDchvO+Ig)^8VoI;7MojSnDnmNZH206W4m!Hz!?w~9vJ09sPXANJ zD3*$^Axj6EG8``sIP-dTFL)^XRsOt%GBmvDtzUKps0k>wU4Cz4A+|SJ2=NPz< zvwhbrHH7Sf=8Rfbdm7DZ?Nb@jfu@YMnf5!9>_di*kX_K6F?(5iW6-S^DnmNZl!0TH zw9Ba@WEV7NqooF8gD zIaya_NC%oSvK{a`(nKIbN60Q{&R8(t_dd>@i|Vrg(t)OomMgrDc`Gn)~+9&BV^#&w?sB!qm2s4m8aQj{?#zr;d()rBiwCM;@PZ{5YO9>Ux44NkB7kJ%h`$b2HzQDjjH=`;7wU9EIZ^ z|1PJFkX_K6Va!YJd9zYohx3m`4!S4<`-8O0sUu_;G-tG1G~8C1+q<%0OLDkRu6bCN3N}5Od}X z->Wv*bHWiC_uU&9moiY-6XZw&nu&}n6IfY`w6bWdF|kJ-(|+J}jA?hwv9(y7j;rel za^ewjG!yo3PkJg%>P{JMbp0=pDARGr!91MjatgvG3E2hB8A&=W^t^wOI zZs|bNIw}n~?8xeW-Yy6mx@auf1Vr3KT^-a+&9cY?6_Bm;nQxG3)zPX{{h^(B zyaP&lRNf9 zTivBHqytSE*dL@_P8}h;pgH5=`JvX<6a2dN>*9YqcI?ITwx^B`2lzYIP}dXWjGFz0 zfM#ONxO(=k$A%idDY~zodhU3=l`}9d%^mdsBAz1&XeP|ot2~i4`csDQ_<8Th9nBdd z+P`yT+QJ%jJwc8npqaSTy@zLJ0e*i_I?$9|Ys6be^L3o(`yZttWEV7N1TQ)lGkzsM zZ{;|kG7iH9`{mHQ_ z4gP=V2-yYA8Ex!MtsHZbtNkGzXv%nc_M@Yj|FyG@kX_K6(d=K-s{Cg`l_4Ey%J5YG z=(uwS$CZwdUC^Ad^kY$Lbq_;jNC%oSF0K9GXnh_TIzo0qbH=Lj-&mK&@%@R?fu@Z5 z@7_BO9zceUkX_K6F~IYOC;z7|Y8}#nrVN~~Nc(2_I;-4<@gcmd7^ZnDdSo9&yFb*u&s22 z?1JWu=|_fJSI^{C&wZo=O&K`1lXf|EgzSRmj68LRc^($$>m|#wz4m<{03V|h#=UXO znaLV;Jwc8npqbb`Y`dqbSKTw=mJT${efGR}j-x~I_z;8*T{M>Lg652v>;HHvO=(Au zbGLM$DdU%)J~$#;Awv-UbQ()`L32ik?>otzp-z<{9caq9n)0Kge;s59!kL zv1yl|IV#27(~i2HAV(6=Ok7!ZA|_dsx<=-f4m8aj+ltpA2phU+EZGIk841q$-dB6U zzmHR_)dRql&1rMZ)%7_8 z<5D*20Yp4U63|TaxYXLpFyTLS-YvX!o_Vx3&mH4Z2I_i(97#Ykkzvnk&(uHEXZ3Bh zCoeG5oZt+MOBtx^334O>&BU&5$*ijX@q1orn?;z*nw1D5tdd1UZs`W}@Eba3gw42D%PsYddtV zd2JJKtCPd$nwQIR9_o6697#YkQO9?Uq1~o@^jy>?9cZd!9i&}O9U;4*Iit;!aHCQ9 z5!&Z&a&WH2+-Y3Y1BiHzB%qnNUT&zhb5b*PPBil@F{}QWK<)F!w-=kC4OyeEC&-Zm zG!svoB=O|*^7E4X*A|<9-i|*mtpjyEK@Mg@1T+(?laKQl>G*plHjiIyUVIX_j_r%h zNB3Bxt|!Q8EC^^OvMkKz*_}qM!z~?Xxen4Uryy+TqOq`ANpQxX_M1J&xAJG)8|Pna zCipM@+=)P4PmqJv5&_M`CC5ik@>Ffrc{lZ@Mdpy4U#orYe6+}{n36T>dV(BDKr_+d zr^}wiRk~4zTRPA*E3AXG%P9yOx@auf10Lq4m7O;`<%4PDF_?7Xe`+U%^43D46|lE zt*o9WrnnqoKHI|cU3w$J+#SIhbv;3jB%qmi7Ui;9u8p7!w{)Os?wub;nAay@TM5F3 zE*eXAL375pBfDAct6owW(t)OoW}hR>4g--P2!A?_CA*+G!*RNWHS({7YJW%vnlfM16 zREBh*Y3>!WE;dJ>!M4&7vI{zHRwur)dah}uGNc1d83kW1G7}v{#w-mXyP!E^WRlF* zhwV<4AsuMSz;Q*|_gnEALUuuOM$cqr?GsX|_wL-e6D=`o-{kqWzp>cdeVaAv0fbFD zl7MDnarAdV@AvV0kkWysxo3}DY|graZKWe*7c^)5PGGT*9cap!JZ-U=IBrcY zr;d}FnJw;OWc~1A#xl7Ev2Y8z# z7`Vg?Kgk;P0Kz66NkB8PvhH#F_piIFbw~%A=AQVcC1%Zw*dIDVc0qH-@}*Pl7q9d8 zOh^ZsGH~>eb~$x~?1JWun6@R164ioe9q!jbOU<80@q9bK@*T%<*W^$SAZ*f+1T+%| zZlpB|w^N_twMhq>=8mmS+U3*{vJ09sewoq8c%LVYT8C@xQgcUTUdJy(mYVt7#_fZ+ zdH`VqL5?J#naI(tiZQ1Hzh5gIXqr2=2(Lp&$S!Ek*cFq{s<4Rf3-|uA%)C86{@iI? z)b)gN#8!~&b2*b#Zee-PtM9;z8N-&DsaCN@oiqMFf*eUeGtqNh8|%WV zPwM%ubfD!rcv}g=hAtWltCa+2{Mn$YmBh)PB^y$7ng9RbJm)eq^HE+0>Ux44NkB7k zxnx7DV&Qa_FWoI2Xqpwa6=~n+AioecbkSI{3z{>YJpI;c{H`Kp*p?q$YCcQD*ZPWn z@*TTxc^#&BVpuDq4Mh{7$VyI?$AjZAIGU6od_3G?wgw=8SGJsjM`k`MT)Q zAC{UOs`5HIk6vo7EyfykJwc8npqWUSGN<)J@!Dz~(t)PAV_We$1YtuLjU~IFIU~I7 zbkD^>1J(X`mwt&kWCYJWdi4_1>dG2*Jwc8npqc2n_?G9%$xLlFLS8cTLTbH)4zm!fY4K z=i2=hBg_GDuc=Vi6XZw&nu*jWY8t6eZfu_0N>=R+G{|ehmN60Q{&iHX$1><$U z(keqb(3Ek0U4(feH!^gD?1JWuvttVwdGb|N8Pb8K3>>?pT}~Y#yP!Ga^1b24`wQwf zK;0w47n%#E@U@q*0~VSS;;#Fl9zfWnBME3GwjB;Pvcwiu*L|b|O>_U%_nv3j3%Ks1 zBV-peXO!z0ZoHZ`MZJ$B9cao}ILNoYcgWBYvJ09s4(A_km_Im5d%^CL} z+l|zdim43gKvTxc4-3uesc`J-2-yYA8Ex;^H-g({R2kBNri}b&7Mf{FAVWvUE@;lU z+OMsV?FN6}l60Uc!?|gp`9mFK=m^;b%^A;T_cYqg-fx#PANkK%zY(-nem@}HZi8n6gp{^&$!AyvNW}@@=wT+6loEA9`_C%X0*S}C17+2Qy z1UZs`X5#kfoW{MAwP;(pu|hd6Y19LVc#fPQG!vCpHMCv~O{@0DtY%T>lZx-uI$G6> zGB+1xjk=y7M-tFXl*``Py4m-RI+sWXn%0rKT9jEhE9d#{b=DBF3z{?DHR@+=xy+yc zkPb9u6f&dC*fhw{5wZ)KGp^qWwT7(>SL=`tG-bRtqD*^IWatRl1qxdT${gPV z`$I>_E@;jumZg^`PYOOKN(Y)U4$qD<^LImrj*wl@obm6b-JYrKdaK8vbf77t^n@t$ zYzJiM2-yYA8Dqcx=$VL$S!Ek$kM->mH1^ol_4Ey%D_31 zwC~<14I#UrIm3N7lX3cldVkP;ynVD;HapMPDjRK{tjrqq0Kz66NkB8P(U!olCh+^5 z(t)PA?@1Qz`~Qe-r6Xh)G-q`C`;h(2Up>^ek`6RwJii@fj_iyK9U;4*IU{Aav37fr zP?aGaXv+BQT$EX~J2G^H?1JWu4Lh>h-C6nhm2{vf17{`DE~k!=UC^8{CtV$*`_1gM z4tKBnzU@An&#xm-Mw>rJvPM0C@LlC#f*eUeGqG=AWuv=UQf({gK-1jkZH_kI{El?b>$An~HdDtv z*7AScZC3rrd8q3NawGxG#GCLA*1(8o9^Z7`(t(!iAnkGr!iFvy3#*j`XAF8#$U2zb zw8;4;!EW`7OAklG*8fu;=XbJD(RmR|^eI*lc}pgH5;nkVc7W4f#3YWcxP zGh|5Iw)#8L+&qaj>Ux5lrGkKFqCl4j`?UQol_4Eyn)}&oQRc+?*j741c0qH-p(Sjr)E=vbmZJ!!Z=Dg*|&=D@#6{k64-LmyT1#<9lg)Zd?0>_ogbLt4$1ZM>*mL1jn>n&xgB9BCe|f^DTE zWEV7NbQ_-2*n7T~%8(8;MQm9VX@1)t89G9CL32h^E1@y(P79SG9caqHu}j+J)Df}^ znlnzU4mJM!Z6y7VvbDIg%bfQ!?~jCk?=l;PvqoJ{kRu6bCZ2uM%ZRP(RTo%N=L{pXwJyLJ=`ePu)2EBOFGb$L3ve6Awx&VE@;k} z(`$q=^=KNk&!q!R88~)HyPP^gc0qGSvGgHEjYH?v{#cqV((G4|_rWjkcbV0Dvqn9D zut`S}&`jL#G{{K%{1?iwNe7zh*yp5OP8}h;pgH4RtJcO>bNG4t*dCE)$pw7v6*Hu9 zQ4b*EIg)^8qRp+|#-U76YFiC?7-?4B&exFtx*Tafxyc&!0Kz66NkB6Z^1PE_-jYSfj2d z$dLpz6V4?ajhMQRJTyn?KvR9={YW!sbs5wypedur(@3-1 z&&YV7A!HXcXG~i^)R_LfzRHjeG-bSb9%+u~iVPhgyP!GasTpqUAFxoJ6Qu)984X`X znoWlwLr2IiXwGQoyC;0Z?9%GoE*)sf82uvBd_D;oIzo0qbH-1pMi@D+^6#rj2bwab zJ&QCQOOT->WEV7NOwKvjh$uB&JAO&K_2koNs0=?3cm`JGkt zT=cbi?YwrI@3E4Q=Z?CbAV(6=Osrd2)Yu+ts0`^q)7-CkBF&?zu&s22?1JWup1tgb zJxg(wAsuMSz~h{>%c&z|7c^(g&)h!fT?D^2c+)M?jCjJ^D(BEhbIMcJsOt%GBmvDt z?rEj$2ZH(jMCm}&+;jdCX*PV$c`m1x5M3ZRV||f1_EH|ck4!qylyPugqw=3nR8v9zDs=b5ucnzL+t{4}l-X&!&U zb4OiIkRu6bCNgKQ=?PCWj56HPfu^}f{~T#Pi`)M$ryy+TqOoKbG-o_JH!~)66Lnm< zr2|bFIIc+hUK@NN{OL57?1JWu-lx)8-$wtWwpHZzUFH;nx7Cn`yUZt9S);Be$dLpz z6RCfF?%DdWz1mjNfu^}*fABg4;X9M@OlU0G1% zC&-ZmG!t9yHL>chR@ac-(t)PAV}I~E1YtuLjU~IFIpb8)6h@2JKdXISH*$x6pJVPc zF6w%M97#YkQSJLK#;A{f(*Ig_(LZ*Wb>seTV_eEWJ%EVkNCKLPV%ZuQY0joGC?jXK zo&LvQ-M2eTXMaAHP!Aw%(vbu-6G_UqG?JH3NEtTiKvNy-Anm(PMnlLhXwGO}pt5ml zfqEau-FE0sbI4gf*DkNN(_EUI*MWKf;rpf#CdiQlG!qG8su>yP^81|9fu^}*i|{&h zgzSRmjHh$+7zta~Q2XQ81iQ?VEqEQHqjs9-XR}5|4Qtc`2%B^y0nJ4BGzIMK zwyMu_+N1+bbGO%tG`+uZp3A8tWEV7N^jJ66-aR+Jmnt1-$|#@3_gpIm89G9CL3765 zTifhOZ>anF{9}=WF3MPa+xNfZEHZS2?1JWuYBe9*yS3@4_PKPRDI>w4UFNN1e2lrA zIzo0qb4HsI>5MAH`16C(fu;-`p`=|-9U;4*IU~*WDptbZ3#fI3KZ-JY)#v#(KI*$q zrU+})^#nPRfMz1&kuui#ANigM=|I!m8?5%-?~@4IN=L{pXwEp6CYQCat-4puKNdOY zqKtkcqs#{nu+Mdb?1JWuyhjsRlgt)sTS*6+GPbnv-ACp>u5^U#g651)A1-+QKG98O zNC%oSQk01@r+Kgr9U;4*Ib%Tg1)iQ6_;d8qfu@XMNutcGTalq7WEV7N6e=3z$vJPB zT8DI?DdY3iNOSL6WatRl1C+%|T2-yYA8UKA1Ze`BDLtXdj(=gf$pTW-)J~W9o zTXkoRx}G3M63|SzpM_h0*N;)(-6kDqntN(r-mfO-xtuyec0qGS<3%H^grOZjLhFedKkde;j3|p3NF{Jwc8npqZHZvc1)D+jF%J=|EF9wiRiYQxG%kpwgotIzbZmW+#`b=bVMqs-i! zIAdVTD6{Nn)~M?VawGxG#JC3St@o*3scj`4Xt@s3zRxs#A#CWPv9MZ6aK^X)g>`@*fKAE$9XQNAZ+NOv1AuCXZ-T} z0IS3B*(yUi(3D}Nv&_WFkRb?vI*lc}pgALDp6=GtOs7?bbf75%$1Z7?QxN`i8cTLT zbH=;beXTJx75emP#fUn?DG%D}Np z+U3*{vJ09sHeYXGrAwT_Ainlw%lz>V-UmmWmf3GCYt;1wIg)^8;zG5KR>?Jw)&7tU zG-YF-lXf|EgzSRmj4LU|dNzE|*T}xv7wfyfgg@JNU|y_QWG!pd^#nPRfM#OIfGAI$ z)BKqq=|I!m?R{g-k@Gmu_q`t)LUuuO#?_hkJ&k_qr1pn&pebWe%~-SX7-Z-O*#*rR z*A6DNCUoI@=%oWq86kON&DA}Sp(A7$G-tFfklz|rlfRovI?$9c@SqF3sbo}{2=|EG)^Ne1z z?rvo02-yYA8KqLS+57Q5Un7$aG-a%R9BW2LBSS~XE@;jemnx@c<~x4hKswNrf%6q< z-|ImQA-kYC^oAX2EB?eQH11Z!SH?8g)HEjwGO&i0q*kF{q9_M6AEvPNA`kRu6bCd%JxXT4tcTCGDm z&@^{!D_(~nZ0Mq~WEV7NY*`g-b(&kmB0i$(esh7B=iX=Nelu&_|8Ugx1UZs`X2QOp zuJ!m2emy81Xv)U6BJKN~>Mw*1T{M>Lg6515*^5{`(yIG1Y^NjlnU!n2RM#0MC){uL zNXQy>Jwc8npqaRLq=GfJL}}VqZs|bN+_9}lyPSfsp^L_nUC^A-ZtYG_n`V8~{#g8* z*Iay==brl?uW65Ajk=y7M-tFX%;<5;)A1^QU!QcKY3>ax>@#aeaGuL42phU+EZGIk z8HdxSvKGDO&yq<8nli9INc%n?^@Z@K(^#?#nlr)|b`2^tSKWVQ8#pu8{P_*fH~qC( zv-1bmsOt%GBmvFD$v;}h99yC?+|q%jxjXZD&GB*BE~g-D=%TS?7c^(o{JM}Q!6J3< zpj$f7luf zyJf$BUL9AqYeRgm)#8qy)RtwI^zhtK*AwJO0-A}-4|mx64(G>*bf9VOxf8|uzV`*& zN=L{pXwEnoG}_*=KmS&Wbf78Yb)8tV*JEVp2-yYA8M%gKv%gHMKBMR#iyU-O2990Q zE~k!=UC^BI@oKQqy#=4!8xHoEed3;T{ycCBUxttESYqmDFeq9Y2SBQXb9N_%^BaF z4L5ci%|_Rj+{re^m?sDDb*fhDV$6YiSfd_5*rX!~XeOM^!;PgMrmJhO(t)PAhi;BB zZzbS;$RWy9K``vkuIX;ZvSIgMOW3GM1 z8ub9eCLKvYGhw%C7{BGrLm4*dKvVsANsoE281{#bkX_K6@ymlI#;_GBRfcq+DFa6j zX_r$+$S!Ekh@9}w{?D1VYFmAJXqij*JyEX>7Oc0-vv*me9zfWnBME3G@|H_(Y#rWI ztwTD{H22C~eeZvy<$dG(o(T;hyP!E^v^R@UqIW%&AsuMSz@8=Ta_R`#1hg+Mb9pb`KHHkanlq-bMm>PANkj1C3397!ms3Z`E@;kJ(=XI&P=$YMOFGb$arfM7V@w)k=m^;b%^BZ^^|oqf+O5vJ z(t)OoM&(`_PjVtdN60Q{&KUl_z13nK|3;N`pef_Tvu8%7V#v@DvJ09snjQPey1z4> zdVEL+nlkDndu+5ThYTGdyP!EEQDVE5YEp5PAsuM7j;Z&Ix&|_I#0k*_%^8*66tdQ* zHhCR!UF4uktz+UX<9Q8a=!iO^3z{>2&hm{lVPO+qM_d;<=%S1R3H~rD*GGnqkX_K6 zQK0Bwo--Rds|@KtQ%0FYmyCQ(kf9@F7c^&_Z?(pA>F<6jLpsouF>}FbV`g(?=m^;b z%^A*vKYM<5s^7x)k3|l;DC5?NBSu&&WatRl1;BN zBV-peXE&BST%v!FbV zFqI)4XqxSJWulE|XE@LI`=3w{)N>W6bBn#)`P@=5h+cpH5@RE@;kpaLnbIv0^Z-!z~?X%2;yyl#wWI zKe?QO@Tb#QvJ09s+Be_j+4Y0E4(FB*G-aIVa?$vB75hUF{&X5kc0qGSof^+QDN=V( z>yQpKWh@(h&2Zg9h9LauG?wgw=8SU1(_6U)tIyZEr2|bF+q2y=nmt5@ApGexmh6J& zj9+&aw-)^wq}CxFXv&!X!#!ipOJoSbpH5@RE@;k}*xX@#eN=rnm0LQ{lyU#yBO}Xa zWC+5aPGiX~XwGPGzLB-dn_8_yI?$9+#`DZLo|MlqE~g;;=`@z?g651`Uv;!@Y<}YL z4ds>&G-agA_|jOI5gCH;r_)%n3z{=N-{@`S%pavPqytSE*3el3mc8 zF(*9KN_};d%8(8;W!&2F#t1Hh3_#mNyP!Ga_U3Twm*_fljm#|_Xv&cPS6og(_|s`D*#*rRA@63|d#C5$sOmdyxiL5H zoPqxtl!3aQAV(6=Ox%kKH#T|f>RMk+mEuObt-MW=r7mGKUCJ7DJwc8npqY5GVuZ1I zS901PHt9f9J*HzRqs}z!4;>-9pgH3~*HB}}iyLxzr!UC^A-&U6c_UF~;cp5$9bU zA-kYCBTxHpj1E1TsC7sOnlcW3Gt;Q@02w+$c0qGS&L+3*yW8`7chZ5TjKNzM7+Y^5 zLr2IiXwLXERkXe5*4}Cz(t)N7JkCkGoH{~wL34)hG-VJ=fAn~+JDRVN;IS?1@d)?- zI{!=18H0&xlh)Wz+*hyF+_Pt|FiJP(=jR*dFErLUS)(36*rX!~XePePci!HnLWo+6 zbf9Uri>}NxR{38$>j>Ee%^B%K6C0B+H&+?bfu@Wz-;Xt>`>!+T2-yYA88@C6GHPbv zYXH)Lri`Xf`xr-a;WdtqkX_K6v2uaKxH+P*T8DI?RmSyZM&5+T&=R7nX`JSaVe^|B zWs@f74B?=QG8X(^&FFcLk2jZ7N60Q{&iH$Hi1EYAvvxTaIq0H#_OS9s_#tHI2-yYA z83_}H8XaBZREBh*DdT+4Qbx&D$j}k83z{=ZOc`OktM!e_kPb9uG)!B1Sgj;DV^Bz5&$bhM-)qd06W+#=@#jti>Ux44tceI{CPw?N zW6W6dEQXw%V^4b5uj2iYC(TK3;-aik*AwJO0-A}gX~V2*`94yHTRPB`jdhTAIR#-u z7mX#mpgCjBl`!kVUtYD2gLO`MkFMwA6?3O?QP&gXNCKLP^ZlC{UAC$FUfp{JobWEF z#~BBEob-l=u|_?But`S}&`ca{-^^%rlJBjR4zyecX_r$=h^-KRB=ZwEr9riA0&KmUq!X_O_Kr^u+Pcx&?_sP`%TIoQ`b&&Qw&NT#9 zD+$invLc@+M=U?iha3C7yK2OrI}xbs339L|BA}Vbej`os0nNm-yp_2eF$sR0|=XRBmvFD zqh!O3%u8yjeJ&knxen4Ur;fmCCBYd{kMnqTp5@1RqLGo_^LgXXoe0$R1UXm}5ztIT zbRKH`nzo6DoKdk+-rd(Zqht0c?~dWDQP&gXNCKLPN8N{7dp0$u47YTkDI4n`?b}vg z2phU+EZGIk858FXv6@A6RO|Ss$Zl_|75tdM+-Y3Y^#nPRfM%jg#9-@!F+gQ(U9`uW zs(n`VJQ3qk2I_i(97#Yk@!a=&_s7~yR~fz1#dudH%%(E(wcP8i8p(O6>j`os0nLPY zZICr)(Rj5#qysJ2LE7aMgbiIZ7FH_>&iHO!9(#)m>b`JWzH44@!zc0QP6X%|y#znprufB&7`B>kl6He~AN6XamEL_jk!cvHBM zIJ_QR190Oi2X%cn;k-A*!Fi|$5dNzw-{;1Y5 zb>BVjf?oWb3gc1+>Ux44NkB7ketCJ%j4Ql9_6)f0{WI>h8pfpz)b#{8l7MDn<;h{z zjWxVKh8s7$IZN^R3gc1+>Ux44NkB7ExzLaHF4)Sq(SoBl0tD~wASsOt%GBmvDt z?Zd;YGG!{N{n5PB1OIC^j7u4)>j`os0nJ3-2^Bn9PV@d4{P4PW%OT!Y7?(0o*AwJO z0-A}UONUv%j;O5G5wiD&cSIvTe_&k7KwVFeBME3G4we1U-hB`6j}?8Nd8fVMbzoe| zKwVFeBME3G7I}vm<2O~b`-XDk3?RoPjd}nP&%sP2%|sge?=fqq^L>4fej4o!eaXkw z_iZM48{A@zx}G3M63|Q(XyCH8ms&#Wu+=F)(px*0w-v^fbv;3jB%qmie|DhN;N?`6 zv0`DEH);m&bD4*_o*+jO&`d1NGuSHe?=Y2Nv>WDa*PLH}^nEbgd+{CTp{^&$kpwgo zN7{y3hmP|7)Y5@gdr+*;<att2?(a>^lAy^lTBIzC<)>}~aRcJ(?cN1~zLf!lda zsOt%GBmvDtlD`I9v4{Go4Cz4Atgx*}`@Z*FL&z>@&bX2JQqYrmeD7e*l%u>op2wd% zjf=XTAP1`@0-A}z2ZtC{Mz!;h(NqV(v69>Ux44NkB8PX5?VwUx44NkB94>cBwbNS$daqhGgi-q%~>{(syV>z((AHR^hToaTan zX5zrkP@`WEzaEqhv|I;ims3YzwUXeBbL%=;Q_9^_>sVH8f_HI#-d5-8jrV4}$Ll~{ zPmm)CXeM4b+gbZ#-%y5II?yyLY%9{f*9Kn*8@gyL*#*rRcS5>YQ*!+ox6gm^X5Pf> zz}#uv>@B#iC&-ZmG!w&HceRQayrwb|jhyTaxAWr;<5C9ddV(BDKr`WJ6=Jm*eNJVp z=sVT>5ZaSUtJ^#nPRfM%j%m2TGf2A9?TkPft52Wgj65H@ttSXiwjIHPNw zD?#a}@;NcO)-2!SBmUfpKwVFegVhoN%|zj&U5w^4uiJfw+xyRS@4*b5@%0Zgy+ymR zMm>PANkgOl7MDn+E<;8HJ9(Gbw~%A=8i4G>(CLh3z{=7G;MGE_3EWs z$B7e@yrm=f{DB$LxTpsZ@f=A&GqGxCE2Gm6_4|WvJiC+Ql14p%i05D?l4fGVfQ>Pg zGxO&^a*Pe~mTtxCsCKKS_hMbvsOt%GBmvFD@w(lt@`cr7&^BdX74Nhkct3aB8|=+^ ziZf8x6XZw&nu%O>LaZ96)w#qi9cWrP){vI`6ur15Mf3R-|1{LD$XT~ClB31}vY6>e)yc<@1Ot86VAdykjn=ern}GEmnO zPD z`CzNowcd7e@+EHXfBysH%DSE)M-tFXWX(U=`u;Ls19-o#t+UWd#>T~ClB31}vM zs<=L;Qcm7hLydag(~mg=m6F;ST8k=AVZ!3&TvqC+9i04QGnu#Jaa>oRp;(ea$ z+NRj3ZJdE|DFbyqL5?J#nV5Y#-1??xPIX^j(`lPy3s>XwAjYK()b#{8l7MC+S%s`Y z`OfkF*wFv?*oX?8fpIAVbv;3jB%ql%aV*^G@pVD94(us8E@{;D1UZaJf*eUeGg0?-xOMjA0=16FWBp?P z%+KdRj7u4)>j`os0nNmLEi?Bv|A)_45esv~CM?Do7?(0o*AwJO0-A|#zT;~5JU*^2 z*3TKcJeo5wE@hyuC&-ZmG!vO$FR45#?(xxd+SJ(9zi|e}r3}>d1UZs`W}^G6aO2W1 zODp?^a^nmj$0dz=01?l@OeD?3jK^Wdj{AGmIkCWyhxUFy@p1L`&`0~h9jsB;6XZw& znu+D%Va9}E*HwmeplMdl(n*aG>3JKvoH{~wL3750V&O)XVyjffgdIohFURru3Uj9n z)b#{8l7NmQx`rE>7f(_dk<&NXhaKVbdFzt9?RyJw9_o6697#YkF{oa+F)i&}l_4Ey zxen4Ur;fmCCBYe^dkn8!@tt}Mx}%>CH=Z2ibzts9pdLWPb0h)H#PeCUx44NkB8v(f3_QSAOO1LXr-&TnA~FQ%7L6lHiPS6~ZlJ z!xFWQ?b)Uo&-d_S0&^z9q(zBp2q9&y!gwwl8-ZP zow#a**Jh1+0AZ7kB%ql%JE*6zruYH1KcoXK*FoCl)Dc*%BsinQUT@`%Px*1)yHe`l zq*&z%U=^#nOsEfLUh>v$Mq zeM-(5-zF{{yt+O=wlOXdsOt%GBmvDt-vJ@k$IQGxCU&nJY{k7V-!4`8;H+`)N1?7K z$dLpz6JO2fW;OhHQEe;fK+AQIb~$wfRx1h4_z)Rxe0XordDs1RxDk9U?)^c`oe0ze zhyp)dzxuckJc=gF$73gJ*rm`ycfH!X_O_Kr@m4?{K4Asoj)e zlMb|82Wgj6M_{#*;EeKRM^r8m_y0Ug$?m~;orxI|fqDQD&yfT)6Ah1qTggrpQO`@7 zb?6q1^KRcRA;H-*^R_}=Pmm)CXePq1g}#8**I%&xqtX|?c3qygGX$SKX)Qf*AwJmwM0NO@j6>aqjp_> zuc-d6;=zwvaK?*|rGxWNVvV|!cN!OUJwc8npqZ$?s+%!z%|*42x5HBhPwBxK7?(0o*AwJO z0-A|E4?>LeY0jvOEF}{J<2}f|i;@P1l;k|r^#nPRfM#NHuI@&coa(m$ZPJ03>mcoN z>Ike>5}c7aZ7<6V@~U-|8T;61)+_$pi9lUXkb~6{0nJ2?!ac1j>kq1o0e8Lr=~_T~ClB31}vI zmLFlHo|j4O59vTt9@atH<ov;TwOIidVqaJf*eUeGtqZPM`Owd{{4^bHMR!7 z`NaDG<5C9ddV(BDKr?ZoP&XsdalSXIRI4?? zqhNDBu6j+M9*p;E!$Rf;dkgV8P}dXWNCKLPZ=d!wGCt+!CDMVWSz%j|b~$x~?1JWu zuuBDlsvP5Ud)Ccsf~RcY^Eu{DOt=U^t1W@7oi$e^`v)#r-bS66g%98J#an6a;|V@_t)s0R=>=|}>aiJ@=8 ztdhl}f+)S?-JTAd6G6+mo*+jO&`j93MaQIg$@f#|ZqdQfFeN{4lX&BVkv zVaDTvQR;c(H<#Nw^4I6%3ggl`P}dXWNCKLP*{-(M!^`hIG}h5NEgj#Uw1D5 zNkB7U^lND~y7aYrZ@WQXJA}f z2kLr)97#Yk(Jw(Q>-+J!R7UCq^&H8I^F9wLRNpb@Kh8s4Pmm)CXeQSG*1&pPoj7!$=yy9cGLYu0NIpujBm^%@u>j`os0nJ2R-?5vj z5+A#pa|AoqSL4Sv#-$9@^#nPRfM%lLx!pngp7FWl*SWPF&L21f<5C9d0Yp4U63|Q} z`VeLnd%jDZONzIu=g3=t_cO+&4Ak`mIg)^8qV2O*#->Jm5B-NmO&uWx`7yZvmxhjt zYgwZnK-i=s31}v|?Q3j2Zj;KO`AP>`u7kAi_aHR{Rx1h4s2|+bsJQf+`u~A5GIjOZ z+tN`y?%p`m0|=XRBmvFDw@W)1FY-R44F9;~po{9*BBXuKeKdsZg651$)9wXzXv@dd zFOF%BG#mNzt~tLQ;TZOSHR=I`O*)c*W}-o>FsoD7`|7xwzHgf2c11pRLDSq(*AwJO z0-A}oAMVFgY{8H7mYv2pT6N?Mj7u4)>j`os0nJ2ghcN5krFYdj$|N1@xSoZNSBy&; zsOt%GBmvDt(%=U{m74SZnA~%!1D~nJxRil<01?lT1T+)RnuS?kHF==cG4AnH$MliB z4vb3~sOt%GBmvFDu$;GJ4)x&uQDXd9NA?w*fpIAVbv;3jB%qlX(K*cOcH@p(N1c@8 z9O=vR`3mDw2I_i(97#Yk(IMzTP}R8oabnr8jvi?^1LIN#>H$PNM-tFX9BCJ3wJC8= zt>aw2>5c?TI0NHS2I_i(97#YkG5gs4nEP>$kGWMwIu-Xe^uoj`os0nNnhl}YXQck((`R9o(Fwc-qnOBtvK z5b+#IKr_)`=LjpwuB7V!$E$NI9cy><_QAN6fx4a`M-tFX$o=|}>aiIvd<4Rbz!{=DO_h0TG7)2R&5G%M8g1UZs`W@7TZ zX?Dw(L+h||7c=L~ z%|zjo(>$rR@$Z<#3@B`d-{1_4OBtx^334O>%|xy91C5#wr>e&XjyO3kY1H)uIhcv0 znaI;(q&@LA{@(LsCGwcJoaxm*Pycl;^Fx2us0R=>=|}>aiM}mDt(!0S`%4;C$Zu9J z#@`zSnr4N%o*+jO&`dO5KH8JCGyjhJ=XH6^<4rgN<5C9ddV(BDKr@ln8ETAjj#2xg z*dMvflB@aH#kiD#x}G3M63|Ti;qGTuxUx=VOwF9jd|evH)t5Zf^#nPXN#LyhnA_W$ zIwM+TG_RP`JQ>Rw7?%jt<1+pqf*eUeGcjpdcPq!y6Ds4s#yQNzRd|13T*^RQPmm)C zXeRP?YHyW0^ipL!7?#~^vzas6-_34@j9`tro*+jO&`cbg(8cmBzCjso=|IbMkoLXr z{DtuSKj)dySXiwjIOB1$v7V>j^Re5cV^%ZtT>QBcfx4a`2dgClnu!MOLX9H_`L~2p zG|gnDe8Z1zj7tRSdV(BDKr_+5+Zg-2+I%jlc`J)K{upOqT*^Q_fQaWv0-A}Y?L)1M z9zK_tH?x`5*YmN9aVZ0JJwc8npqc2srH?W1;&!`lDEIRnkMmFu zAZ*f+1T+%^Z-y9E%JKc8(t(!iAnkJM2&`5ToDn){kkR`3M70i_k*O<5`<&*VU-Oz! z4MKbrw>PZ?@DLsuymwJ%Uwd15)hEyrFRHRhYcVgB1#8AiqcW(bxY3X z(u)*-0t!f%CcT3oZ|2N?CKRFMfVCx-qLrN$PlMGmj5fXR)mCHA;Q!htTD zCA+}vsIoIkRrohTzvj$cw!Z5Z2R~1AyXw2rEarW}x;a4=nE-QQ?%61Hx~V{P16?#rc7fSZxLDwOkRw;?{W$%ip34)<`?2nW`mPjRnXzt8P(>!doG3pw zO1=4Yg5D2V0n@hQSn+;{gachPOLl?Taem);^>c%RdOs>|t>;=afUk+zcAATIbAl=| z0p>)${40F>*ACUM)y}%>xH5dt4$LJ7*3Aj3$OM=Z)AClczS&<^I|lS}xl-k42j-Fk z>*fSiWCF~I!%u2ip7-_tYw6e%8R4olo6mFlp|xBC&M{-%oS=$KfH{%sjMM7-LkYbf zvI3U-LF{px64+arU`IQ|#MkneXL2U)I3b$CCpZcb1|CcvEdeo<}f ze?^OEhpd2Ut8lD{1OFF==H$fn^`yzj=L_s)lP?CEky6HEX)6FJQ*HIYAYf z0CS?+vHI5QH2L*@$O@RY9mk6I!<3L+V0L)hu5@1Y@Z-nr)lS#8*L*$4w$og!CrX4= zWCF~Iq#GNlBUy7>G%GIf=lX^be0(rhuA387kqIy-D%5MJ8r;gG9ltb=aNU{A4(Y?X zIYAYf0CVD1la4D*#GS`|)x9Q1^z*CFBZj!#!_#XA(zI1rHz%kf z6JSo%RY#ni&+&dZzl?O%dCS|5x#YllqC`kVCcvCXcs;21W8uKzuJRN1KA(@xk4CtPC1(fbk^}3B5+N0t0CQsA(Y}G-%Q&jfNAlAn zT`#7x19QoNb#sC$G6Ckq`pBccn5}$12F)H4c)vBHK314Z4y>CKRFMfVCsMrVYdx!W z#7DDm&yjQGx;a4=Y>7;B;@h03oJaQc*7x&@TccdFCZy5(F(%tc*DqbtYQ}n^MBv#S zC#WJ5U`}M-+*@TH#^1ZU-puP-nlyASZ57td397(H2{0$RcRA&oyS=x*e=Hn0##R11 zc3>_gux?IJMJB+U=oi^r4H$7+->%fMv94LQ_*#Ow!doEUMjw`#QRH+?={jUVqC(}1sum`e_y+k>YpaKe%Q_Xfw|PMzD5n`HQCj;WNOV=Pn2-TicEkx5m~dRiaB*r->ydd`-Lmr ze7+ANO!docPw=(<=H6 zfA4NX{VA@zZoal-E;+DnPEbWAz?{fbcAWZTWOn@+wL13{SF_9Pz+7@*-JGC`On^DD z`qCIxDPmRwmdnvi?QiKb`ruJGtNIt`S=jj+NLateX>5!QPSs%!$B#&NP=|$(l4ty<{pLCL|VLV?yFqa%yPm~C$$OM=Z ze?;_Ddk^rnBx3vLuBh>R+r?aRVBMUcicEkxF|5y6>+drqoPkl^s1kwuM;ks?1zvpa zx_5^e>xmK$S&<1aCt7<)S=DOyAcsR%z_gD2AP#(|+K`Z4V0KI|5@jvOwx(tv?!^_E zX5DsAcBSz1xxsp(MBp7degvS3On^C&KYYCPG~-ip1n0h+z!9MykK2@xU0`+;Nzq3A z)sg?-*OCWTy4LSYsvnoG&s^c!ax#f#teX>5kqIy-zJHxsU0vQu<*rsgyr&(QO9`x-6I782FelExNoD1z-9|s2 zFJJV%t3rKtU@keZo+uGgkqIy-);ij#sXh68RDAq{D_tu-2bfC^teX>5kqIy-F85Du zEqUEq??}GuTmj@inJ9Mc4FxI0~1~=ifCn zblWL`b#sC$*e6PWIT2GWi>jNyIb9PSCz@pNNBP(>VPi&r-i^#yHz%kf6JSnc{qVWZ zSGJ3G$O@R;d1_|%_x+xIf!`@IBxDzu9d&Z=@_8=})DBqzlVkn)Z2qj%;V>m+7nmIv zYj*YBjvl2QvH~W@veG&I-Z5~P60!@-juO9Kh~Q->t7lc*`uVP`fXT7;y)^#U3BRA|ahnpd3(Sruo}ns7;O}>G7FEzi z>zO8{@rR|yewY%n3(SuDYkH{bA6?N7Spk#dVEMHE#|i(RpT})V$SyED{`tD4TJvKD zecP24FgZ@7Pv;+g1-D&OLUw`KF*I$2N?Jc$J7fh+j_~a1{i}|{VM@p@FgskM!d0G& zmUhSrSnr3pjs^ZNY(oN9HJM;Xo2OmWmCjFmREe6G*6&aFjf`A})A-vS;PZ@ibAl=| z0p`T`Cj(Wttvku#l@&0#bCgZvFR}r*E0J)Zi)P6#Fgu#g8>#Yd9i|7_MWc*|E)JTA0iR7(=6EqX2*xBglZ7y)DBqzlVj+Q>HPH) ze%Hd|7KxypX2~uvJDxqNslu0+)DBqzlcU4?>HODjVLwD7Xs21S3(SsR-ZoWLYrd}? zvH~Ut?t{c0w@3u-G)s1Y+41ykl&b#M{AkKA$(7#UawnhLN&znOJu}wL3985hm=jqK zjZ@B^{9PGY0h9ZAz4ZQcU*UFTO2{rSJC4j6uCi^?pR)|kq6)gm5x+dW|M3VoObOWq zW=Hx`eN~f7{5z?#0wzb_Vj28@b%(>0kX>MQ>}b$d_34<>lC!9SE?PfvHiQ3q!f(KM z+@^%=0<&ZI$8}ZZLWQ(LR>0&q7M;=mq89eUl#pFub`1WdtV*4|ns&$vm>kxDO#XZy z!eL6tE^vaQRxagrH`WeW0h0sQL}HJ7upuG4!0cGtyOa8E+8g~im?lX^|Jq#qIo z4F1^U%vd)ks3H?!PBfW6P|aMVzYE}%6)5(x*oXqM~(vtw(rQ7ZlC z1N7sdtboaJu5o&Qir?T6iJ+Zk$u2NEii{brcJIBQ9|vUxOb%R2h&^tR2-<0u>;khR z|F1876(Tz;%IBG!)t|EspM!Q~v-pcQX2!ZXK^2(*bK;i=In=9$O~~Pu6)?H~ex1pG zwI=%l*WLdT4s_8h*#%B;#C)iJsaHiiWCcu)6L&NEJC+VQ{!0YyG)s1Y+3`oNk5!G{ z`m=*xSpky+w_Re7TO@*ZnkBoy>{x!Witp&@G5UNwE}qMuB9gav^863{3;Qx--JGC` zOn^CYr_EyDyn7yftYigD+ur0&HovDEj+IC_&_%Ok7nmJmnjQ1)ZKOXZXnlqK1U*0<+`r>YL8qX}jzF=)dM0yW8jdH>gG1S^lg6=E`+*f+{ir=EUfv-PQShH}&Hn_E63x#=1E{6}g3APIPSZ&{uDN zSF75Y`Rksym~HRc!pCap&DnOE>C9LUO^{tyWCF~I9Cyz+FXiLU$y_`>%XZ8SolBFj z9-6rG{?u?;f$v?n$Niw?OJ|XVo#}jdr`4KeH}B65q$z=Qc8EksMJB+UIFcrX75FbH zwIkbxnRXJ39hgfFtS3r@RAd6oiB{fJR-f7YH?N=a%(Tm9W(Vey1M7(rAr+YbbK=I0 z`@W9FyXo8R{v%)8Q~R<5bIE~qbAl=|0p`TOL0Qx{|9qloR{vh#*uN}i2j*9w$$pkWBm7zZK-D3uHV=peONaqs3H?!P8^!^%;#?3MRm%vDE#T#nRY`5-_J3Z z_5)}o5y_3OYrAKJ5`%yFD%H8=}%_bC9^VP-JGC`On^Bt;^Z}7?xa2F ze0XIAEVq`}<3{3SrEkK~MYFKCGQo~)(WBJn#$BC_v*jsK^YBbN>|5UUi)Uuq*GDsB zJv2eHWJM;xoM%UFN3Ygru7Z7{gNZcYv=lYdofI3OJoI1ld9jFWgqy8eIB<+IM7A2 zWEYqn-*Ix_2Y+ER>0&)HFuU> zU>F=C5wz1R*#&0DsXq#0(_QfQVvqzW7&5wz1R*#%}tfrIVU z$945@W_o1>Ob%SHhy#Dy{x1=<(=6EqX2;~)XPq7U^`iZ7ENeH{e$||}x6`3HcFRa+ zteX>5kqIy-hL>CIoKuLumnth@?RL$vJ;D2jDX~m+f!Q(hmecugBEJV9D`0Z8*+1KM zCfxr$Zc{>bffM$l?q@aAEaumPvH~VY-mhlc=fA}{A8ts(%U7ss!iWd%$Q zT$PADZX|C1{#P+{(Ja{oX2*pNDXg70+Uj#YFw4B)<6xdGbM3X&c-ygVPEbWAz?|4~ z=!NsDud{Z@3YfMXw=3QcQ$luu*^w*L`&NY;B_OjqmG{rT(KU7KZR zUBC{^rAb&1O~e&j5H2e+0p`S_n_ZRf%maGP;J~XEjk~L{DTkKzieX%(sDgC@mH#o;Yd&=B$2SSoM;u(!#Q}A{!Eeg z@a2Pcs<{ac;lp~OghN)~OT1M-O_<@Vn{v3mUFEBL(0+BGTkcv!zIkDiY zRn8wQ{@(WC?+@4|%d!J=$$|AmiI9p+fH^UF|7PdvEQ770A9V_MI1bo#9^cgG9COKm z_0Yt-6`25Y!au#J%G%FmZ7y?S-L4D!?5uzDeqb(5!g^@pb?g5URFMfVCz6*r;9GR6 zpT3qfo3Y>irQ&V9ADBxHtcNDPN;hhqtjGkI6F2j&_w5@tM0H!$a^19A2keH!*nu=T zupXLtw;~f@PNe^Iwy$k-{tdd74-VLq*0KY0X%f~$6U*PLvQAcH0?dh354!o9{xC`( zt5#nhwA&qJ2h!xgx;a4=nE-R*ZQwO$+24=se)~48#Pb#h?UqOW*5~74fEUeR#(HRi z?6M*gU``BsGFB}enODD;AuC{-WOqDhPj$1;<2EH^7nmJ8--}f92F%qCSpk!y?vR6a z-VAV<60!@-j>w{Y)%P#?a{#geCI`+3ao~5O3<=o0w%}cP6zFJso@Zbpq*yPE-*W4l^w12CU2`9vH~VYZ0mz|$J;pPA`!IH zEZGHShoj(l_2&9B{kLsd0h0sw0%DIFiO5s=N}!8o$u2NEw%_@r=EZeU>S2YXYvqu9I^tY^)$r-zPvaeriAPQvtxbw!_LPa@pB(p0h43d zmcw>fQ#ecs*#%}to`=(&QzC}z{g4$fIr@!0Y-jHbhbbYu!0dSaMP+A~>-@fttboaZ zs}ixtjl^;5+FEqcEZGHS$BHB6tzXN2q`q=q2=5+q)NXu{ui-WO9<_fc&F38Jp$Rg| zicEkxalAuGE2gYdA1he_(VJBA9lB_i>;khxU2s|lzb&C1Q(OIF$CT&& zz!uV6tcNBhjK3EyD>4D*MBfH3tIW2d*5_v*h2xc?oJ)-L(8RkH_+*+BU;2t!%ev`n zi6hg(SbNWsNBS}9dAC^m;kjn?Ua_*S35Ikhpd3f(W+#uJwMZ9y?-9JDIvSS>?n4$tJTT%ke-(WXHf-Rv|c(a z)^1k}4pTyQf!UG$p8-~e&9T}cD`0Yz{~*>*>V(6TkX>MQeDK!@>&@~g?T{5PIl5(v zwWqg)!<3L+V0JVfd)K+_NH={xE;fy`iVAx~b%BBUSjh^QwjIZc_rsKsU0`;!_@kFqF8d$OK;HYhPn?}M3GWBCo#tXaQ6i)w z6X1lz{jI)5KMt~JR;7G#c7@#RXx<>s?vXa(xFxKc6I782FelkGb53~L%=A8E~u_0R;_Wkn{yocQ}?O%=JYq}~r%0n?;q zqhoAGarSxKriAPQvtwkPaJ4aggm%aZm>f7(#2&XPA-llrc=hiH^(y^%XNR}B)=xMU zZU5Prudj|P(RS86%vcXikWp4-0?dhXTL!5$2lel42Yw`h=TZesliEFrwhR4@V`WOn zE-*VLPw$}${lwqxlNB&I)~1WGZ|{b~l#pFucC;GMPF0zdT%QkF0h0r_9%7FhiAkTQ zT8}Q8CA+}vs6BGDTC}-^ejHqVF4{hs=83+xpE?H{U(*IYZ!>SZxzlh=U zF(!MA9Wk33>*fSiWCF~I_K}@bijMmGA6{7j)3&euH`-p?lYJhyNI1|%vt$>T9UE)+ zRV5;i(e27BD`0X&-;TBiRfR(&f_9oEyTI(2G~1(on7>3jWCctP+;)jQZjlJuX_o8) zv*YHUXX7?~!Ji9XJ0;fcGwP|ne_Z`E)-E}W8SCZ*Rb&Fpi8^aK`fA_P?}dA11x(wX zqFAhbpbz^3?=$?DaG;B3$u2NEjvZO!TXKGg3XJl~3YZ)jU&YvE+QA_bK|9ToU0`wVwL7sl2iRCdaE|F?O@MaEL_EPP1eem>uIE9Od$_khqdsoHS`AWhe z5jp; z#Ml$BOZjlJuX_o8)v!h(&q*ju>{P*)T zt$p@@x@&HwkAtboa3?T)o)jD*9KkX>MQ z9PoWvW6?AIOp&aB$${$?vBzyn$SyEDwmoXChK=Rl-YK-$XTPY<+na2-&tCr?GuF)s zs>lSG6aU<7t4_8{p>Mmg0;X-p?TYt9Bpm3XS+Wbvj&`G3s&hy9{gV6-eDlSG6Vt6c)__9|)qtjZ!gCFZ5B&X{j}_*U z1M8uQa|ibZ6I782FeiFkXlZ4rq<_o8J8-tLpRD3*$?Bx>_JF4B!+N5GLsn!0%!xBU zHn%zt$!yW~$_iNS2eHSEMBC{}OQ4HpVQ*!E9Yfc(vF!G#$l;CM=Cild<>#E(LP}sg zQ6i)w6JSnUNS#vsG`6kv>Cv^}uY7U#4|my7tDMhnyoMR;p$W3ficEkxG5t(-)h4%F zA1he_%l#k@JboAw*jt%k$IGG9e9aaOw{{*c8D2YWoP8(Z`QZHz+t>4W9^0&d3(!$8*6`%aNMvSnjoXB$OM=Z z#rsA%m)#tp&$+CCX;RBIf%mCv;8>XwvJ1?Pn%iI3ESZ*n3rSYMr)LzY?4LMwH$USpkzH%Z*rjp#_I2A-llr*fl+$Z^x~%+94}oa^Mz9>~SOUMd|&; z(M7Xl7nmKjn!2pYKNTg1cV)R)JLes~Z#(M7+NYB8wqrd}!XYa%0p`Sv-6gH}&ezoY zAuC|o_J{3a?G4#+tV{{n1!l+V?wPEj-CJmftboZed1&DIRWUeB3E2f^N4t_&omu+# z&<^rJ~vo5C#WJ5 zU`{-p7G>p#iKO>Sf^*+Z>`xo`JI;9adEBOi>;kjn?ViAWqej`9X) zI7|uI1!l*VEaR+ky>jXIOJoI1jwKmm?Ru->FePLcm>mnUjj-CioU9$P0w%|{Y_WEl z-Ef!^vJ1?P8}kQPk!yU~AuC{V+{hhkzdj6yDIvSS?D%tS7i-hVr`jPaU~*I`5^JYQ zcu&sbHYH>im>oq{G_$^FlTF`0WCctPTrr3Pzhz-a$SyED_AKaRrMdRncQ#+z5_exm z+jm~R)X#TMUW&H+lzgQb>!ArU%8E>YIk9kCW9#g0{v4UCfN9cjU$kAUE&DufQ$luu z+41JuM^?p*<&~U86?D=1^Lf$skV$Zu60!@-j-xvYTaK6dyGy}YR6!Rx`uB>qXRe3C zl#pFub`%WU&*zLU7x(m!uo4+c$JhmO@c9^6BJkc~OJ=NxCde);G6Ckqqp)$-urxV+ zl#mrLt*EeIBg9NNiaURsvl#OLl?TQRcv>R;knJta0BZUmyK(v_1dtXZlz@|1sL$=H=J8 zSPxB*QC4IE%!%eHds>gSUed=(R=_j~N1fQ?Mk3GtjO)=wvt$>T9Y>4DI7c@aXuW;Z zC%pN{U4hR)@@v_jw(hb&^)h2UG(kpLkqIy-vJJfL+&%v@eQlQ&FiqNYZ{ypOtCeQbC)yz^U~=sEY`1;=0UV};>;ki+ZlUtl-jg3`hpd3f(f!PBdtYb1 zEqL6fgzN&d+_%ryp^Ik8E-*V5KToF$ZT^%UF+1!! zTltuH@9(g$&1CMLux?IJMJB+UIG^E`@6-c6=duE(ZJ$wir@b!{=fjkcU0`-xPrKQd zuhL+>AF=`_$DDRM?eksXFePLcm>t)i_VhLA#lOERD`0YbJ8P#M_9+~ugzN&dW5~-R zaYdu~HK(kA$+7m(PJ3d)`%E6UDIvSS>}Wjde>K8y^J`970h42Yl3n)eX4nr?LUw`K zv8;YJXWb^_^!bn#Fgae=*kw;>3x_EoyTI%yFlT~u&U$_iKvuxyz*UJj@IB###Mie9 zgrkdQ$u2NEcAtq-MdoGHj~|;JZ4Z3Ui?8RuKG|-!PR)#UbAl=|0p`TIBIDGbLv!eB zyR3j|+o!(SZcjdrYl$f#yTI%?zi7BhH;8|uQC7g@IGS#U9la0^Q$luu6ZZUOKh^nv z`}Kav3YZ+r3huD)b%$fOAtAfK36AC+)yg#veY=tsFgYC74m(f9pu>=mU0`;M|GAMm z{C;ljkQFc~?snZ_J5#`6O2{rSJLVMoNR|1mymrV6m>k`w@35Pk!~MgQkX>MQ+2lzhkaf?LIPP1eem>tX0jaA($R?rSv0h6Qk^X+!ZDR78H&`z^t7nmL6 zn@6e9cjwZ3GG18$lLOZ)Vvk!Sf_9oEyTI&7zGJuV+021zYN6iYlYiW0|MG-i_az^^ z%U<;-GuA^BWRw+|0CVEkmA8CD4)gavWCcu<9#-6Cw^4Y_DH0BJ(Ja{oX2;svJ1?P<&Vm#){d$wFv%+`U{Wk-ywm>oU%Va^iJ+Zk z$u2NEzCKb{b(>sJJ7fh+4&2j-J#HihwRj$mE}A8~!0ed)BAw;k^eH()Uh98SA=-X$ zl#fs7EBgO0L9=86%#Jp>Z#h@q)#uzHD`0Zh|97{Y@g~lPDIvSS?08*lv-4qD{oSSD zEUKW39E}d{wx9n4hbbYu!0Z@StC#a;w^907$qJYpZD#GZx25_=zfKH%*V2%XU0`-p z=o|RP+%EpSkF0>n(Yx(#`;!cCm=dxJ%#IpGe~V3io4>CnD`0Yr%D>w_lMW7%2-<0u z>;ki6lSG6P@1l zb*3uGw<}ozldpE)5B=M-v(Mu;C1e+v9ZMdqteK-Ee=b8-z~tC@yuAPJ2XL4YvJ1?P zbhW;W^Y-Q2m8^itF|uNL|GeOSh(yp%vt$>T9oxQc?fbkoe-Bbtz~mUUsGNUo!nyId zMIvaYS+Wbvj*ky)^2OKE*AlO+fXVSw(sKU%3AY80TO@*ZnkBoy?C8+rfiHbZ{oM?& ztbob!-q5oC=LK*+L?URXS+Wbvj+ooo)L+$_>HCMQfXUJKMj3y2aX3UGXs21S3(SsF z4a%spld5ZntboaJwnrKNrm}E|M9@yNWEYqnTMO4w@e}!TWU>M#N3Hv%{Zl@ILnMNB znkBoy?6CW{QnUX^tM@}zz~q=cxwLT0<)uQksc~tgKPSEqO5?);VV(v zpUw@3NCfRPOLl?TQKQdbmG;3#?T{5PId)zu<=@;64v`4jX_o8)v*TRvk*f8C5!xXu zU~&vxSIR%LHyk1nw9_ov1!hOn-s4p6j+wPXR>0&qJ*AX?svJ1?PQ_)ds zZNVD)Ikl{S$#HRXDgTYBaEL_EPP1eem>uCao;ufj*~JQs^3vl(!yLKv<42ComHipt z}dbCnKkKj zR_%}#Fgdooa{3>5;V>m+7nmJqr}eO|ZsG4{$O@Poei7C&1x$_%zeo6A<$}YMkX_&q2VF~o zv#5eDS|{Jp)bBVFC1e*kmgcP$y&sOb$B# zvu?m)O2{rSI}&b*+94}oa?tH~?rAto3E2f^N5VZyJ7fh+4!S=k-42H-A-llrNVqa6 zIg2XjqIJ5iRGJHiDIvSS>`1u6X@{(U$wAl0e#77}C1e+v9SK)z?T{5PIp{k7*Qaop z60!@-j)X@X?T{5PIq31~TJSlXDIvSS>_~X5)ecz!lLN2Sh&^soLUw`K(WYsX8di6{ zzLwANe@?Nyl>fV5n6Yk7P(>!doXDMHjLI{yzLU05R=~8L@t0Em1LtrpF(qUd zm>tExj#NwiGqpojz~mU0rnLXqO*l*m*#&0D|4I%}zweIM4p{+{qjT%h{_mf_VM@p@ zFgu=C@2U#7f2P^EkmYhWubkTaxS!Mj)G6fxmgzN&dqd|xK>b)8DwL@0Gx|L+AuC{VZ2Mn1fBOP(m=dxJ%#MC}AH{aQ%73qw6)-uz99`bO zKIkwdWEYqn*IGNAmH!#1_d`~| z{blpQVM@p@Fgt2ZIpBO^_tX0!D`0Zq)e^DCZA!>4FgpS-(G+FrA6~_Qah=C{NWzOQ zdZkDeJOW^y(n!#nm-fROJuIi+@l$dA8ZgzF@E~J7QNkfBG6Cj9h0{^i(>ht`G0GdC z|3&<>mL;@ffA<&hBXcriJyF6TD>4D*M3x5QtyS0W=*K}>0n=V~E%P$I^VM+e_P9+6 z*#&0D_@Se%efe7IYrCv~$#H4atN5W?;4md*7nmKfgFV)jo=deuR>0(#Rr_`P*eP(B z60!@-j$<8rTO0p8tsSxgCP)0#f8*n0g3c6^$&qqo8)$+k%O2{rSJ5FaUWtIQ3rgq2*m>l6L zllfmHg~ODPU0`;6y+5;ce{gf{kQFdF_M}bWUv!u6n}NTp84|J!%#OdB-gD-e+f6%U z1x$`EbyE3npM}GekX>MQG@2dbjIA(GJ7fh+jv^b=_%|Ja!<3L+V0IkuJi}Qi9bemJ z1x$|W4b%I#D>zIE*#%}tmMKM?g@54hvB(OT91l}x^{?CnhbbYu!0g!b@}ruC;`p&v zR>0)I)s@)eHYH>im>mh%b&Bh&==wiP>T4gasB%3d;eEIAZi24hoMyY+D5b-I># z2ljp#za@2P?I>9Nas0kJr8HwbQNkfBG6Cj9+8qO}y@m4X=}UgcoJXc82dbK zQ$luu*>O{iv{t<0_m*S@OpYb{p2ZLP5)M;Bc7fS3=d1D7+?YS~W0b6b$?@rL&*Pg` zhr^VRU0`->3w++rcj|=x-49s-lY`DCZVQ3GM;Q{b3(O9hk#O7c_P%j0c+PP)sfzVP ziI9p+fH{%n?r!y z9H3Ty8}AE@^2!RB9Pvdj#1Fd#he!nNG)s1Y*|B_nXVtacOYM*qFgb9}i9K$S2-<0u z>;khRu=$Fz^pDPM!#4cf5a(I0ha|l3R^Cm}t(_B%(ogWEjn#jncg!1@%KyK%d<|bc zDY^f34`!^J6I782FeiSTu-5lBmVaABR=~8i15YOLCy&JAhe$ZkMYCiVm>uKG{p!0j zQ2z#mS60B}P^}#P%TwSGiJ+Zk$u2NE3KxFkn?AV{ofEIDfXVTD;n(pK7sDYEK|9To zU0`+;N|{aFInRF+mK88LW~F!$e|`%bA`!IHEZGHSNB6D8Rmm9rvw}#5wz1R*#%}trlmdA zw0alxwM16H0(#Qutc@p=WT2M9@yNWEYqnOV>xKPRTyek5RG$CWpLMdfXxr zw9_ov1!hODHBsuPTP^kT5~`GMSyVr7Yx3c>_|mb=ST`rAA`@UvT+2LGZHW8ON!u$c zU|OH!ydJ+WM=|a8xJ?P!1!l*MwnNqAM=P~MR>0)AyXjW^vOaK_60!@-j-M*`P_vU< z(+*hylVkRyzvFMufWwrKU0`+$4r{CCEK6z0SyVw6t#_PxFTVdqI7|uI1!l*>W)0Ql zb9uBwR>0&aJN;pN$zyPs60!@-jv8sJs_Hk&X@{(U$#LWAllaoN;V>m+7nmL4r;Dge zDQatntbobUWATgl$fUULni8@L%#I0tGpl)<`1QH0fXVUYme=uVbHQOs$SyED+7x~1 z%fG6#-Va#;lOy*$hyO`wI7|uI1!hP52Pb^ijXv5TD`0Z0dM~NJq6LR3A-llrc$s^? zFMs?n?T{5PIq>|7IPm#)Lqc|e+41i4#8#t==xYY9Q8bsB)KhZ1eNXZ7c;S4cZXXUOQE*?<}A<^)w_0?dh#U)+fMy}kZytyfmSjL%OXmN&KO7#Q9EP>OpdMHU&r@b42MVr?KDevf!Q(Lm0Nu_y^(gv3YZ-IMn8}5vl|YP z2-<0u>;kjn@PP{IiB(xUWCcu)Ukg2sUwsY^kqFvpmh1wvV@;`#)v{0WX@{(U$T9h6)-s>hTe)l*$xho2-<0u>;kjn>HQ%pe}^^NAuC{VOssb!KIIHJL?URXS+Wbv zj+9@GR7XFK)DBqzlVj3%f5pGH;ShQxC6WN^Icg1lcR^a8Xs4culXLgNCfRPOLl?T@$@hH?$UL7Z^`~_m;XLUf7O!?FxC?#9I`?VB)~}g_r4GQa!6LB!SuJukc9W$%DV~j zaiUf2{m$em`_r|=u`1sxmF!AZeO>zflZC3z8D^}T6I782FemJ{bf!R?o zzQ48cpsgLU0wzbtN>|m_o!~GfWEYqnAEoMK{dV?W?T{5PIhtlVt2Q~|FePLcm>sKf zHn!SM&85$|tboZ8_RlfZrvMzLgzN&dqh$Tc*68>O+94}oa=dlfYH3P1ObOWqW=C{| z+}6hV`Z+^z7FEzij@*^DsdA6_cImdp6yOnnnbWh_%eCBh`_q+A70tqkK*EY|m9bx-_QhgdR zV?9wq?;$0qA`@UvOmF?3mHSQyayVoKOzU*qwz=3B_#H??LUw`KabtTftK+jq+94}o za?ttjRvHddLUw`KvGT*pR)bR&v_n?FuC1e+v9S2J{wqpC|;$xLCiz?_M z2i+gt&-k|Bahnpd3(Sr&`8!!3P5IX;XHf-Rv`*KRuBYKJC1e+v9k-75w#H>E!@4;^6`25YVsFWDs_}{J`h3U=n6_&A&w17SoVb6O60!@- zj?brzP~WYZs2#EbCP#eN0%}Hgtq6xHA-llr z@Xzj|W**|->ys5QIm+)TrQVBx!<3L+V0Mh`FMQ zEZOjnuk-y*+94}oa!hFOiCWnO4pTyQf!WbJW3=z9DE_>Utbob!=2Qn&vm+7nmKDM;wp4uwlGDRx?#tbob!cHK->_cJ(53E2f^$Fek=oSnP#Z*0j5m>hWgAojRT3E2f^ z2VR>~o*pL_RO9F8c+8ONAqnrhm3I^LNW_U3D>ggR<{YdjL3X^(?6GmCT5>Y<^`|*O z6`25YBFDBU=eeu=c?MYlle=r}Y3lGVcx_-x$SyEDR(dl#Q}@!poe-Qw6?BnfWA=$E z`Uo7RgzN&dz5j6aS0)g_1PyX{5Lp6B50>svJ1?PHsk*B)qT@R?}w~_$x&igJyrTF93m04(=6Eq zX2)Px9`)gYhT0)3U~=3_T2rmL42MVr?KDevf!VRPbrm&f{fF8iD`0X&x2s6sr_rwy zJ#LW*+G&>T0<&XtnZWasxa`^?D`0YTKT%2@dIEw%0RXV3b!@ zz~tC4vS{Epfbc$pNCfRPOLl?TF(vIlmARAte@4Bs0wzbNUIkRq^l*qo&`z^t7nmK% zJR?-Hs+077$O@Po)i>o;;kn@uiJ+Zk$u2NE9v2#?IxWwk9kK!@N4j3QRf`gEh(yp% zvt$>T9Z$9eKA-rkwtk;lR>0(tk1HOxNCfRPOLl?T@%OEbzV?0jaWK`Xkr5jzgz4Mp z^m(3$4%L~lZcb1|CcvDSvpY)te!8Z99pxYPO+>0T{J6cm{WlR$6P{CH-JGC`On^C2 zZ^Jk>VM=QK`a@R0bga&2{wCu2C_HB{C1e+v9o1HhP&JQC&<Go1zoh>;>xs$)#uR=~6$dun+jP85d2l#pFuc6{>ZBj3%AUG;v*3YZ+n zqsKD*k*h{sxy&}WLagl5SuFgxNeW>vqw;LoJW3YZ*p8_Qc54v`4jX_o8)v!mOka_V5_ zs&uTpvH~Ut-J{ObfI}pLcA6!-!0b5Pxq+J2GE6&U1xyaQ&zEfrhe!nNG)s1Y*->n3 zd)2LXQtglxu-=crHL>X$1`d%3+G&>T0<&Y<=5Z=V(bU=@D`0ZaV`7=$ z>kp9#+G&>T0<+^q;PL!QlbZT@iL8Lhf%`de;QihI5WZ;zMs>x zi3~5Z=;tN4Z_`|?n-f%#2{0#K2Yw?ZRkgabAC62DnnXc(I)+P}(n=@nGoS=$K zfH|=u-#9BvY5sp2WCcv_bM@R2j@mfqriAPQvm@J(5!Uzh_4D1}EUKW39EU15jkr(| z4pTyQf!VRH*g$Lk@ff;Y1!qwOU9@hEZx(T_7#yaA>;kjn*WbEWQD>fLhpd3f(J@E! zh_F0xm=dxJ%#O&aO|9b1KG3%-Spk!ywxeallFV?J60!@-j-;KcT4QIH(+*hylOt>S zRuO$u!C^|sE-*XxtO&DW^Ec2ASpk#d?y5Esa}pjO1K;g4BxDzu9rgAlvASpLpdGRT zCdZ?;?IVi4;`^q@ZA!>4Fgun`I^dkNhab;n1x$|G4LU`Xe+q{wA-llr_+ju=XTQtC z`FteIq6)gm@m~L~5$YivriAPQv*YjQ8JxMt^ZQq_0wzbJ`0f!G?!#e9$SyEDo~>9= zW8V{g|4LTCb!<3L+V0Qd*WpCWD6a4;_tboap?nb|e!docQkkC%${%jMffW0n^sfxfxR%uRlx)*#&0D@&cC-2$SyEDMpT$qObOWqW=E^h2b`n!@#{fZ0h5ES!Go&7 zVM@p@FgvV55y6)-vIIZBrtaF`OZ z3(St+Qg*ctN53yBD`0ZS#}$v;l#pFub_^I1uA(nlie_CcGR$ser?0K~l*j&QQvxTf zn-f&IDiaCJ32)h2s@Kb6~^fi9XQyTI)5ROq3;$jHA{EGuAg?8@h{XY_+ZB!YIDCA+}vuoqR2 z-S!VZhbx?7xLxNW&-!gxr2WSQW~`eNRFMfVCmwu|&)4AISbeNy1x))<^~o^%e}7;< zM8bhCnkBoy?C5vwYhSrDk=h|EU~)L4huKR`!66bsJI#_^V0J9s9_uUnO8*YMS60B} znE3fHyWt5qL?URXS+Wbvj+<5P_-f_Gl6N;guCIIplrQ;}(gaoo2}{Fgw;&8LYDZyGg%x{%2jJ-Dh$JeLwe3kF<9WX2!ZX zK^2(*b7J_FQR={$PUP^)3YhjI#i&U8MSJ#n+#=yX7tNAgV0Kij7NxHLyHvloBr9NY zOdlF)m#7biNCfRPOLl?Tv21XZis>;`Uw35%OpZ(=Bkfin!eL6tE-*WslSiv2G0pYk zhpd3fF>hL=JuxpFriAPQv*S{oA?k9eAGJePz~soaCNl7UbHHIr$SyED?mX+RK1%YJ zcE}2t9Lr8b+K(UO{$WbUE-*V*JZhyP)26lLEUKW3)^SZF_P9+6*#&0DnTkbKkL@nH zpF2*k7;d-wosY@mw!`iD2br;MPEbWAz??|6GeXUpR9s(6WCcv_8QF*1i?-u@h=c=O zG)s1Y+0o<4r)tQoblM>+U~>F+KGJqAgF_^OcA6!-!0h;aR}WS4$z^>%mlZHMa4jMB zxJ4ppr&+QK%#L{-%KFY%(T`D%5-CU8S6}k>E?zyt-u#pq>*fSiWCF~I!zUK_V#e}& z0I~w6Z7K4b+T z9n-fbSJU0?v_n?F`Q$luu*)jS;-?&n9wZkhbU~=Gg zMeK2lM9@yNWEYqnWe)6iE}Nl08|7%UbBx_*A8)U@ z;LlUb3Rvz3ao~4Y3<>P5Ot7Q%=RV(~B?By~jGjB(ev~4eK33Rvxo%ESMJB+UC{(z) zDpe_qc8s+=_FpU6F=3p?{_bmLteX>5kqIy-stu~8-rH16J7fh+`%(3v$Idj0eIBlx9;BlK0vJ1?Pm$?V2A%E?l=RP5?^_@?L+C!T0bKKBZ z^#5OiX2}GY9b>ADP=7!BTtB~(6)?F^{65r9S{cu&MZ$qDnkBoy>=;>YoZ8SlyLQM5 zm>hi%4Yeckz#$SrJI#_^V0Ns!8>OCJ^6T%o%Lth520r)t6~8YkD`0ZmNbj+~j)B9JkX>MQ{4>9c$`j4skCGKIIdHuq_P9+6*#%}t z+ZzMa)NFD3{!utZPrJzIjQYBps#K5Qb4IM26I782Feg?YiF01D_4_^!-?F~;%4F=o zT-tW5n-f%#2{0!b#}BZ+{XLG(xp(p2KK6hy{5%13$$|AmiI9p+fH@KNAkMcah99G_ zhjK14*3Aj3U`u406Ng_%spv`tYfxoPy*&1#DOvUT*xx9Ry*@cJ*3Aj3$OM=Zi=UQo zR_LAZT5W1xyUVE1x#TX9ux?IJ1zRGwmJ?}Wey&mbA-^{8&dX=-8^(@$whG6J*y9!n2fApM>;khR&Gt{#=7;)y21kpl zVfNZZyzRRVhuJM>CG1DSx;a4=nE-R5Sms*l<2?L+iL8KW+n2|N*$rl}&*K&e2fApM z>;kjn+7IQ_=*IjRNLc}sqv_9K_7BtG5Q(6jX2~uvI|h7_PmOx-V-*;ki6eBblF(wTZ` zhpd3ff!i)|;Q!nHFA=oUEZGHS$BNWtRjuRI^mDj%L-N_Vuk!YOoF~jK6vK>lbAl=| z0p`T+KJTmFFE-T!fXN~6H-XnUhJ@?_ zv*T)}e(Lmr!}@v2<8gWILG`lfYx}gH^V(-iFk{`Epo&a@Iq`A6E~?{@=h`7FVA_wu z*Yny{GP5u6|GpX$vJ1?P6$M+U?Rzun^C2r>a?C51&u;$`=fjkcU0`bf!T4S_IPzL?LGZm^v67T?S}DuOvYEsYtQvEW8IvficEkxk@`ZU zs=n-NeLiFbOxuog&ii3X$SyED{(LZ6y+6C5kMccx=CyA&eP7?M#+S%zZ%NLKb#p@R zhe#mJiCY_@)aosb^xtu01x#)nD`JmZBpm3XS+Wbvj+A9TRas*7--I1CzszT!yUW`? zr(8a}@KI*0n-f%#2{0!H9q6XqU)`l+<&_mMZF{;adF{2U+2?VKgachPOLl?TktfFh zbvTz_J7fh+jx|g3+8>XDLnMNBnkBoy?D%QQFtugo0_~6$Fgb9}i9K$S2-<0u>;khR zZ}rs5%ERx&&8wZ??$_)CeY^VpP?(*eCNtK}3985hm=nqFgsJ2=>Z`yedSwMn+diXp znC&deK95@@9O$B1vJ1?PX;mw#(Z?%khpd3fQS@#;`(j!+L?URXS+Wbvj{nW8t2XT~ zs2#EbCI@c2#2&Xu1no3Sc7fUPd~0T3`5ye4)cRcu+E+*M_NMx^fbAQ`jCFH@Dl!4) zL`=C6zKa7!>iv)vFl~FL1_kW!{y0`5;XoJ7l3ieStSPwBxASZL9e1y+fXPvRPkuXF z7dS*BXs21S3(Stc$6odoJl#X@hpd3ff!i*z$1M^;JI#_^V0KJ-RmC~`)EII&if%4! zH%~Ywjiwf|?5kqIy--k)EirZ@0^Jd;CKz_e~ZE@&?sgJWe%$SyED)=jJx z_v;S+8;h)f$${GyvBxbEK|9ToU0`-}xS!hUvaYq>k7@p*_T@6Xy~pYowcEIuv2IRK zMJB+U=>Fl~&dlBQXFnXW0;X**aiEC(syU98DIvSS>?qT7qqFZs{(S~n0h0sgoH+3R zC>j#73(StZvszlC*JjYiYH^+7cIo~6I8p0KF+0ySW~`eNRFMfVCknT#Yo*LsNIPT& zOxxc2+hX?8w|I;)C1e*k!I8Ft)%ay)?T{5PIT}?cX3xuk^HJE4kX>MQ)PI)O>OD-q zRtwIe3cARF+ZD0LZA!>4FgwQF9%I!kQ&~U1N|z+u?oySHNvi9`?R;IBv2IRKMJB+U z*w=fwwdA)iwL@0GwCx$&;oHE?@UuR$7`?ZFI>;khR{EsN>)3@pL z>knB0lf#=n+)j}h=iHQ#UEqZMXdh*j{dXokZx7C*3c6?=w_W1Eei#z63(SscecD+M zrzN)n@xb{gW)Jv>U-$i(t+?GHH_ivICrSj)$A1->0CQr{<{p+i%N2b-WCcvy{z2Q~ z_WMqp4^u*Rf!Q(r@DS@$|eZQF9WglLjn-a1M%#NXD>sgc1 z7Ss+|0h0q~me}JqC1e+v9cf07bhc_cQXeZjvap@3FK=(DM}_U9LzuCiDB+M5nE-R5 zQ2Ykx^5ui|e#i=#w*8+zMeLu(;#ipyvJ1?P3Te+fFBk2l9kK!@N0~p1*j>Mb!<3L+ zV0OH{@SZjQJAVI4R>0)It%o@9nN&kUc7fT^p`<6S_gDOVoT0r7+Jk!X_O|d8vPX1d z#=1E{6`25Y;_>;JHU9`)foL0L1x)L{r-keT-Epi;3E2f^N9?d7&a(;sSEHz-}0UV`WOnE-*XhdKy`=U2|)Ptboa}zfwWFU2`~03E2f^#}|{@Sa%oj z|NAN{U~=GgMeK2#60!@-j$%J9c8WvRfBRyR}1Bz~sO!l-T1oC1e+v9kCmh)HwfG-_O0hXXUfQAMp9eGdl41 zp@+;^Pn2-TicEkxp-z-=+I`0A{g4$fZ9C2^?}sTNyTI(IQr7bQ5H&_S@K;uv^>AWd z`|>m153HLLRFMfVCyso1IBu7ZziTNgVDjOJ5PRIFgzN&dqyF0d&i$E3DayC)p4IM_ zj9-%to0Gv_)Px!9<^)w_0?dgE*fSiWC9%ADizodAI-uZ%DHmgoS+J}M5a0M=bz_%>&xrE z-8tI4ob6heB(=U?)#yCO)#-LB%~&@ls3H?!PLxS<-&eRtH#+BDSpm~lo!T|Wwd+^* z1>Vc}FX8w<%FYAKiR%6SO9$z_E=%vdE3gwLNN4H22uKH|EWK@Lf+C$o=}qY!q_dMu z1Vj)}1QnF>MLrd=QwQI!Cdfg8wImu(=%FpmFV1rp@wClcJ#J-cv3_`5>fqbe z1UX2smc-MCPofLe>p}M`&*(|>^w!N}2aih~e0w4y#6g0!B<}UW}609ZR88uN$ zcQ&(loENUNK<|D=t}7mwI{5ZPM2Ld~Ye@{K5vQG>vYOsId+yg+pg)-)J9u2`;M)@s zAr2C(B{BI%oc3zgU-VrZPey%#UcQ9v;Bl#gZ%;&oI7qOTMBC?a+SV0r(UG_Q0)5cA zRAQU+xYWV7Cn7=|Bv?!0NTq+G3sjQ#-60DW>iP)T!Q)Z~-=2sFagbmwi8I!9&r%J| zERJR5Ub0ZHeO`9(xYWV7s|j+DU@eIh*7u2)RoX${PmFlAXrcbBirgMNF5a#t$U%a& zB-+%EGiF_1DvpuQq5~b)H238{FVeT>kbSW+DgsliWyfdxOB&1i*ApG+u%?dDTNdfvUi0=) z5tw2vI~H9@Z%i7{UUZfpx*>DU+* zfhpFqUK$Lm%8*NqF@0fgO7V_}N5?3ng6 z&M3NgG(ER_&|ys-6-UPFKOE)`AnbM;3sbCR#}Bn88P6U)5U)|_u%?a&@5k$7)^LZ4 zz!YoQad+kzqv3>+(Kr@4oTA&e_Keq8e83$l0#mGIN2jbqjoIJq5*_HUrjCKl<8^%y zcc=(Vv6dZQNAxwepSdPF&|ys-{Cq_^HbzBYinZ+6`XZ&##Sp)P40)e1quwID>?Zm6 z2z@uY> zUWcwmmA1)62Rf{&gP*TRTi<&P5_UU{g(=puu=7V z+x446rRLk!1UX2smc-TUHH@K;#r4%Z=&+`~yM1@)Q>)3o*cc$}nb266Vl6vnyr0_m z?&nUlt|ER|w@v@-*T7h5x9dxfNzJ#b3E=<{8_<&2aV3MXz$ec$5#j*B>x$+P8v{fH z5}0BwJ7y-kmT;y@U$GpOzuKzD6-*|!$J*-K^s6bP=G)Z-IY_XUMA=a<68_xRUEHtG zVV!6l#sCq)DH@B{C=#;c*&A)NO1HC!jnji-W){xReL4vg;k}aKCH`DvF10B{h_l_sG>d^~iUu=wuz!YoQ z5kI72blRHoSU5VYsbli^t@?>o+@T^c#aec({B~CK>-zFMcj&OD4&Jh)V`EeVrdZ34 zWi29%v(x40A7@8z*Sr2B=R3LDcD=_rsrhy_K@JkECDAnZHwk0r$lfR}a?%?|y6&K)WOQ>1pH#aedkPTtH|_jx{pc;2HYee#nXdcz!YznyPa6XYPlS`t-qcQ%a7sj0(*4r}U* z_3qI7-ICisHUJM=nhxdRBhod`^^mK}Tk z9AD=*M* z-7OxReL4vg;dcQFzdf_8^?j3YkQ(u*l3-vrlWM6EIiog_W*)eazy69R{C7Y(b8i3$Hu4#OtF?7 zX&d|oQ$L2Rf{&qxHO{)@Q8Tp&~HF zT6Xl^olzTET^s|j$0CPQ)UkE_GCj+oQh{})A~3~Tb`-dnOH21-j93nISX0M^z037^ z9k@e9V2ZWu_}}g*ZEKE3q5~b))bZ}26?%m~O9qxhMPQ1x?C9}!DXqgjm*_x;HFf;4 zZ>64LGIyv5OtB8EtB)#axq81TI?!QF9cebN(wk-Ejsgk-Q>yzfHn}(c?tNy*l$ve*I`yf2P?gRXH&(->xRe zL4vg;zOCFK!CPuPb$HNWP0R6g_9V0QZ?exiuXB)y;1rF8Db}*%_+0Nsna*I;^Rq(x66Wzp51j9YEOaG!~{<%Z@QWW=<$OO8gGegAQxzIMcF*dGZJD z0K#sku`tD2cC@XQJR#E`vI8B~)RC)FF>~tRN`d77!fvOrFvVJSw9kF#Xvy~SydUVW zrjAYNvYGLJaR(4~JB@`Y*0ST@qu(4IwO4ka!X$@9^crGhWFKbXZfz)@PfJ&b`GQK-ldx7N%I+9kl}; z_E_P>t9o-?!R4?z90^RZmL1lT*9okv2y|G}atvIUrCxA*s0d84mL1j>tQ*+o_E_X_ ziaPwBPW6KKD;0q$*0RI8C)N$zckQvr;S_b$t2)14@bRG{FvVJSSdXZ>fybad7CD@v zj!bL5s26;ks|ZZ7mL2~-SzI^pTw;$!4yUMNdfH3%g3nhf0#mGIhxH6sH}ITjk3|lr zsH129SM`F=yD9=xtOLt&^qabY=XQH6ayUgDJKo8v2VXy|=XOT|Q>wB@ET>0 zMGmK^BmW0Q_2BEEiog_W*Nt-YlHOQexi!N6l>XG?O8?#_C@Wn$l(-qyt*+_5AN@(2u!h-9o8OlbYP#_9*Z1K zQAfu=XXv~SFZQV&2~4q;9oBn;Xnt>i4r}V*V@srCV^jpDSj!IU9gD&5an>(eYw~-U zW+&E|{N9OgR}XGy@NCY?>Rl_ zu%?bwuUDDD_q9OS?KBpqSj!IUov;yj@9aT`HFexczsd~0KL^5Yr?D`_T6S3P=#9WJ z01rB>siQ~cm1gib0}ysQjfE-JvcozuVFZq4c+g=@9p9x}VFr(v0AaV&SeRlhJFFut zM&Ou?2OZYbvHAHjGkDww2)mue!W3)SVI3(l0>_p-=&+`amN%E0!Q)pz*zGhHrdZ1k z>xh>TI7a3{hc$JSKe5CN9)|XGeKwI0_-w+14r}V* zV@ss1a|i_qyPd|u6l>X0>S}i*&2P`e=YyZuP4A!l-ZGQM8uT)afB*gULi6ovf*d4R zOQQCHZpPOSUW?Ch&|yt|d3L4r59_*H^u@*iVb6rd!W3)S5kIS|@yqjM;usk^tf^ye z$7KF=`;P`XfUw(XEKISM9UVG#F>=02Av(}uO&#yves2Es>Z?Ep5OzC_g(=puV{_ro z#=cjnLPVOFzWG6itAP$6 z>~&K!-JTG)--qYkOu1bO2$u(^!~dEjvc+Yhh^Xa*7Ug zSW`!{wuj6+2XY2FfUw(XEKISM9n;#!7eKynmRhp*lo^9n?KM2gxyYKVT!fv zsQ0Lu(V%Z$u^i~IrjF{XHk(IU77BC#VYky*m|`tE?tk3WnC{9iI?!QF9sJ&abZiU| zb~}xQDb}*%mxS&{h0ZUco79}Od3&ih{MXm6(rK*uBhveGWL_pT-yTX(3LPX^OXBp& z9>&wx@;amFu%?l+@5|sX8oOBZ#m1-zOtF?7OTO%76#C>|G>%0Mr|9--_cHohot+=( zP!X77Ej!BX=xsDAbW3!g!3t z_+!>i(SZ(Y>gZJ|mp@DY4uK98fhpFqBi){1#)(7n{8#9(rj9q>$n8J9sd=D7MPQ1x z?AVt!*0^$QwO9^xSW`#LPr3c~uek#qDgsliWyj{`BaFSTJ{2A4u%?dkEA#lDWqd2p zp&~HFT6X+z@<`)kj`^Yk9oE#bv14BUh{}}$9V!A-tYt^n&qo={i+(6N&|ys-M%sM- zYfVc8I#dLvSj&!F2Sytk%1#y?=&+`aVcYZh&29w(9V!A-tYt^$Lt_kY=i#CQ9oE#5 z&^W(;Wxs5J4i$kZ*0Q6~ma)c|*5aIi_E_X_iaOR`%I|+VAZ?&SMPQ1x?C{MRXLQtB zi{(IvHFcEgS-`*X>lgJ%Tfa9@5SU^uJH~YxZ`3KGiw<;H)4272Dd2y9?{9$)6@e+% zvSVbv3C4@(l|=_Stf}L9Or*czg6{(zDgsliWyjvHCK!XhDJ(kBVND%P_eJ`n`*;H# zDgsliWk;>P6OHztWECCgu%?dc*$etRRoEKnP!X77Ejv;?nrO`EoJ@3}!y*BYM?_!V2ZWu7;$Nmv2K-5bfCkU zI%fS|(7$b0_dth=z!YoQQJ{L9aVhm0(SZ(Y>iDT(lz(%&8i5WKfhpFqBU@aYv7xU= zbfCkUI*f)<{(2oV20By(rdZ34b_e2&l#?~lfevfxi0&KZPobT3k&cZ~5tw2vJ8oZ# zGlq9~LFfIj$0CPQbbGsTQU1r%hqy?`#;6EPv6dYttlw1Et`{ph&|yvErkob#&z*dU zCOcFFrdZ34C$Hm-gQw;nvUm?VtZCdPQ=|MhvuvaHLDq5rVYky*m|`tEVxPnrS1-*H zzYRx+HH}+pOq9RDoUvZgu`xi{?KBpqSj&#+pW}>lP0}2-a1T1HY1|dPtaVlYjF)t5 z3=noZjfE-JvZMX3IHU2JMxp~9)->)$J<31sa%P|G0K#sku`tD2b{rfTXOwt4O?05c zn#OIKC(3_jcCA1M5OzC_g(=puqi^XrBiqu?MF%>psblJmg8nBpdImaxu-j=YOtF?7 zT~1Fj9#lInI?!QF9j!kr=pS}>TA%|6yPd|u6l>YBxcel-b>f!jK!-JT?C)IAZ&q0n z=m5fQr?D`_T6W~THql7fkRrhv%7YGT>e!vSpubP-wm=6Eb~}xQDb}*%V#|p}rd!!X z2Rf{&L*E$bZ?(l2=m5fQr?D`_T6SF6Il=fcvY6;Vhc$Kd*CPF%pDqMCfUw(XEKISM z9a*g_;O2;_COXhzO&vu}7x3SCaVO9LgxyYKVT!fvm>E6ZC^M?Q=s<@xbqtRw;Gde~ zRiFb1yPd|u6l>X0bMQE$QhZy{fevfxXn#Dv|Fg{LOw!hMErW#JPGez;wd{!eaIDdI zb8pds4r?0sY}Ne!T$!>5I)Jd-X)H{!mK|@#k1-bP9U(fN*w6UPm6w!eWYwDQrXI_8Q;}U@mAnbM;3sbCRN2c+kjG3*)xz#=Bu%?ck zb@TeSUaA!60K#sku`tD2cARWG(%4mBo`(e;*3>a(avuL%2i^*F0AaV&SeRlhI}S&V zFy>ZVD%KS`tf}Mtq1^uZAJ-3b0AaV&SeRlhJ8oSVZmi3;R&=1lnmT-Ua`_vzj|p@D zVYky*m|`tET1*^f^u4!9bfCkUI`mAr{6@}>fes+-b{Y#)tYydZ>_e@i`nyC2I;^Rq zeW{%OQeXEBbO2$u(^!~dEju18dEdA)P?2M~5UjfE-JvZF@k z_lz+OSp&J$~-dA0fgO7V_}N5?D#QukTLh!S7JHPVND&cYG(8QylPUQ z0|>jF#=;b9*>U~E0AubtaV{heI;^RqQ>m=}Az7ydI)Jd-X)H{!mK{CP_cyM(eiX}r z4r}UYm??|D;OUux4j}Ay8VggbWk>JmzQ&DjuZj+ISX0NbJDL24;${arfUw(XEKISM z9m#t3HeR&5EjrL)O&#AK%IJSxc0r&62)mue!W3)S(KNP~G4r&zPJ;&>*3>a#at8ml zbBhBVK-ldx7N%Isj?N={7{68%=jHUE!0SKD}MRO=C^CKhSJFw4Bgz@A~3~Tc6?Q%gpsgE7ai!Zrj8#HW|-f9 zS1iz>A~3~Tb`+Rd%E-J&UYi^p*3@y~i`izbnneN~DgsliWk>4sWsDEDM2qD>hc$JS zSiaDlu^=kYp&~HFT6T=hUEZj+qK@c5hc$JqAGXA-bF)C8Lq%YUwe0BKuA)(9=3Alz z9oE!QxyCB9am9Rr4i$kZ*0ST!$CZsSgKLQnbXZfznmeDF{-L=89V!A-tYydGqg9Ox zO=^e^bXZfz`B|Gy-zL5`hl;=y>p;it>PGj%)kFt6tf^ydft_Z%OIZWUF<3!hinZ+6 z@DDvAztSX0Lb=?KOez^11-%u%?dIeZ1!Ix8%8)t>0}c2u!h-9o?Ho8l?LO7ZV-mu%?a~Q5Vep3!mwvV`EeVrdZ34@3jWT zn12e34s=-4xP=N`GF>Ac2Rc*)rdZ34f@K>S35%md2Rf{&BV(qk=CHT#2Rc*)rdZ34 zvYDG0QI#S^2Rf{&quiYv=EyX^1v*p&rdZ34d%rg|Hu>|34s=*kM~7X%nWGL}4|J#q zOtF?7?S0LS!L8(ZanNB+9RvH`Ggo%M9OzIHm|`tEI?QchjQc64SPpbpQ->?eqz2c{!E}lMPQ1x?D##0bv@x9<@JQoVND&M zXMJw2eRLwwp&~HFT6Xj}-PTCiGLu*ibXZfz?_*w@X}kLZ9V!A-tYt^_3GI!mzVxC4 z9oE!Q`BpN2ze9%t9V!A-tYt^%VjYc+736t@(P2#;k5i@e-$}bS(4itQ#aeclUv@I$ z;!}&|K!-JTY{{S6zrXReK!=LJ6l>YhwObdX-#;lt2Rf{&qkhS>{udM02Rc*)rdZ34 zeD}K=McO749q6#84*mud>DU-1sxUjE(%PjW1a^SUAMPQ1x>~OElk&w5^MA3l`Yw9RC#BIL5!5u0BQ>_%B8OAdu{&dPvui`{P!X77 zEjxC9w=-eACeK5U4r}VT)3b#+B@1_`2u!h-9mD5-nUJTKIM<{-7CD@vj+0wknN!YJ z3fy;91g2QajxEoBNSKhnzqnta!YR9)kh4Q~u^i~IrjF^&JDT;LRt&5w6@e+%vLkX^=s<@xb$mL$t2wO^cc=(Vv6da#zQ}7-I?zmX zpu?Iv_}CKZ*ccUoDb})sIP0T9>hOG7sD%Cc!LJ$Q^6iO;5C;j?lGsyvh!($MUo>?b zYFxz3)Kfmz4o|nP+cr~bzC95UfesR^CGl&nZd#X2^0gKn*0dbwek@}CxrHC+Dgsli zWyjJ9Z)=Tj%4<%d!U2%lhJQ>86@tz=&+`auYN3M9=7)x zR0O72%Z_%;k5D!W-MwLE?u8>1pH#aecZs@5_(-G*^ud!WObIx=m}VHVHF9V!A- ztYt^82J@oZu9oMmMTa$Y94VB`+)$l6R0O72%Z|F$_DBDkVTf1`bXZe|J}bA`t0Q-) z2u!h-9o6^z9DV*(U(taMYwF1VTOKq06z)(Fm|`7Rj^+_s`5E0r2Rf{&!&g0@*?Bj2 z)Kw6eVl6v%y_;2Q^o4vKM29tX>>QroOnrwtR0O72%Z?Wx7uG&oEIXW@7t!@t()@L5<0A@kfV2?!(r|9-qWec0j*K>!8z!YoQaV_g0P4j;( zI?!QF9Wf^ho2QfUYpsgF6l>YB@{{3O<`3414s=*k2k+sKw$4eeATY&Rb`Zz=a523y z>-_q`uMFh!?TLsG2MN~pau~cE#;U?P@58l;Dy;MR;oH>&IY_XUgtc}J-X7?%rsYUE zrH~%n<|+bHtYwFFFERLjg$`@#=x{Ph58iiG1g2Qa4(r}-@Z$p=*3|LclY)BiF{mOi z#aeb)k6MEt=jgDej(^h^)Pv6@DgsliWry|bWAO78I;^Rq?HiGL@HtUMV2ZWuu%1N? ze%?igHFflTlwS`%x2p(Dv6daytAW9ia#V4hk5m71rkKv}&-ivVK@JkE zCDAT+bi$zl^8Fw>tZD8KD-_d%?>SWjrdZ345erTx^k^gB*P_FkIY>>Qz@muNnA^B`_8_oT82lKNr^dI8$tl ziog_W*)cxF5Tiw({bC;u9oE#r`#z*&V^jpDSj!ILcpvWC*;@AFgC7&*^6iO;5C;j? zlCX{rYJua4o~P%#>HJ-_72kHz`8Xxto`{G*2MN}au#R$Sd|VVA*0dbeeVz2+u~!v= zDb}*XI$Epo@m+LSQ^!Z^I_SY;$SML;tYwFF)H#}uQ=`M0I{J)lrw5OPs|ZZ7mL1m7 z^JqTajt*<;nB#7v2aoBi2u!h-9oDA+(fqjqI;^SVO!8KG@UsaOfhpFq!}>HMnm_+Q zhc$KF-yfp~KVwl5m|`tEtWRa4`Ewj}SX0OTcbn(ixZ{yYjD*3|J= z>Lz;dGcOf^Db}*X`jjl1KUYJCHFfk`+fWaFcBdjR#aeb)pY}!b=Y#05rjDyM-qwSk zL8=H$v6dayrj+f0{dhj!06@e+% zvcvimxh{Y1j1Ft+sPVM~5|aENER@=g;fK=jVw5ro_Q^);!PxRn- zyi^3HSj&#e?OJJ9y2|g7p~IRw-rMt+9{jGFiog_W*|B9#3vIw9`F%KaSX0NWtoQWb zckWaKrdZ34o!;hJ^VWI9u~&3hQ^)&Vf765C9aIsRVl6vjes8Lc`%)f5Mu#A~-8s|ZZ7mL2JvMr-2&-wQ{FHFcE9;?;xSJy#K!Vl6w~t5ZkY9r%7bI;^Rq^WH;x z@H_M>0#mGI$L$htY3l;t(?^FjbsTQ+g&zDZfQrBrYuPdVjar%(_`Lx-tf^zzi5+_I zHw`KRQ>e$v}wjTTq zmWsd>YuPb&W-0CHZh8C)9oE$G#ef-l@V8_t0#mGI$6GZ^Xk7!pS3`$2b=2rJSr7gu zPDNmfwd`1PwWyXQ@Vh&7SX0NQMWgiKZ~IgPrdZ34gvo`quU5&=&(UE`9RuqR)cN;{ zu`wzFQ>mp9#4PzcNOV|J2OmKq9UG$}FvVJS+>Py_6@5$mo-<-+w)Ad3SMi7K zGr0M8qI|oWAO{K7l6X9`K}#aedUIX*zUy+QnLI|3cnv>dfEW^)IB8?GWS#aed! zJ$#V1@0Ixdxjhy+oT84A*|NKXzj0R)m|`tE`ek}gd%ubJ9lbpkIh>*ncg7s<;BWO+ z1g2Qaj%rKZ*VfJw=L4|EB8OAdvG!#SckrA8DgsliWk;**L$%wcIIn>{7CD@vjzu?e zx`XFVP!X77Ej#v47^ata_E_X_ ziaILH%k2)H%R)t9inZ*h7db+kUqzfR!ybzqPEp5??en;U=j2ckm|`tEy0smtO>HR7 z`(cko4yULiNA|q#;JHOq1g2Qaj-BI1X=U4q^Ox9Tk;5tKxbbCPckmo3DgsliWk-#9 zqqVeM#d%olvB=>Rbu<{9&mBD1i;BP$YuWMFqA^;DgW`NL_E_X_iaP3~%kK`JvqnW= zinZ*xI&-Y{!FF+89D6KsI7J;NmgRQ`&%L7}FvVJSBp*CZ%fCdN-^U({98OWk&7uX| z!E*?y2u!h-9bKZwYsbcl^Ay=*k;5tK_;gJHckoRZGCJ$l(;- zel16&J9thf6@e+%vSZ)Q3EJ0%iir+%SX0N5iIMK$xv5kHrdZ34BP}OtXMYptzp}?7 zhf~y1{^v+{@Eltz0#mGIN3v@ZHEpvvkC#0bIh>-7YLyDQgXaoU5tw2vJ3i<>Njq^$ zoR7>NiyTf-$G2k(x`XFDQxTYAEjwDAo}{IDQ=C`L9*Z1KQAdh{1>M1Ox2XtBv6da( zO2=vb72^DG_E_X_iaJi;E9efMgHA#PEkjhJW=l8x%5;7 zrdZ34R=eV~CL6^0`s}gD;S_Zgsukr9o)b_-V2ZWusQq)CHmZd<@1Q*vIh>-7t<9s{ z!E+m`2u!h-9mAi*X-9t*=TEf9B8OAdakgWWJ9v&p6@e+%vco#7qt>VE0y+<*Jr+5f zqT4_0WUVXvT$3sSQ>GSj&#FmnK=yCBC{i z7CD@v+q+LK=nkG6S4Ciowd{x-GD%xp{(qta9oE#L*DmM|p5s?VV2ZWuNdIV}HmQ?5 zk1#r{sl)qQq&s-7VikcY*0MwIJ5hUcu{<9#I;^SV;;cw_@SMvk0#mGIhxe-qTJ_WN zyw2#brj8lKBHh7rN2>@-v6dav@=ee-J(K6BMu#&*iNmFvVJST%0vdJ5pDkFB~1#)KPtBes}Pkvt2u!h-9Tg6Z(N1+7F26$`7>gWEQAdht`P{*C#H$EQv6dZg z9T=@GEHhbjpu?IvT3^ZQ4xZ~?MPQ1x?D*jGQQCV&}9dHoM`SX0MGRdcw5*BDU| zm|`tE+Qhu4?aJ&G%YhDS>NxUNc6abvDJlX}tYt^$eS@@8etA6>bXbe!sF}?jyylCF z_y|(0Wyf0?2WlGz$?M9X!z;f*9t&NGiCAK*_tf}Lknb94* zCen2UfhpFqqsOscTIogdx=ZM=rjGAsWpD?t?W7_w#aecJ{&f%S=NIz&QRuLyj&@Db zyZL%mu`wzFQ>ZJNBESH#8!YjwWX zZ_Or~b-qp*->xReL4vg;-hR|ft0%8Z7J&|HntPWjyY=9;&r}4aSj&z%?PIj`^7?A_ zSmbbuI-0*es0Xj%rXn!KT6WCX*Fq~QuM=mFMGmK^qscCx9=sNviog_W+3_G-EA5=T z-km)bIh>-7S&dHW!E5TN2u!h-9Ww{D);h`S_Ss{R!zt=$dhDDYyf&bUz!YoQk<;5o zODnHGXpcn>r>Nu0l0WLfYaFTwOtF?7owKyl%F62~+GCN!De9;^^r{}bR-=l*6l>X0 zsB3#Iv%DUpJr+5fqK@mLRD15`y|inZ(*TBNfU`!bb*W0Autx;^=V=X&s3 zrYZtctYwGRxr?^&g}7d-Jr+5fqKf{aSl0ayUgDv%X8?=IiCg#;6EPv6dZ^uXWez-;meg zMTa$Y@MqhkV`EeVrdZ1k3-ic-9_{2OJM@M*BHZMp&%H-)^7y4r`flGH`qXOj_Sl#J zLH}v!Ai>{yvOBCa^@I|bn)By&{pL{UunBaKDBX3to^o>-K{XmWNbvWh63+^WkW||3 z`qE=z9b!3R!9n7Ob=&mMesvmSi2r;A*?@-h7J!Y8xR!aRUiH)~hi#6_fvH*iCQZG3YcYoiZ z&${V!zrwLF_4L#Z-4zdnM{YuohR(b-JM;&-OyNlCSt0T9;2rwL`!AAMSD5-?-41

zj-;Ly64N(s)AucR>cFuuWxTUZe=ygHKxbsmZFx!~oOK>L5IAnflUwy@Yj2O9&yfyYSLh%ydHh!W#44vH zM*>sn%5Bx#?{gy1iT-Gde(dRgnH3WFx)Qn^=pfPa=4O3oXQz8R5}3NbXtO?RkrRPV z$2YBUFUb^+q@EQL_!=w-``M??I}7#hchibj;R^>A>Ic4)n!l5r_|+L5BxclGq?g?! z>CjmrfhqoOb>a?mkk~%s6MgTIG!FX=NMLIBFQ4i?Iyn(I?$TY0^raK!+>s7l4s?)+ zNEfe1wscx@Brr9kY`ng`mJ@-__J;BLH--MotdQ8!EncsY)~N$$g{cLDpvWJ>cFuu_2B(@eaxDq2uyu5;S>Fbs!jwtNNnvHudnzZ zDFRaio5$<=ASVKy@>SyX-YsMbyF=F%I!L@T?i2m;w$u*yc65*!V%-z_S9F>c5|~>4 z^CEp~4krSg(OVYj-CoO?;7Fm%fesS1WnZjF<**#+AW?PxBK`CerzJ-MQ?C{+)Sp#x zBG5s?KXQ@2{?DWcO!ce1NdNBFFv5B!^=R0Esj@Q`>XCE82y4gBqoISu_!kTH;#ZO) zFqQG(LOtQK6M;_2VGH#`zsMAJhi*Y!j@(NY>b1|yt%hqolt2fGAqy7j`iP{qIi{ZU zU#x%jSxSd{2|7rOoIX#VIy^-Z1g0hzSgaSn>hwMe$IV-Rfj;P*oIBF?l8bGQ4icj$ z&C^>qbJ`wAVCrd`xq946Cj!UKs4vjVmyju>#jNbtb99inUuS{-WP(!%5|}DnX@TDT zj1#dw{{nq(F8Q2MdFFgQI$CNqfesSbZLeMN_&8Q*f!?}YI2(kZOig#s(PPVn5n`Kn{C9!=X>vI$+^fOa+RGsbbdc!0b+&$_{~HeX zT_iA7zRDauq8bqPHpf}v{v7t%_YyIy#u+l1FOKFE?Vm48Zq|QC>JbYwnM<4J3eL*z zKnIC4|D-f;yqPCRL|A{K0|`uZ>Yd%}l@dB^0v#k8`U{ykdV~>FqalH*cy}RlP)i`J z8PT6dtME%U^VkTvv^$GtGv|%ZD&~%B#NL8}KnIE48&jEiYG(^w@FB~!T8Lzf&KB(@ZYG@E#HIILYHFg59|NOO?~2#;J4kM`G;Nb~v=xfbWn zE@-~ooJEX#ylDY*bE@nP9q1r|+dp*eB7vz54GNeKKY$Ko_Y+CDbi!X3gnDWSd&pJYQHk34a$gPxKCGC4plhVU8?j zrX1+hfdr=hZ%d9up`B&Sf~ikiIg7-J#2Y_l$B6i(!qFgGs!FS9}-!`>3+yzNdMI4exu$XU|t zaV(4w_jV*Ob+ctz^UeNYg!O#l(a=F+!|{^ld(V?1FtsH|DYH#}c#X23uh7ZWsg#*B zTBfku-hyH|&_SYq*7D|nR8Ad8VCwYgN@mNzb8u(}I!LTqTG<@5(`m_ZCL4~IGB12A zXM%KS2RcX;+F9N_JIiS~&_SZ|gHqs+LorY>AMw11nwolc1*?lt+iX+Y2ODO zBs>{Qo2jz`VU16J9t{ahWk_Dy?C~ZLB2EN4X>XM>3-*vH94U0|qJu<_J{8Q>+rv7< ztk6Ls)6r7q_-RQIn5sFWlsRdA7~!GiKxbL~QfB$%GKJmtawM7+67?RJGziI|i2ghpj)kc+4NI6E^)SLi z1Uh9-6gQu>{x7pag0FRu_;@?c3R8ULg2V)-u!FDJkeEORi4wbtnXLzhExA}%NMMSu zJ(0Kr9VD90C~E#O)~N#tOz|}|5_h131Yg-BF@X*e=A$C!s_{;P>lT@S5WTD$0MSQ%+Hp7>v8g+$-Jk>+nLlA0B!@ZEjr zlH>c=M-wB>Ar0g!GQQspCD1|Q!)=k~r7~f!=VHl`z*MnYk!H=TP6RsfB@3Ee{+0VX zIFfo+NR*ioY4#ZFw6}x~5}SqiTkd#)b!`kmVG(Ed~dvb=RUJ#Kl77*@TH(02^}6QZvA;Qbdbnbv7`BEk+5SKfTlk4A<*mmq^c~KT9dwe{U6QHkzJMEG=%?&<=EvI8ZRwoIOa=Y64Tye-Af@wR9qirS5AMA17zE zZ2f3+*WYqG<7`7a&_SX|)6wRq_u*b5H;1)7kigWBk4Ks2uVI9>6+If>cYi$7*=%${ z&JbrCIxBRLNOr2TnY*6T_CNwtbIs1?!}UPe_bXhB=YAY+rl|2>wjdG%PYyR-1)R1A zZgWh%abmbxGzAd$tkBu=?QnC`UHK@&kwVuMI!NHNL@0r&rgw&$XTFmiY62Z3ZfA@& z=NyK|xqUA|0#g&TSo7v*P6RrWC&rq~=lqvhA@Sx{v1XRBP8~QaO!dweYhElOKWPkI zSLh&daq0-ObW5iWBrr8&_(-#887Bgraf?Qo4^zt&j-;Ly67_nFF@O2d>D2(o!qlc# zW6h<w0 z2~3TOo@#D<=G4*S<|MOi2lLb0qRTCcrKnICjohF*k7KFVHigkqqrZP;KU{>EAMu=IV({%rMbHFi~!jVGP z6*@?0UyL(nT!9X2eERcfNMP#17qd+|-)rI}M+b=s##qJPD-xJ0aA}O$_nFhIkigUr z2{TMOLu}$%p@T%-_s5vspF@XSaBIntz|@!loz1B^oIZ&|2Z=Ii##o=eI&~m{Dcsi* zThJq?<f*XlX6GN}xVYaHy3Nr+;!&qj=HjoMW`zW%X6GJdF8u-sdsgUt|MN&w zU-e&Rg~ansBh3NRp~K!DI4ewfW{ort4o!-{)QtvWkeFrd0hDRz*a2f2uz)x zb4zO$Sks|f5FI44S8nerUe2il2~0Ij_q*1kx)Xs867Gn$uHTC!MPTam{rg(&GEM|K zNOa57+SMaZQUs>jRDY=b5$QyrgM>DzrE6}6qzFvi{O++fEsGO@4iYD8v~bOMUC`mV z1PM${JNiV+lH92S9V9L{h;g<3%c%niOx67TA8pM;CjuQL+U#lWO7Xv>2u!_h^;B!% zNT7p6mdVXsYrl2sKmt>Ad*9aC9o8;7NRXb<3kdraC!F9E&9H8GhedfbBrx^-w|}&I z^`OJvheHPmTGJ73AZS*i0|`uB-}^*!RRO~8KnDrB$6Tofgx!Gzrt*0oYq3RvushH} zg6{dhmIT7?Kmt?Qaz50S+{T^_jXS>fvHMW4r=$YLlh8!4ie|bO!Ot{5VJx8 zQ>T0G(!O+DSLh&7tm7sv&T$K(gT&CeYqd`t?^oy`F=p3NZPzteyR_uipGQLniQ^d; zYVO~h2y~F>vtypI;#+u}%L=Ol2~72Le`tLD4G?eR3dh2fzn;f+HFHt~ zrq(nuTrV=@2z`85Jsu4mB#K>_>WVDp)PV%1DjiI4eUsj)105tPluK~sb|lb2qEyxy zt{>_+%?b%jonLpuBgLK%Yg)@o)$ginw{6F105tzoIU6o z9O*=$gT(4Cb6piqJIx9SObw}X(B&!N)PW8Xz7ca>C4X`1Kmt>njvsKft?bl+4iXK9 z9&r6y*NH#}iRYybxC(c5BG5sCblQ$i@72NyPSNdyA4NJmC!&Mn)*o`fwK1zx2Rca1 z`SO6PRzW8M9VDLDI_OGY+KE613EG-}_fLwz)c0Q>bVXKiBG5sC?v?+HO^U!&y@H2a z&#OBT=paFl$J5J_A~5ytm_x39Z#og^Ad%{)L#`fmoCtJ~c%U72-Hdi3&_RNpAJ-pA zionz#TMxVbb~zE~AmNWX;+m^F5$GU6uO;g*Cq-Z?`qLw>y>2H09VF;A@!mg45tu5G z>!_<&eJ27PBiX1?KnIDe$uEZMBE1N(E ziKCj~>W5p4&D=O0v#m&-R^Ups0C}+CeT4*&@o~dmD9VA?tFS^!DcOuY1qR7%8U3woU z0v#lV-Tv9NKED%z4idk;^G3Zq5&0cnage~&r+d=X`#!Z3f%kCQLtYj*3XE$y^!*1q zNZ_X&p#(Ze(EEgQ#hi`^BY`P;_wv;7Qvh`E^Di99o|U!TtzY*S{M<}wAx-)t-bdbRJpP>Z4OT~Al-sRJ@KF{I(pfx`Ic{Fs8*pYjRap;uO{uL6K z>OFXr@otg?rXJ)Pq7~2X)PW8X%UTUE_B-xbB7v#wtvhNPD>!wagT&VlyBZtLCPiTC zz`L!C(%&aVU@G#%x3yf&od|T0D085JQT|d=1g7eDuBk10&xt?>i90Fk8XK-BMPTYs z=W52RyGaq4I{Iz}t?67R0v#lJpDSmae4G@4sdSmkX&qKO5$GVXeM||XLxj_QI}(^W z>MpDG*yYrL4ieq_6*fv_bm~9?Q?++S8m03C;Smp7>rsnNhJN{tHf3ZAM+$vrKnICW zR^>B3c?&vZh1G!srs(!&Q=MKp(LsWAj%ViYg?qTIIm1$ zcj6`I4kWxi3mdCSI(6V!m>M;tgfYBYQUs=2XDz4ITjWHbgG6P2IU||lJ~a}UIzPCA zR{nFR4s?(h-ng2fH%W@XRQ^ddwYcL>1Ug70+^=I4Z<7>(sZUllFjjX?ion#;AK%sn z-*O_*L1J>FR>o&Nk|Hqm@JakT$cM6M+sAdDi>13rKk6 z2JvXTd|)eJP>kDC4~W@-cyZq0hVMATcfd6eC}N zRuh=|_stKDto@uGgV=$o_YyLDo$u}FAn|(BJmc+mojQ=f6z!33?&d_GLwo%jTgw!V z6uRW-AQ5$Zt1+OdQwI{5%3po2u@~Q;+mCZ}UhAgOtNj0GR@ObmqhSXU$JfmMKdfC$ z(MY?~m3Mdti4GE^|8E4R&d*=uJ$$7~Xopx1ba31iZ?9E!Ac3j=w=X9qLd9$x{BG5r%Ve~EUr+G>S zJFI1(KaYk4rn+^!<6RU39U@KyI!N5xdB?kIfKvw&n9B9R@7@7roI21!V!^}Ty?19j zbs&MMf!XeR_oj8~KnIC#^X_{G?{Mls0#kclKk!buQz~@rdT3ptgG9wye|gKEaq2(< zQ_WjG_Fg;f)PW8Xw{JZ5mcQ%Nfdr=Jr+(`FdACysI!N?c_S8EvMHnIOS4d#$$6_zM zQe037|XN6tFtvD`m^rsFczi`r0?df+s>&29VA+0xn#sV0m36HtPUhF zb@pK=Z~N9x1Ug7~Gj;I((i{j`VRfK`M7QcUjGh;PuxEt?rdsxH>%H0#2)hFvB=Sez zHO#$0*d0hjEI`Ss{U`DfgRuo0kW| z?m!2LKVJW7Br@l1>YY)@i9iR5wOyNe4`g>D&_UwtU(LPc(uNVVC>lCQ z(7kfnTBmh|1g4IjZ{dCLGK>%%=paFluEL%$LabdRFty-iD{t1nod|T07&)-5cj>(_ zLd*&sBm1U;kfj1D722NIY{{;ZQX&kZL69VDJ* z>*g(SEsPMeLI;T`>s4();V?qX3JFXt@6yA2_DUEbI?zFaUPV`?2_r-Y5}3+-_FZq( z)i6SIpo0Xx->vj8>V47{-lfV4 zs{;v4{gp1e@3WmwdzR=RalH3a@0h$!9Y|oRc9V?0FAS#+bdcy-;a~4NH^ScCiFJhp zri$-)!?*L4QwKUo^r)ZKclVMLfesSa#y;~7-|aLjBrxSqpW3(do>K=pNR&>K()Tol zQwKUo45*dd_f|nC0v#mgyI*)Ge2^4@DesI|-nZWY!Xxik9_>-7YWDrLUG41FS6$>W zE4)`GzPIx|9Etb)|CRV?l-TAt7N&~Se&jv&2ORg2ld|sZG%G%08W-Q#SNLc7yIq`Z z=pzapBt9HGz+OHzfvN4Ky7~&N4m)xumIECmMkK^4I*`CrjTsAktp?}G2y(y-TBL7;;~5&ej7N-=m<^H2kI zpo4_}hXcM>QBDLpNc0~6h3_?fTiqintPXUL7#F?U_s4He%YhCO`+K;2@5bZ}-GX8{ zkib;RbuM4?x?zMhGmqA>cXoSAohg#hx3HM}1{FRwL$@G0Nc2CF$u~c*)Az5Cz*O&5 zS$sXxg%M&_<1%IT&1)o|4N`V~!}m=^nZntI&I%nQ&THv?-<1#R5bFvFOr0;E!I!5@ z7$Ig=Gh=$+Q?Jl16#uSk68gaIvvqA@nBc0ECU#EumoYsu!&!ZuMDO{$|4s?)M zH8GtpSEaD!5FO|sk>jI_Ue`S!JTxbo6%v^GWlLJ$p$b4qz#`B=;#$j}ybrB;`3#fy=8X-Vb2N)OwFE>+NTu;!tOu^iJR?z z@$Q%dgx!Gzrs8g=@}0y-lue+6MA>ese1Bwt4trMUAW>w<74O)=K-e8fVCwjkVeD%I{BG5r%wwc2B%Iid+6He?Mk=tR(iC_l_(zSoj6(nezTkFfCg%g~j*$(Xu z9X5duj!SE#K|3b`9VBS2yBj(Y=paE`cEnpw1Ug92z2{biFoG6dLkEd5*1bK&NvCy% z1g7Xwu%Vb!2RcZk@A!*%-+HGGBrrvf<}dSyb%-s94ifZ?(IiJ0A(k8+B+jh3?5#Q7 zX;w&Jik|u2&g9gA4ib;r{N(N5$EgDeOo?akbYUH0$VDqaqk>Zh5}2Y_?H?RF&_QCyk7vEV=W*&l0#meCb1O~Q za)`ByP6(m=-8K?r^vvelSpFFygT#+Hj(K0ZoCtJ~DEuhG z_vK`#Ss{Tb`mPDTj}CorfDRISdcW`vTISS&1f~X!`^P)rAQ0B`2>p39biOP4$h-cs zOyNlCSs~H7+n?Sv$%{EW25~G*wJG|CH?|xQ9x*9vR_M5f-|>FiS*CC#^{kMX(%`l? z&1~q96;=n1g{i5_Z+c&tK-jZFXUouEy`Q}JFSA0Tk8#6$^v&W)tSd~>H=x>&1Hzsa zI;1PNEg{Cm^h7#x?vEtYh?~sq2j&dS_sdnH0<84vfi9m;r>GOBsa3uAtkibs_LJ2%p z+M@_h~6etQPIeuNP0AVGTPtFTu! zi}GkV7N#zKP|o++Xy}Nr{se&z67O#+=bP8xi9iR5{nyI*c6D|l&_N=hOnG017$*W9 zBo<6B@7th<5ws{8I!Ju|dv4#SKRc}}BrsL)&+@(xYK3)(b%hQRm-cuXL%f4lyfqkVrPXqVJ!=VT70!I!I)glFR4+)M-{oU}|fM zO1?soP95kVvAJtb-!EgFI*`DWdjAR?BydkH^ihkC!PKkE`Idi^`0*G@(0z#?sYqo0 zrkwA@<**~dV(lV{`?huW78(pfhoF=jU4Yppo2u;`4xP-~lpR4#PM#{M(9ZH}RN>ueV$>X%-NW{elQ+amP@MV7K^r%H=MXxt~nXkzdj-;Ly z5}7vF_I>CJ>kw-f$HEkT#unOv4iW=r)b%B-3F{DR7YR)5eirR};Bg|*xtYS{>+z0E z;YjLPA%UO#3Bp=x`m;V=g3lW9Gr^0MclgHdclrzx9VAYD?edi>=d>J1U@Fs(F5k0! zKzPKYtXUy}shB=negBWL^MJ0R>e_ImgbtziE+So|3vx4uDk8m!fK=%s0#XFINEeWf zl+b$-kdlNXkUJ9tgpPnHh@cdaE+8HK=g#2p%w^}#$E?L#ck#Z@*?XUJ=FFMNEgQw} z@uEV)AMZdK#IQq{F-XwmuW8i-X$Ro%#p!?8%Dj!M_3d}ESa(H<6I4j_{$s7azl_wo zBg0B0Umgu{RNinF9@XzVw+oc#J z=o%fhK;Jnv^Yi;!Co3u>nvb5NcYYG`oN&gR3JL%DSZS7&6$!e&J2+D>5`h>_R#Zsb zOF3O%`uqWvhEq8e5|7`Wq)$mB5mZPlt}#Jhb2i}HLd`hl z--Mx%`0KT?dK#ZZP$ALv$tXSJh5*9sVXue%<6n1s541;(w7ajUknmp_F1Ey&JAFlh zF8`J2f_NWA#eY>>_v{XWEhU~6iPFg`=(ojZuWXAhK2LUHSbcSWc9hY7^dsf}giD|9 zQO2}&_UjUx;*BZ|f@{6_$rmalnpTK1ZXK{`Cx$iVBSI^kQ4jIRU0S?&F_$8ZW+`4KD-vVZM;Zt32At<+7_WzQ(3SF&NMq$05KdN9{;C*hw28G{Y$@@| zNn9Pe)zG7)@t{H?$QNOB?2D}It}^Q&LD!jAw;FW|NHM68_@-fm@y|aGg_%f#uC`sb z7>)Kl5eOom5DExBhq6%ym0Za2mrz9&>pg06=_-xNE}EXZbZ$MVvwL~ zaglK2MpucT666Ut@>R55Y{^|Y6%yAwg&Q@4r5GgW>N+Xhc<=PzLgiGtMu!`5_C;@HNuD=BoS0*wv8};>14aulDiHnB<4+z zFbcMmVvwL~O+tk6Wn+ohoh;IL(!^GRevdM;=DTC{PvQg>5^e8B8AY#3bC(2N%r^1L zNvug9ZCu$Q#b8@>B`Xzes0k9m+}R7GPDB}J8rr?!&WZ|&Cp99CQSVE=OMc|61rX-7(EQXE6cXWGb{Lm#Nm-Gg zYt27V#+r`;Vpv&GA@O<6Xd`q+0AXcCg+$krJB;`b16ENh1_`=6m7k3#~2CyC4veGqy0`}bF%=# z>MJTF^8C2d7?e*UsE{ahYnRb4DuA$hmjqo!7wj?~RF?>jTAABX#()reAI*5~>jxDQ zpX84=F3kQd?683R-}(H z;%2-|RwNc?iZSZ0l439`y0&GDG1Bgk2r7T%jWM3=dzq|AR4Eo?q!xEe%!;lRZ^Rh6 zuSr=^391ugoJeku8e4M4{Dl!D@mJdzV`I*w#+jM2886oU$hN4s_!%dSh6lc4Kt`^Ud~dACCG{>965|V=Fd}9KT+gk(B0*R0Vf&1nA6|Elhec2!v3ScqqhMo+ zph6;T@%=`@{1QQh#EK;*aqOCq6%`WI3m!14^p^-KB;M|Iz*tsBBB+q)8hyary?ZA6^glBHa7%PT$!r zSp*dleE#4j_+%@^XSJ_&OZR7j+4z02r(Sh_m%uP*}|M;rTF+xuw#wZ$TqK%-}rCm4)y4qfdHjeI-cHt!G8d)LQDBkyqFoIM__!`6*TgFN;NYK?GD#lRt zC4x$&0y~Wgd2JV4a`zP#63y!GG`gjeVvwNgNza`|{$xoJbn!03ofQ=lypwSVuYb1l zj<-xf^RBVDy;tWQvO`$2oeBv)*K!lw!*O@!`zpaG7k^0@b1Edd{hVNQymclCg07|+ zBI@T(i`6!!GGQovZ6v_;Hd;- zOLr*-3A#epBp4^#fiTD0e|SAq77k7@D!gmE*pj;rDkQ$DpJ42N6EW-%W(*Q^rO2CL zEXxYQYa?C{m9#ha8d2Bn`x>^Ccvd79e81PosY`c7Y>Te&IeU#{V?a1rQQ0tXuaQvq zWwIhM^QSoDx6aa-Qz6l0%5LLeMQKeWL09Cj@#fwApTfLiyPtH}Yt&6+*FoCdyHrR_ z)b^O~rjoLvLL#R1UZedL>3)y|UH6;sHCpVK2r7S>uK81J7h7`IL50MMTYHSrYot1; zkTBZsHO4oRvLZoOo&I}`{23*JN~^E;8f_2QnXo0R4re9?1?@3v-?8ssxvC{T=2S?O zDD5*kcfh*q#2`V}ym>w&MNR4coC*nE?c8;cpo`Zo_Xsj~_ComydyQ_({}5(76%zZF z?lDT0lgB}EZfDF+;vbPQRr5J`F=Pl1{D|aNrG{3n?x`M zucGWj_jvsA`4Xe|H2be%IoB*Ow!LLP-z(8>kr7)Vh45E0DkQcQnPap)^U8C=nO7v} zN-^gfqj<`c0zrku^uBY9j_-pAvJbC^3W?}R(~Nze;IDm7RwU@U7&6n?To<1Oa0n_S z+FqD$Wc@}WsF2u@Z<Ww z&1V>qTkQV%^zsZN?Iip4*~8O~pjpzGQz60Gd|pU*>`E+5_VCQ2D&Y3?uAWyKE`(tVsM^ zaE8%n7GgMK&bH{Peq*|^=UFdUF`TTZERCIRr2q0|`ieyAS<{We1Cz>%u716z8|k`$ zaI&IuqRw>VaHE&WibR#7(~bUB5JT)Mx@ISz?q08)tf)ktpJtSKWY2K+dg3EUV#MKT z#-yL5^Mh^CwfEj+WA5)*+nqY7kobG|G^0eM6oUj^eY#II4la>mP$97`^)y2rmk25( z3hbF?3|=E;MS`xk_f0bj&XWi#XHQNuE)BC?Y{@+yR7m{2W}49;NQyy)M4p@G&QiP% zlAvqS-DyUttN}61x#jgxA#pR)bmNdGfH241P0-cht?9FMHHD z7u#q@>)@>&1}3DM8L{W4jRIC4Fc-o6ZC*dYS4qAP8(O!}HUAe^kIXtgrxF)3dr zD-ugLXVA;skmfG?imuZQGw8v`K{#1aS(qn--Xg+wv8BXEkVGYuF1r*l#J-~Ie%%au z`pF=itb9u{=ywL&%E;O2bp2QRynBIgVo)KGXJ1ODET^t*C47SS*!&_(2|9mRNphDuvsf_xiW|&t_ zRwU@klP9BoG*}|2kT?{TNq?XvMbMS)w@muyIRXfCOuQZ{Bs_aU^a5`N5N0iIg06r5 z&8)X8DiNFwyT_$5f92NhQO+Lscu*lR_1iT1W zD-wIlr_=A;OX`fG>qv(5`e(mO1eFpwGw3T1+b-6Zcwdn?@?J)LPN@DyKqX!OdcN(SA}45_B~?UqX-SFA-GAr7mmk+iVwGaw@mZ zb1EeAjeT1$-%g4_g04Eh)z?onlnCx#rx>;Lsg>eYGxLdKONF#K?84R7hzMUMqwdg9KgC zb+@ZI$ubG&2Ne=E_pMepj@TKx`-%izZMQ|Kc}3C-F_z3`T>^>`#Ti4^koVVCe!iwTATmb}A(1j9#Q#wUX)}LD#|bi&W>X5^-zway7lM{iIP9 zTC8fHwOx$o?kg%JTAW{`1~-#pkf5tU_#&0Lc>rOKyL-$zHq6$^$|9(cSQfuT-3XEX zc1MD)5>J+>qW7g|uU8t4Rl&Ob^lVP@(W-&Ze%-hGSkSwqC%qL){$!ZsDP}jF(*OSdl?3(2CquvL50NU*@mct9RupHVvwNg zT;qPKMQf}KrrUpbJyb~4{A!S@{Vxa`2q5Sh6WU)j`YeO6`i$*8Mh)I#xAo*tuWF_2 z*X%cU?@}RA_cO05{Cz;>Rvjehy41w079|fLyw=qK3W>QNf3C`h1rSyYDkNeT4_DK* zfWER~oas7NrT@%UKFc>x)wr0?>L2!qQ@KS@Asd6eLvX2|9ngmvE#UMe~l~rR^yW~<WCTz*+s~2LBSe192 zYVupaIrsuW*T#C|RQ^UFyr$heydFj${LciHevX|L`_P>g6%zlPTcqT_4^kmftnOr0 zVGpvhlQOd+LD%LjlU1XQAiOr>^$h4SPUXCAKV3c%IYBMzV!viQcO6tn?C3B_4Ze*S zPF5u7VutP*Y?m1(e*JJMsEJo1D~3}!*C?)Vb3gt}W&aXqltWMqW^A2HV=Jik^@#u>$)aUgvf_XeuO&clU5&ICwQ&pb;Zfb z4CD3mo6+CgLE1a|Ikmc}{n_o;HO}@?SLRDGsE`=YqpO-f1!L~iL4vMkwYsZ^J*0Ec zrJ&u=4j-ug3#GN)rGPkh_(Sz`;2n$CUpWc7dQWblIxNFIj_LLv=5ISeAyGC(OVwqE zL{K5Ib6`s~`nW_;A@S|0mTKM|iJ(H_O66ASQH~Jd{GdXj{lr%4hnf;Wg~YX^tyII_ zAndL(`-%#QG#fgqkjYXVBMIg-HF(le<-CX(4nc*)+Q}_dxu7iW@$iT7 zP$99s=XiDehgY8yrrXYn1YNB&wp0akBZi+a53h#`iOQWvsrB883o%I0mHcXRm9b7h z46i>16%rHXG*fkZNdy%Vn@%=WBZmbLRvlDGtey3l8h^8dPzMRRcHV8GPD~DnVbwu} zM8&Oj)%?C$-7&1JNYK?UOJfzYCLo4IP$BW-gSu)!Oi~10Yjf07!JQ<6^i8B za9!tJMBYucRoBDz`nq$VM>Pnw&+Y6RYpZ2LvF<(#ab;Cawe3k#1YP~=*HYzA zNR?9|@nxPWs?tx=PKFAJH&fS86Dwi8vO3B?<|ODUovNbBdJ=@!F5T;)LSk9Vs;cIE zX(p1OYgzRws?!RINWQ+ds!-gHez0Mvx;EB+&2e(iD=H*7Hg4jLx8GLPzp>j5t@M^E z{45jJ%L}TjQm5_L%+^g%A@O;m>T2^|DJv3mu_kwnxIv++ z(hR$;s?BSt4aMx$nc2DtDkSO_sG(M+k=Aw+bd~tq3SNSUo%@bL4`!!@EU6Lmr_$vg9?ee zPb;cQKS%@>67N@gL$zC;6hYUG;pNr%w9?8zg+y$@l4{O3NfC4vIayMDu@85tX4U?~ z>!CuT%e3NZ&>krU3A$oO7Erg=OFJ1VB+`^Fq<(7@a1MI?S&^VCYw`l>(Wf9xxBoEj zimRcXGcb&BQuyWD|vS(5KhD)=A3W;>B zbEx$9&{x(}_s@0`bUkRES@o-n%DsNXPf#Io@AYh|XEEuMVN^)8?2=mz{vpTnwcTrl zFk_IQOaCmpT3rcO1BakOqTX*gROdDz>=0%QDkLs{o>z6)h^$0{uBU4Ysr@Y_f(nUF z7xSu~Ba$NM`nN?swWt;dr*bOqSIcic|F-86W4mV}6%t?PETHa|mu4afx=Q|1K$Te~ z%@X!5=|VMgsdQgT<3WW)^QuKv-I7w}Bz;`u=;F2AO>p;e@IYzR?z}zwxZ`jLvxmJNwl%nBNi{f& zojYSYgjtK%Ga<)3ZR|+<{jEO~nXV;UY`^|-$XxC6P3aw`R7f0HI!)^xBE3_V1YP5< zeyvR(6%fO!g9?dv(~r}#R*_F z7aO!@rKPM$&^0{UcJ1e65gTMJN!U4~f)3A$2^`c6xqL%K#$A+fy9GHpP+ zqzJk`)>dijr(jKVvZ6xb&&Od}^#M{05_B~^Fjc7P28AhSxvlB7&n%uLb&ZNa!xudp=GoKl{2`VI}8&kFO)ui`}lAwz< zxnq1&Ym|28CwsLR7muV`9Lcreqw|KU5}c#)_NAhIq0=Qm@(Kt>}j6= z?(v{Pf~%56I5D`wP44rxHuc$i^EqSOF{qH>jByihrXH)E$z@mgLDw-_yDoN*l6DhR zNF*MEy%_gZGp*VhJ05%89fJyqQtjT;3co6?qMRk9D|N4+O&8zaPKCtAe4*O9I+$1f zAvedw>mfl`#NN_cqt8G%BS?kBjizO_X4j;7MTJDw4z;y8Rq&ZOCo2+kCA?co>%2nh zD=H*5{8d&9Eg{9ALgGoyvReEb5XJLiTNMp(#nXR zkfuW7!RtA+yj`RiR7ji*%BHOrKkrP1#0L*EYkBKQF{qHZkR?QGT~Q*akT~&PMy+N6 ziJ(HF{>JoLo@bwfb!LgxyHrRVt&&c=cUf8)sE`Ofdor}^&7=srGF?fdT}Y4!DkK(t zpIUpcS|X^BIQQ^$Xz0A82)f!FN~LZ4QX;63*jMOW=*XH$5p;c+DV4UStwc~E@z%s( zElT|E9V#TcymcWo|Fh5Yy2qS^%k_4!cI*`?s{v3*Z2$Cf=$yg0M)}tg^Dy6y3xckS z^@FweXV-RjR#ZrYE(_K+jg(?gA#q^;wa_hTk|OA;Tp^WK@YyFd-C0o~vHzb`TJB0x z3@Rjs^!O{Z(hTeX?5;BViUeJa?x)rcXO&`5AyGJgS}p(IQVc32R(+DryaSL3DkO5= zORpKR5m4<6oU$hE7ePCC)ig`3@Ri(TwO|=#LtX61Qin8YrE^X&RVnd($$#+UA#|p$6&iXUu&$*`PW{ZNxKOuBu)-#sx{m% zt?eY}YSOut7SsZS)4Nm>-u=LNuECZP&x%BblOJkD8%rzP<&`HxXI-=Bk3MjHXsO5c z>rPWog?=<2^D4+bydEkfa&KH6I%R!Q1YLvU=7qj{O?omxg+$-!(?cV-NHIvzm8(pz z&|*;_{Jm@b^LnU|_~fIWp?Pznul$60cs*1|e9`lpQ2jL!mOYT5t4-$~q05GX@cI!y zL4`!Oi(#R6r-QKUfdpN?JKaK8)W*EBBKQd^B&t?e78?KTyECkL<+TwvL08#!t3xY^ z-%P=IHKy0`&`F_o?wm31xl6@OYzl4jo>V#OU?zJPcMc6tC9MopNNlb5UFd($b)KkbbUI#V`x}M#PIi(MNlEJp-zX;4VyujfdBA%sF0Y}Cpz@Xd=Op>2q5U<%IEG~ zDkOMk;U;+1=Q+=7qMM*Xg6F0~n6-F4_jf<88Nbb*qm9a^_Ke7CR~xn|wVRg?r>_lIW+ozhz( zsE~Mb>{U;jzDW^u#Vkx6+Ov#AP$7}4OtMhdx4n7o?lsRr%m%JRoIUQD$Sdcn??Xek z#n{(Z@jSQY6%`U^1|0Aldm69RXBvw}k6{%}v|>2DFk4q?V%TXbdF z@M`F!b0EAn;`LA=Q7*WA=&Ht;R}MjiM8}L(LUWIi2r48d_NoyYyA^~}$8QHtc}6y{ z^EK*?@*J#czfODvsgT%leYodZJa&Cf3=(v4zPZPo3WUD;|LicJWd z?Pd>~-+u*##MXgXeHXu%VvwNgex>=oGJ$()vwHJ9heD#_w#h!%4%y#VR#qhFDscK+ z-wV5Ni=aZH_0)~N;&r5%NX1Qj?OU}eU~RWzkZ3*ixhv1u)4pQdEtzH5bx_c}QJkQsE`jap0 z*%gOtjGN#J$M3x3TInXJkl?q#xrx7?HZZ@-*IxCD1b5Phj<8=R{w--#NQ~Dy>kUgu z*AEhOeX{!_Jw$xB2o(|=>h;xc<&|QPpzBK0(fZ)q())d=ka)MsD7}GCia~`$+s3{1 zf_$>=wI+!C5?2U1p4NK7%h>GKbQaAJ_4%hU05z2o~>8SLRO z$Ab!q1NXb=aV0=FF-XvrFXb?Okhrs?LLz;c&U%wkQVbGwJw84}Z#OVPx#!xW#_v^h&nqe<_+5%_;=qAP zdigMW#=TL0zTUBn{kmd@33`*?r1P8#i7$`L*FVgFx$EyM^DsZJhPLQh{>cJ;)lDfz z%ZyX?q3!KzZ)@}P_nu|QY!k18#KSM<>7xfqS+Om;zCAflk8UgxzfPT|SC6){+VRdj z{a9i9HM4bRMTJC>;`8*!x1|^)=$ilPJbmzPiO~O^uE%Gy&x5ajpQj)G+|G*Gy0fA} zqU^+Z`hX@joj5@kYjOy$f6Un~Gwj=Hz8=nZ6kXYP#rG9j{L{K5YHQzZu%-QJmkf3Ye%vI*M_XfnU z2r4A19$%wR4D4NtphBW=mYw>F6jBTlbhW;?Rf- z5o z5(FKvw0j8kJ8&Mm#&;7=sLH1vtIwEL{K5|`^wFU+~ZIo@v7Oocc)7+ zsF3*57pX^`k#5-!@#T zg9KeqyKdCqeJBxBNTeJUVeZb7BIwGx@mqb*X^EghBKpDxeV8s0R7kv$dV^kfokUO} zktyGL-Iya0R7gxHyiOlKP9ms~*x!DYURwMl5(&Bvy0yn{5W_j6oUj^!?N8o ze_ch2L4`!Wx9{t>>q;?5&^2NEef>cxiRc;gtN!2Lwzx{L*ApKP5@$XNGFFU}W(nJ( ztLE%~^eqzu2y+GUdWQUYM&JDG8PXdQj_Ex$`OoKfCD zf-ctNuAB;q?$ZzH4c7<6u(BdSSCP}Y?)o&KzX7CR*k3pp=Z5suOE!(&WcL(z%%;U zJWOS>HS^;G2!CSwe!YHnFk#{4DtH1g|}W=96vXl0Lt$-6u^WFY4!a z*qN}W-Qz)p1be|vFn3;enW3AYLLzsK+xo~q1HMO>n@*oam{xKb4bijhT;B|_q8vKpgn*lL50M=r7?PVs({&U zWkrIn;hs1>ydDVC?LW-#7J)*dQaG-n1YN(c)b*fjSmB%)R7kXs@;U3VJ1Z(Ame%pPK{$QI-ko-Rw;o^7u9hR~o>x>z>|A`n{AF5c^&vqQ*BB>;*sEqr#+(X?ulnrMH(vtbj0Xw2 zq6Z$(=f5Y7AeH#u2lbI(*e@_C#*vZr;d}$eQH_XYt}E}UFc@0eogVtq&wnA$A*hfzTxGW!U-Ra3!l|4DU4#EI)aE?5o)b{&51YTo0)<5Lh{Ni~rUAcLXk|r$uCUs1YQBybX8ZPgKd6wHoFY#3PI3Erb-V+EaB(i@TrJj8Ez)e_nkf1Bb7o{?_ln9=wJm=TF=2H(kUlL+a zA+e>UPtBNOuNdythXh?=MSZHl$^gQugUXXXW7QJFcCjTVhDA^zaj8tSTHN1WyW9j7 z67$!^s-qXBtVqyRqkF6h&U{_yD=H6;?NZ~vuw85^@vKN>@32d)xgo`1TXgL&vrAnn ziIv(vcg@4xCqfBJu}e+tX}j1`;#rY6_WMrtXsr~3ZP69Kcc*G_Er9U)vm!xP`MptU z#ZOpwtt$Kk6%r%DcdE2+NLL&Zbfwv_Qym;A5mef(-Khpe+b*``?kg%J25;P{eoK~A z9dz}N-l?*_8$einMWxG;ohtP#+r`*cR;Js3xciF4s_Q#dxnBcfyg<-3DC;hDxVUsR zpweu}E_2UdyI#o3$|*1_5?m|Yy-S6}TibW33PIA^PJ*rmcXz3SH3A5)KPxJFrC7D@ z6Whg>63>dn>7lXet-x!P)w^tqu1vA9s?07aD=Gz3`pk3UWwIi1_g$ardo>`&3t7=M zXr@oKx)(rLeMKefX`kx$=w-4Z(Wr>7#s|iDAuGCy_te$-E6B>s$ljMwS+q%4i%z~w zRwQ_xcgEbRoV!=Tc8hELVrDiKt^pX*bv zud!WhDeHMIQ&?r{*ANw-1oy7jav1(0ODF(BmD>zH6YM5LisO$)iRfT`DR|B?` z_;`@m`R^{(=G&y!61r|Y*`TT3t;}}kzyC5>k(g`NbVA%;u|m3H&Atjw zBV|S9WYJjF;dgs)$d(fCD-zMwVpY+YfSsi^ci9$Q|Fnoz8@~bJ^c9t5gJRX`fiII4 ziB$_?)!62UVGl>Z3P)GL_*k{SJP0Q%mvY&hSGis$s{tT774xZ@x23y@GjB(#N*C{2 z_cF8EM5=4m?7POh=KueE&;Eb+cu*nH?!8F0v4nKbNrJ8^H6vBnzfue;B<^}5Rn635 z3@9XCQ<2ISA`w(b6s!}eisuI5j0gMbmKm?bu^0Qz>MMs}|B#qwn3eZI3}=>*pzGe2 zNR_-V2qy;Hty()$?eW=Jk#>(D6%w0%h*TwdA%>F`6%u-bNLBD#X#`2ob?bbj8r4mT zL4`zgnjPlz5{aNfV$cVXs={a~D-v|YR@hzj){3kkGANVyK#rQ_mh+r6%wNk?oh2FB!UWwzJHkGF#Rm!tN?KzJpcg`6_rC+lhYUB*t#g^P> z6crMWTJBKodLf2$Mv01a zD=M*-%^7~ccCn?zvm$Xh+RSR5v`?f$Vo8x5DttMza(b5pT_dkVs=kdSf=Y`7bFF>d zcCjUQ9aKm(S!G^1Q%W&N(A9rbq`G|h&hy@N>Y%c@t$AHKYP;A{;#rYM_hzJ;x=V_| zw&?miRiw)OokUQ1dMd*FCEb_Fip1m%5vu=6DF(BmYs>Hm6}37kg09L1!_|?l*k3ul zONB(ucO#U(Ns2*&t}3}A)RdhPL1oqXaAySBl6wTHkVy7fxcV(kz`QcgL-TvjQ6XK^ zl7*`>Z376idN)B=`Nx}8_P}Rk7D0u?=*aEr*lZ~V3A#QUwp|T9DiKtc)!D9=q_x*5 zw&dO^^l-z-FI8n&M@i9Nrl9%)!S9%IMm^_LYOf~&=p&7o4S(mp|D<2A+h0? zaJ42_+WU~8YwoY%s&?4`!pzL;NjS7!-Kb&byCjdfeiXB-WjyyRp+e%ThvBO3$5LOB zpsVeLaMg1M2&b=@RalB}XVe(aofQ=lV|z!aGV?JW_HdY$Qz4P_HFI6jF-t^(uJMh+ z)z5R1BIwF6FG8hlA!S8{M8wwcM9x7HbQRngp}OagVo)J5^v`g0Ew@w$3A%ni8KJJ7 zlL#s#a^{Xuvx1T$=xR|bLhb)cTHzRjuAzTMm`?|#7*t5?XceJuT$f^yplj-l2&IXu z4;2zW?}|_f8Kta9&^78rgbI2cgmZqd-FrPERM<5;chc_jg9?fK!^~@~SUCy0)@(7e zN`b7L^MeYB{9i?=X1Ao?brEpI&y7$=?@9!f3o9ek?MJqYEjg8&{pIy+KO3QzSGM!L zcPm1T=x)D$p?94+sE}xOJ3_S{DpgK`uF-!*s9TdHf>~|&BSPh``(lPp9cE_cuT&y; z61}fSs2;7P7>v$2#%$d&xFY+n8IfmS=4wEKS05*aH6FYc`Qy!PWnY(g?Xn2d?LW+4 z)x{N(#GJToO1~{#IjN9HaWh;s8yRpNv|^B;YvaG+s{9%dUVl#htVqz6edBi3F5;1J zJ*PsVTaF0T_9$Z5A63gNvRL`M^VTUkdkf3YH%?Pz|QUKxg zXGP^`o=7!up6y~w?!KZzVnDq}HFsG+46AYybj1ydRD)N6Ff+3M`buTVib$nazD!mm z+8&Qok&6(+4BeIKw92|3yKuX!%)Vk9`g~XoO zk*a8qqzJmoPl!}UJ4*!LvBmfJ@cDzgcd3xz(;YX_AbgR^+&r0e9?TiNNVRHZzy5vL z64h$iE6>jlXUq?#U!*#BwOz%=EmYaRuwOq|x5%9iOYXqr~sCzF=typ2x?yN}A z^>vRhW&9`+RAS47sUQD(nXE|MezZW<%_zMmm08g>D&HJc?5xyRR7ey(vOtBD4v1m( z6$!c;eY-$aepe!>d^}@;+R@u~u_br!QXz3}>Njdt;}pV}lc4Kfk2&TDN(9>-F>-;L zKgG_9v^y&*B*qS0peAgVDknkLwEhcJh2sH)*T1$?S@4;e)q|JGio~kX3sh8oRBpEK zKfE4hMOX3f=Bk7SDTUspLSob01!`t3#IQq{F-Xw0eft7cv=<1kjkpQA8cd$ALJmk- zQ6aH0Rha6y12LSeNYE8mEldqO8$g(unV%kja;{&PTK9^b30tyeiBks^5>L!A9}p6- zXD~DKdZ>^%wl+*1C@57(+DS+_$2`cr!U8w%)XS>*v`y8Y~V)N~VYR#~K7%yZ+SB+|m)CF$|MH+R9>g_wbCa**=|DRC8~36J1f%e5u`$*+vp`~O-WR4mtodHg05xp zOVo`Ji74@8i7I;EKA(q{SgLA2JGXDGUaqDW4mi)PzM?{6Zlk3tXF^g0T_bxfRl(aO zf=c!;ma2>^Z5Ly^`-%z){i~(w{5&ZJ372cl61A;HQp5nbRH4OYzezh8mjdFep=Pgt z7!bqjpNS;sDtda6I(uGMPbk7kk=W2j|u4Y75oDj&{48p>Bc-iAGlzs%q&2cF0!c zR7hkp_YXt!O9T}XBh#8ODoT};plkeyg(_DWDFzi1_b!L2L8+t|BXz{CJp3w>v3tbUhLB6@_ z)?<4Y#thv=$#$2u&6n)&#YkW1wpQhe{XHCC&c3d7{$BdN3@Rj!zxRr2Q3ZrkISIPn z8F62Ge=WYHz#*uR7}4p0mSeL-P$8jJdZ-nA_U$KDsKtLT#h^ms$2E_% z_QxcG3W;5HA8QvbNCXuU*N;Bd+B}p9DkR=*@I(s_!S@p1z*>i@LO)2I;fENV8tPOP|!;zrt%h|`Z zg6}6qyn6ZvZ9qQzoZz)9@v9n%FJ~XqmVAv>)L(~rnBO{t>mXgVZ~UaS8ZUh-7ZnnF zul}IDHC~EAg05d*{Xr`}N+Nh2{Au*x+R4t<+VE3?A>&K?A1P6YtPY}!}n^z&we>+{n3NkKMw-tt~DN1NPJm% zueRmcx9YenCqY-_u|3+vZc>a|9rtMCOWKMj?O|==-}dXo2`VIh>3c{kEY?ASE@tbl zgY7cIA-fJ}gR=x&4XnPRLZa-Od$b0D*N+znx@w)`dPva4Yp^>8uSH*Yj%a6w z*lRnlU2cL3i7`Qkv^j&N>jw$CvMi6)%4Ee~Go16B3W@W>_G=l%D<=uMzWZ^n_RVZ5 zD=HJsGd0-?+r^gLl~W<{;r!iNx$RO65_G+_JYLI}AQ4mw?EYTcefIy!${cs|x0lh2 zB-ZW@*W_m9kZo_PO}GWK>90e$&v__m^UjpzFvt zhBoNgFP1u$TeF?YhdJW3REFIyTXG02QBTp6!XkfRS_%4GAiC2Pt)SkR8WkrInBZGg`>b@xvRE&K; zYAH&-Ojabgi*k?0)Nc+rca004?$@e5`+obx@9wCOsMd48cJzw0`jDV&-l=`s`@e&5 zW(k$+P4{UhpY4j-l6wTHkl1}BL0h*EG3<$G&O{P)WoeV3RgVVYWJQI~1K5(gcZX-& zuKo9$-dv+NL)~@UXj)eL@7EO)-YundUSa?G%o|&ZYA5eYvxEwXy6H-2L6OpL*N~uV z{>QIrqY@;7%G}XKwa6b|CMyy*nikTkoRMNME4uWP`Lrj$NCcIN@8s1c{`@jokqG-a zw|4fJ6oXmObz?#O zV$RECMPlcUtlF_>zo_J%yUdENH?wBdO81wtqEdKl7VYc@FOwCCV_Pz74NFTgm=#@f zYh~8b-@_T@oaa;~Ynio!&wh!7EhSz#iJTiVYbB;3hO_#xExHoYWznt<1>s~x#b0^3 zXL}#Elz3Jo3g*eG{nQjO#H{Fw+m}__;{oAhMdj3jY}%x9w(Eb(ip08c*|md(5JSw0 zuJ)62XbJpv6(=hyIXC9iVp6|MRwTMy&!x@z7gqx@E4o4(8Xk;vL6zgABCB^tIxSJe)Mv<^3~JY75_Apu^N~Jc00<{5 zDv_^0($n>LnXE{R8}?8?|2|>_*@xG|tmq0l`#?|k4hSbJDz#fZ&?i=UnXE{BdhWj7 zr66L6S<$t2#C?59FbF3rD#2y%>vgW$Pa{}g;v-06?O*rwHV36=8ElKL4Dt8$75uBd zlNA;IP8?fuXT{%F<8P{s%ke-jx+&nvof*gLp+aI)vj=*l_;(xAcE|}d?JjtNHDg$a{hW9e^H0O$Kxi-o_VMry=T7@DAk6? zde$m-R>7|X8PiAM9YRi4R7mXk?5Td^6IAXey#C%LL07%sf{fnNK$vd-;q_1*{|2#*5>K&J#)3pI8`6o zUb;FzXr5X1t7|{=9^=cXe*4&deIR=l)o-};SpX^|V&Yv&!GdK06<+OQ(F3>>g!2_bj18qU@*X)SliL4{QAVBS?a- zgp%o0`z8``@AYh|XE8ggtU=jSu{`#*kJ-AjqC&#>B8!r*oFwRKaW_QCSLaJBs;RbP z?OtrO>@BswoBjG!quMItQt7=0R7m{#Np+P>N#j9+uCcqTt660wf=ZW=8fIU;Ojabm zZd5~cPa(x%R&<^EqK2w|U922R^QAS^%Hy_+ExAXq^l#PG(OdR;aCt#>RqC|;x_v*7 z8eLmDKYBK=rrw%wE6Z9|RW+Zzelv9qHL;R(4lb)+MRi(X69rRNR%asZ*QHZcR9R0- z1Qim^t5#B>2~t*H=Bc78{glz#tC22pvZVTAUnch+&N|Pjkhn3tyc(ZYigBz=dOcUk zym1E)9C-Uskqr9GSMAqrx@Oh$*DY%Ozq@z4E)LN9bj`b3=WhdqeEkJwF<*g^t87T%868~gQqaA)- zBB+pPdGKs#^HFw&?yN}ARc~Nw%_t_tphDun>#4OXuSx_J5;x|Y3%#>S%8CSC5oc3r zW5pO$NEDfuN}DMXR7g}jb1t;fJ}D~_bd_qEO3Nzt6%`WKv!>Egye9P(6%wOQ1Z!Q3 zO9T}X>E;J(6-!726%va&1#1IJNdy%VZA%Ahh000<6%rpjN~u*VFA-EoMDI_j#foPw z6%yYpNvUnFD#f5e;?0&RwWFFuP$7{vcS>zeLy4e5;-70Nw1;gZf(nU-o&Hwy7cj_QP*W9gXwBww+4sq_)R$A1F;#OO$qT6bH z9@?+7KY3qEyVZVe&0U9}LSjIj_S*OfAcE|}>!Cs-L~p0v%=r5AIz)o52J<>-M_&Ws zWW^YCHAvA>%hF29iVBI3>vYsoX^7!uMS`wbyE|!P+kYcSId8MqVkoYlw z7p>-S#Bj1AL07|uUA5v1K{#2FpljL9F51sOy(WwY6%sWne5AFwD8(Q_S6q>9+Q}(W z3@Ri_jp?qft5o87R!$ux=nDI(o7UqkDFzi1V^g2f;trG-VvwL~M7EE#e!mtI2r7X@ zo3R0eS&P@>C;n4NG`Q1EtL>2pDkKuV?xyW~`l^r>6%rdZoX}d&&-$G3&nqh{5_B!S z*j4+(hZugsJj^>`C?tA!h|z8r#r>dV4XP`o2V2AD6$V^gJB) zc;zGS1+MX#`ugr}6hu1@b zt}^3$X!Wm41Qq}5j5|tNnXo1I&XNj=>m7S&o_}pRae}UHH@a(;wNgn`PM20;y4JL( z)K^qUTq@UH`|}Ga1_`?2i+!Xuij)W{Esk{6+FZ9?Y{^|Y6%v=qbR7mXE{l50&)_@pZ z|J)@(SDkIGw2KD=2y3=eiD=VYYjWOpu_brqR7mvS)>un-SBgP`uJ}FgYUzT?2qQ=( z)y#TYy;Qb~EhU~6iLY|h(zc|LVz4c`dd&>cLib4HL50N5ck;a$!x|3~be&or{32nE z2Ne?j*DpK^w_*em|G6?JJ01GpYp1U)f^DT4r8(_h{xGeUi}&ZI+kbdHR7k|_OQ!{2 z$1?!01^8zo6cYO4^xA{75)TdQia~|M<=e5o z?st+R=<;42@4MPmBB+qa*nO9;(Y>Syx=Q^W9NzgU#<|JQ%nNkcYB+B=U^1bzJ9=l_ZpetRA9lqR|rL0KMl`_>7U)}9eR#Zsn zog;m%@=7sC(DiYTDZbh#r5IF5?E5Cdci}ZD1_`>B{2lHKuK>bXMXAJm5$@Zi*)F!^ z?p-P*=2Qyz-D-ju=K1G8ydDyCt}(<_F<=Ev&Q5_rkv2 zT79UH_$gbw@83|Vj;$>^`o^`g^L@Cti|^HEuXit>J#`cCjUA_3`@GT`DBlBM$LGUy(S`c#v<9N6LzA(G`DsxNm$piJ-#K zWJ^|7W)1$s>*2dw)+|V`-D+R+TGSZnFV!UIs%_rmL_~t{T1lB% zQSq7g9Q|*;Ojaaf&AW*Kujdl(=$RE=@1Dw`)$bBOn3;J!{r2Y6hAp<0l@%9gJEvy0 z+7$__cd3xL`DC`%`ALY76$!e6>dn-OL`VeNWrp68OSE0ZvIsG#kf_|+{8Y*>0hL>I zkf7`8?<=%ETcsFONDMBqTHAg{BB+p9H!hb}ERXc;l>}XlJFnIDmkD@=Y}G-9#Lc_w zwbR2Sf(nU~t#WBwT1#1xpo`CwoioasSN^l}zb8UGQ)kw^rvDNR5~&#UMdfgRuA1mX#7gW&7TS>Q?msla)2*j6tGb{aUL0i44M+Qz5ZB@4G7K zu9Q`p4INd;WLue2tDD-N-G1F~Mt?Q9nM7=SC7tR~JBJnh-{Wb`-+!=Qe|I~L>e)^D z6a*C#B|k~4!iw9pGfS-TAVF8$pfsv)v=oC1iNXJ*Q3rDc#ISmo1YHp$)2Ox?B!WuB zoz$vlO54SjtUAmZ{D;@WI$Cx~tLmn;b7vnqm0JWA68wySI|d25694o7+vTSqNIO}1 z{dMqj6a1`1_e;rD|I8Q<)9pXJ9x5bu4osyIN`kO~0D`Ut=~JnD!zF^s|50`x&{0%> z8%BC>p+gdS??ptE4R=whbZH_2f`WiZ6%=sk0)`IKoAeSwhY;A^yM!i1L{tO>q*swH z^_${Oo|)Wy`LpME&dB>d_x;^_XJ%(6GqWq^rWSz%ri?J)??XI^QYFF|=1jg#_P1Y@c(!y|e13RAOn$JjV8z_!|VMkeEC*wMhRow_;yH zg02j$(}+I*fbf`8=y8#tEAb~rsF2w4U0QMe6f&%}galoDTE#xPR7lL5o=&{*sWM2= zHShEEBIRNgLFJ=^=|$y9ri(2lUKNQ&`7($~LsS`Ti>~e;Wf0>(RS{I)_&$Re+3Z!S zB9TF65c%I!Ww0u`&YjI5nic|KttC`8-pL>erFoUANOc6*fv!%pmkOZIkvTwD~8^05cqtYAO+To0mBJV77`Ng>fqJ9O{TMDR< zXty>}#C9`jdsQUp`h5CQ5%>c0VQo?6Do+&2s+w)h`D~&{liOU5D>zj&FN@!UvK{HetB z88S(1YWONuk?5XnlDJeHCBCR}&(Drg37YVvJPj=$mzduJbuVc=0 zk56V=%gnPAR7fz-PVg!xuWa&~tev1j;@+^ywO0*PT^A)m*PBZtYqxnzMNp}`b$so} zbf$|fC0-SYiJQmPUU@dDXL#xIEErWgoliwjnc8o7?aXUUm$E8jEol||(x2?pO2(FR zBJQ@oWU>%rc~!dXa>hRu6h@oUel@}HU6 z>>0+oOM_c4s*| zVPsGt@$R1Yq_~nX34*Q<_O_Mp$7Qe+Mpew9>v7~T+5Bo*J7H8sg~aWst}^Yk^mf9? zAVJsrb-tC&QmHbikeD;1kMuN6r^p~d*R8jv$d%d6y{mm+LWRV$azo{X=V=rfB=CLZaHj)iSneK|5iLE)^1|JC2fV=B7@9psRZR@iJ|xRCdCc4`$HSX6!~e zF|F!u5h^4;iJK$~u1I0eF#17)uH7AG$U`}k+X*k@ea^(JfcEYHN8Fa;^d?4Sf`iq?~s-i-|m+GSIa8D*d&~>)RRoOYsZaZOA z#SFSWzVcL_e6in77*$arak%(RSuE9#BnY~)XTBqA-r8g*jH;MH*Q7SD1=4NXWhacP zsF0{}@}8{ai%No^>!-1g=LnAVJr%w=)EW_nK=bj0`Fy zvP?`K*uH&Q5(Hf*^Q8>5%s0_a7*#QYuKvR_2G;#F(@q#wQ6W)kR;ob59^cvtBZCB8 zzrsj?2f#-dD*a;(p3W>M^83QkBwz3mO1_`=a zmCP9^d9ah6Ffyo+_@zdszz>xh*a;(p1YII?u7EdZ8wEjyg#TKuK)qIt?SxSk6%uXV z%^aAWt(KiIsv<$x@tE9!I^Wf?6GjFV5>-T&K*K*O*$E?q1YLuM=Lx*I{Y^VzWKbdT zZn><1QWJ~W2_u69UD0pn4Xpj6qJp48V#wcl1L60J+XB*sF3Iz7ZT`^`-q+J=ouvF>ZaXM>^XVDP8bShN1&$MY$uEi5_E}`p@C*= z{0f2!iH)hl0$uy9izl@9^^f)|;7~|hh|Li=+j?$1Vc4AnUEA7)1!U#f@q|Z5bb<;A zPgu@Cvs1(43B&Fr=xV++EYRorC_7b|*ns$wA?PcP9>35L8Gs z7#SY8ly#lg>W4=U(KD!!c;W`jcSQ%7E zcPtWNiOJYi)}A<=YD&cKlA_2UUE zg9Kd@ZiEHaZRikBSQ%7EoLCnY2wgEUp0F~gkeFIJXJF_0A@PKjL4vLwUBd#4Zhs$7 zSQ%7EwErNbFyfJA5%NbyNr6%u>$W(Z^%*D;>3GDy&st7}LgPlx{Tgq1;sMD0J*1txXw8BbUlBDs-i;T`>AOI9~B%FPgqrvpsR^?7f1F!-^LSG1{D&wUr!U5 zbZ&S&VP%k@>u%mGfpbM7;|VK+3W?8uOcmI%c&vi>H`xYxy82y1X}W)nJb(9rxqLWU z-Y)tip0KKF3Wdb^nDz4fUn+tMi6Z%~lp16%u2=UM_P_`8S@hGDy(Xzr`Av>?$%Wf(nT%U$2rK3crlcuzF5{u1ddagalz_ z(8Y{1T~^90CqP&kR7kk;FP7P}tNKBLu6xgy%JwN&18xU5_DbpdXe_KGOD{j_wE}eQynqyj$GJolq{6eyf1uZnbERQcgH=D+6ZfB zkWff`bA7aI|AXpYXA*QB{c@b_9%tU&X#M?M>%GTyt7jA0+-E-T_~d=JO#O@b9NcSV z8p+?PXI1o^3W<{K-7@cE5Z35YAyKSkbs74b`O6hXRa&q0kHn;;S+N zjrd~kC;qIB&F7U`EUMyfG~HZ&=X^c?iALtrJob#9k)PD=_8-yg(08>14|5pphE^D= z{Z2LR?Dv=<+EduKf3MwYY>46FvqYuaU#%T|+03&>SED?x8)@T2%Nl+KVn7;mZmb#9D36N@i6@1Ri{9ZU6d5Gw`n>&BF)-%5f}lcT*0SHk$%#KDLC|$K z^J#J7(vL|HbWO;1ODyPcN8~Xj=sGq34*S3J705u8WW=+sE`=f=Dx_BIVuT)uKFn+iyH@4CPC1(>QoB% zwX~ZR1QilbCqEU*`~HvwLD#4Mq;hYozfM6=A@TZaFU9@T3z8t{O7lF8``M7?3W5rW zgQZ?`cNsS;34$)|`D*w1B?}b<6%xM%lDi-LJ2eS{uJ;>caOcP}S3yuAF|Bb*chk12 za|04|{X8L~yGXy8iVP|wemaoKoqwh3Y=Q(`w`3-Fv!hcK8B|ED_&c*(eU3wgM5k(L z+$pc%Jj(jUAwgHN>{;FFb2Ta?3QS4s?p_Y(gH{F!x*nFw=2o9`QX%o%>2&TLy>TXN zWssn2eD&;Z+nKOMP$3cfW{6vTeolo%uRIytt!LsIfR#aluJKiJxYgGgsF2w1&gfpT z1lKaG3=(ubER@r&zFtCw#EcG^+?i+AQ>=+3=z6KW5y5s9$Eu17iKS+EZZrc?|i=aZH`JZ{+>g%FZNYp8k&HZu=uDx0rB3*2o_P11v zphBYg=A7<>b5wt?B|%r+&~UfyZ^Bjv6%u*Q=5))os=ri|pewFsxZC!ZYAb^ZiBnC& z-L}7NGeyDW^VsE{c5hSqc5`(b5JAu;)nobFUt zjw`AnL09QK;cnYKELH{;5@XlpbU&-+xKGCD2MM|k-3oKt?!~b(sE~O0c}{nRPaJm$ z85tz#O0gr%o!|~3gP=m<*x)d?`o1M9Brb&IbpO8Fac`87L4vNT6~o-N`>(8?Qz6lA zR}S~!nvQ$Cj0_TVl{+2kw%tc&Wl$l}r9lq&jb)Cz+l&knbj1!0btkyH%^;|dIF}>T zt-j}u3W+RxL)=xL9`+~PqDas+YjFX$`rbh*Bzjg1akqctiXwvqU6+a!aNF*Iv__W- zi3#JfyWc41xHHojD-v|=o15RA;Lc2gphDuUbot%t`$egc_~uwPcdhjqWx~-VLD#!I z^SRacy;333F>N;Yfr5Dz86@bsuqUrueg7^M67KR@-CaG!6d5Gw$`O*+o#3uwV|1yI z_`OvgxB6aZDkR+QEbaw|9QRWj88!m0@{@DB)%R>uVY^?~&FoH@vX-LfBztgp9+bLVHw>E$~&F~FfvHc z<<6ADt$yBs3W;TR(z{=TIi6`SGDy%hAbW^g{oDi<5|1}(SMKijQp_L;y57i?-JRfR z4x=h6BqE<@b*rB-p+cf`*R<|SQG*p#k+8WgWO1vXmFWkCMCUYV+$WZeP-Kvx>-z4@ zZuK)iR7f10oyvW^i|Pp;5_J7DDU&cbYi{+ElT=7_J#$a=jEPcY zkf5tW_B+CJWm6IaUCF0D73!xzD=hnO;zsdf zNf2}$UT|5cpY*0eqTY8ui>8}ZPkNJ}>)@@!BC4e0`Ez3rM}n?OUz`={r{bxQC|mu2 z7&`J#MbAml^}O32@%Em-k|5~XQ{s1_euDrN5{E{5MX&3Z6&WPxD*J7WnEc>+5(Hfh z<9-tAw=Ga1v1#BIQU20xMFt7F{%sO1j%|0m1Hza=5_C1ZsxKZY zsv<#GxwvJbeflR!5Og)z;1}w5a!?`By7MB@ee82Z1_`>}d$~iX-$p`(#P*wWMCX30 zH&c+H>t2@`B4rN8J5r4KAVJp$l{X6Yn_H-mSpVZB(S4cf%`GJ8npSAM=v+ee-VYLV zRd29bsNZr!g+#qiM~T2})mv^z(DnGup`zn6ysgKh4V3orxVDb#BeFCx-xYM{%489I z3s3^W1T=yQiIwjz5eeS!V`Pw^i`Cli_hGxNu+86Nh5B7cR7jMH?J8DHalCKIsEPz# zFD?uf>UTO(A+hOrTak8;>U}aK=<0Q@hfu%GiVBICWABNymsM}GB0<-(ZMDUiM~-)F z89gUK*MeW#3iW%usE{~2rkd#T*zv9~BZCB8)%;CuY+TP+n5{Ppz23A*_E)pmlvn9bib zQT~pJF;*Gn9_=3UJ3_zSmU{Re8Pek)V|m1%yco^PRy+nkPj!D>76?UbD@7cE-EA@ z{fl&MEY;8 zE2<(vSEX}tqSRW){ktALgG#R}abni5H;s1Ll6}rwY&$A`ZD!tGf3*5uF}Bv<1~K^H zFJjv?bJXnw6%uta>=VCDP_2n1=$e@OfarD9tk9l8g~aM?`^3Bgstgiz4G7sMBIe&x zj4l;_`h6nhFtZZ2lz3GncHQ4A&NOn&hcV}Di>|T1?iD?XV$QYM(?8m8 zos2Alr#Z}yYdt4H*T5I6WsR#Uf(nUSZ>^R2bE}?wAwk!v8mnc?>Z%MXBuedBBS(Mz zLNU4|=t}SekJWQ3B={_lH6I>*E#ZiAZuL09vxKH2w8$I~@N2HR~@V~xBy+N_;zrc=WdZRlV`Dyl|fJ;G4z`i^2~Ns1_`>B6o{7Z|Dk%ih6;(d z)6bLdmc|?3J$f(nevqK+_=MHczsh{l#y(b5NX*^yy&U`@o?Y@75n2Wbx)xtsDs8{b zVG*2zm}{$LWN&i@Id1lBSyC#tC@LgQY+ojO z%~kcB1YKqJE!CchQ}vurHQJt6+_F58ZyXmC5~+tTlNmcZGPK@%TqNk)8d$Eqb6G`D zA@TJu%Vmjo9E350R7iBrs`X>PgD|QhL06Zj%Vo$m6+wkWyP_*(kqVd(ea?*xDkM(6 zzCu3!R7FrBQK{aFMCP2MduzxFS!IR!9nP7x_9aGDR7ey#wNj3IPjv)9g@h|^g&gfo zilA#@zLm1yX$N6c#SFR@wp%4T?r;$L0K2G=n0<1k92}~eK@xNwTe3zn=ZCwjc$UfNEG=%`^H(|$S`_-GIO*{dEM+Gj|P-S07eF%!oF~8t-NsQxp5T6 zC%~<$j0`Fyek&6tJHBnwc7h6tWD!xa>kkgXsEP`S86(%pl~Io4M58JabY<=pB`b_p z5mZQ&ninPO^uzJ4*1ow7QXz3{qn2?=MNlD8W?z&nSKP5C8vWq2`g}frX!U5>V5#bi zo(hR%CD%(a8Bh0X-OxWC7YVwa3|lX^?{yF!CqdV(*l5}QO9x?OP$7{~M9bxF$DA7( zB-=OBy>D&6{QkjIjn^URj4H8DX|Bzy-q$h&Vk))IrLQMI}35M>^vx-+zp z75*`o^HpdgXBBoFy&C z?{6ndTr!_bzjdgcyxGZgr7hc4-oAq;*0qZCkH0ga$S;_dWpt-qA$9o8ElB-o7SMAu%maD;au3 z)pHVbl`QbSOgantmZ~yH(Dh(YBf0$#6+wkWioH$ci$+NibmfR@B-_nW5mZPN9n(af zxT)Gca^)Q7!(wk1`nB9kZ=|B&do+-NmEir9CEX5gunh=&F5gyllD6 zK^PfSNMu|+N=6h@U11?XSHb8}@~}rmP+6+EwpTXaM#7ft{h&f(d7s(xtxE+I`zsQ3 zReF7)Oz^9r##pgk_k@wM@j$aG()P843W?(Lrpd8W!{e*c+SflG*Ww4mW%W37O!{^k zF58bZmpfh>CR?^vedACe;X2`wncr58E(yA>)bwcI)Je_x%Dvypn$yhdV#+nqqxYj* zw(n%~o@QGdY31k|J%8u*@8z>I<~5|bduGY=pPS25dd-v_+op;iD}A7}kM{1*ncvG2 zsZ1ru?b-5rK9l%t$XuCz4c?^VF#wI=cND)Fj@0^6j{UooB7+Kv0`2O`2|m?#6bZVT zM7rhetg0(sR7i~Tzbn@^Rb`N%tJ6tRc~X53GJ`Hp z&N_1RH>&R_DkNV1T~~ITp~@gZSK$xp$trbK1eFIR>&xSd%}UskwJ$N&D=H*X53euN zHchG@bj2K~FHa^{5gaS#CH`h3DkS)hBV8t-xO`@HCwhVo{dSqYCNEW+qH6%yn8 z4P>D%7+tM>{o`?wpsULV4P?$J5QbeRsGRz@zASaebg?D-UX)uD*Zd*3Ka9B-P*N~vAW7qO>Q4|P| zQIu8{+bun|hFst_YbR}=K`JD=?5r#wE4L3SB-|O^lry)f)?K=$+bI`b>@M+1<7r{Iyl9Ds4_YuKv6G`GbnS9Ha+b8)q$BgjSjM*YFxuy}@6H z)qi0%xUBzs=(}dNL1^vkACm|wB>0=N_KcnHZV|!13H8~xUIhPkvm|bjxSdt?&H4EF zha$LE&p-Bo7*(%=vA&i*T~Tx>k2TRON~?+riE93~qR|f~ZLf+1UE_afEowhj5mdSk zeqS`JTk#dDA~Dh3LiC($(ur3^*OBDS#E9c6g39e}jm3zpm0qDL65Bp*B-+9?zau*DRb`N%t4N#>FE6MFD$n1G5JjK9 zN>wDP{`|J^XQ*t9o4x0(ims{6Yl^s>DuT+nqi=}tyrzpSC7wZ|W%^LjxSMKpsgU?L zLzrk2tsGmlt8lI0M^ z@|nvIOXd*Wi{X8i*1mmL$q-pIwdu;dI)@ArM;@h=7i!?0nHJG_bEph%Ij08Kkil)R zHsou^>&{bhbEvep@u&Vo8!enquWuARLsE|0cC|s(yS`u_M>sL^! zw^}MM$`q2pEtM@9Re8+e^|+{z*i*2$HPZHeP$ALyKq0B#YDv%)Q@^lOZ?#l*jxH>N zTPj;hyebku{a#qAw_3JE*Jlw$qO^;XNa=-U5#QK{Z) zsazRUOa`}9wq&o0YxUzt5iz^eat|mQ=@t^cwEAk z60eHH&FBU)c!ZNUL05vaB5UtMg~Y~8?@9IX6$!eob!sAm$8+|os2o_^Oa_k)*^-^0 zLSo#l7E*mIN`kJAMOw+=v9BWo%INpn$l!4_TXGOMw1_Wyawktg5JV%(6h1|J!siJMjz>Kc|~7C$}z{L{)UHemYlXjR9d*MWyMbIdW32 zQbxP~TU8{=?VBxc^fc+j`$5;*#j|AcT_CKgs8k#9z1)<#^ea?FqKcR)&(t^R#H*q! zbGjMwqcI??s;E>vI8Ek>eU++6Bp)+XUcQcuWah`?;<(erU!6Dlp;x7SJg%sc?fnH7 zRW`=w{hA^Eh<)bry^>X}s|og=^Xapcm8ObdC46?xPEa9HdB8Lg9EHRQy0UJbE^MP~ zc0=n2mDg|05W!hvcH$W%-YEFJ2(B@S6LhU_G)vglM5`()75mN>!8QDUtBOSP$#X<- z>q@*Ty4EhAD{Nb>RTY&Jo9Bt(-r#?$ip0k;^F?q^lz3Hi-Q2oB*!FN%RaDZfUMPZl z&i}0{5)G#<62ZN8;#JYrr0-%8+~?bgxy!$l8y;kK>)!^vQ-OC8*aj&m?hTNM(gZs~of460LsgSsTZoPPGiAg6;*j&E# z;?v72q92q4->(;Sb0l-?6*4>V3=-ErSuaLbHR;3&x=LsD3H|1Au;jqC~@fv zRR#&VO0|y?DOZE==xN$M(My7^cAH~_exJVXvR6fgM8C9AVon?~bX5Czyd>!Q?T2+@ z=|vSmWl6Pl;;i<&B6?f4mKy8-Vt(uyBr5G+E4~Rc>BRd%SFM99#Og`ogAu)Bpa*=h$zxM6J$RI&i)trmP^_;4z*lwE| zt3~u5&y03S+pD5N;`a2_V#0KjPMn~t(Bgw{I!{GV>Gk(IQEsE@VoQlvMPhi> zDADmJRR-Il>*$wJqWvQkLFMZmQQ~%SbM0eGiC0CU(Bmj^^drZ*Ys?4RqU&&#^`gNN z6+z{@p6kWR+pkg;iT~|8ip1o_>%|@6*fSXYU|V!O{&BsCn4u!5T)(kiOwjJY*4I9^ zWQ?vy|5tq*q(Wl+Ytdp~l^2SwmIPgIWQrETqavuB%MvZB{Ajw^l6}spkl^u(omlhX z4Dou}w8lO>s_qPNxZr=wW4{-hW78=1?NLxj^e!_)M7?3s_6!nqB}+F$gf>+XROW1$ zF6InTya9u@EX`}rX$E@V$Q5ajY&j%F}aRsM}=4DmKa3ttzw>DD5c1y45 zITaG+Do+&2s;USoB<6fJQKZSOBB+q4I(MQt@mSRlDkM$>CJNU{6+wkWyNeS=-t8)a z3W;>jCyGHcR0I_gyE0A^_4=p?DkMgROcI+KItY)xCQ>2MJ=-L4si=yeLLwyfB+>hs zV@)(NsE}xWXJW#&-5{ut$p6zsF?fY4g9?dG%O;9XzH$)8Hb{lU;}(;|Hw#kR*IlD3 z5_I($I8jt@=EyJzDkMg`CyIV$RRk3ht21irRYny-g~ZKck)qTc$DZ1#iVBHi(;`K- zlPZD=iNBghiky2@1QimcvP6oq+f)P<5?l6vCz`KS5mZP#9QK_kv0Oz^Au;64cro;0 zO8cA}YY7Ruj#d6noc#eA+Q{l3kCzIGau+9vMaxtK6%u!+P7sl6R0I_ggRhMjWdbUK z3W-xS#*4r;5Jo5Teo!G%tJr99;WKO>9vyKKbRGL^oM`$Q)?JSQ=wk(i#L#cXiCSSQ zf(nTf+rJeHK2{M_Nc8JAM&!N)!YoRwiUeI>zW7#ToS8wfmT-KyUJV#MS&ZzPLP1a= z@#V0|qIn~Xu2mHYy7JbUDti2sN|8Z@L?$s+lq;^vphDvITT{iuAt0<7q(Y)l#i^ph z5fwp&M5S-1h+4HAYogYBkCy~p%kxjwuB18$tul|7J?}krnh^cX@!=TSkA0|+c-U>G zSh`fTXCOh>@B%YMv9qdcGE_*MoAkX{-b9r_g09b}&J{a)sMaegB!+%7SImi25mZQw z?mt(28?7R!keJ+OuBh^hil9Pb?m(@o$0~vfiRB~bikMK2r48Rd^bmAJ*29N1YJ>S=829wR2fuA1ZvC^{m-fhDkRSJ zo+nnnrmBhxiD%lJ_sfdy+}dA}pzHXmdE!vGDuW7%URUOcB{ft86%yInXhd68RV3(I zUShr&+eDQ?g~Xih^R@Sjst771>aCkEUi4NGR7gbMoiA2?r6Q=1c&o+&anYk9sE|lK ze1RA+QbkZ9@%X?3(PD&(pkgCJ7K*_`l>`(LJC-jL-cMBo6%xUFlJynPzHcW%*MZj; ziOzLY8B|Dg9l1!XEUhA_kO=iDkK5}rirnJzwjsj7+u zT_1h*y*RZ_MNlCz@AP!BHizRl(O9oY(A8VJ0@0-9MA5=)_^OW=zVGFLIvR6fgMB6SQvU5tae~A-x)eRJsIXbEcDkNsO3(6i%RRk3hiw}frPZp~PDkLIX zhs#>URRk3h#czelvl&zb6%ucc50j^EspgytiD?zXWYI$^f(nU@e}&4G%T)vw5-S#j z%KAf91QimWd=e_JHc=5&NDM0-DmSK55mZQ&Ka*X?^-qeRYfXVr*}#XtvFIzYM_=2i zkQnx6sGRO`5IW?gLSn_c1?1f^A@(iG$RI)2y`iD9_q&b^gP=lU+`3TtM`;y7g+$TI zp|W~56+wl>j1pn;gMS_UFnUgfMCq}ivg2R}Vf2FpU90+p$@~`_gpomo#Qt1ivd;hq zVPue?%QGWPTT2{-k-^$IgNg4GsgU5_)xL)-@Kw01_m8+& z{l>HQu@h8C{4*j{o`2}rw`;V=OM2DK^OaHuZju@j-j34d~gox7YLU{ zcB-nPLgK5G;j+*m2jS6sPJ*r$ABRi-Fb83b6$!ek4GEW*S2+kHg9?djQIkiq+P)$fT;GYx}`)*>Z}Cpwi+(xLi3W zsjB$xoV8vdS*oY`-Nz#Xdq1d5ckyd>xfJ|(8R z>{U@AA@3EI3%^!nkf1BJU@oaY$CfaI3WO3A&>D=GT6cK$Ss- zMDS@2y~DxfJ|&cpph6<}G>=7?5!&dIpey){Q9^>XAE{ehwh`v|Fweg3 zQXw(UUtFFqkI{{<>c6LJ^nakMVU-ecMjjPGrSWRU|U+Dk;AnrOIGibfvvqQigR*il8g_ZU}wc z>{U@AkuiBG*|CNyg9KfkOr>P%Y#=;ZnD(E?OJ!Y}Qqq6fJT_!YiC0A;_{IvY<@kOW z8ElKL;Cn4>g!VrkFBKBOw_n%@BZHMxx>HiFj4}H`+TIT;Bv$M#DNlUoI6^k6B0*QT zY}(sBQmF_kByzPaDRb6JilFOK(=xI~H`TW@6%uQ5l$0&NMzhxTuzR1RQ2C{#J5G)-iF1kV-%|@qaRet zpD89gjW^q6wnZe!An~+&F}Zd~QdQAa_HI#msE>m%s-hwX6qPAI`+ur32-ZvD^u^M0 z@PRCfqYM&s1>cvWb=I-fQXx^SWOW((TV_QD3A%!B(n**>g+%ZTI|&IYB!cgavJu+< zXnVLBZ)xv>H?M5b6@2SdLV~^J=+cEsL4`z%ensS$os%Ny`u;^B*&sqiP$99mn)Xb6a}_~_MBi?OW$#Z^ z1m}Yz&9hhgR!fD%!G8+MQ0-l;3CD^AU119g$~3R32r7%;DJU=eYwp$9QsPyS;I#oe z5q$ryUhlU}Kb7BqYTk!BcTacO>ubk0=+W19DkRn%>nm4XS3QYDg0A%Y`pP0HGAYI? z_*9!-Rq#!~`ZB9cydNZj?-bVQ#0k2B?=ZFqkG`b$eD}i7fM5qwflciF2VL09lC#1`Svmz?u)qgg*$Z?rk0tk#}Eg+#td{bcibs`(&6*M$@P zb8nFNoKqp;nJ_@^_`rZ6vfpX3kvv#g;iLbjP?zJ5#XYN<^ zoNdwd>kk8EyWdp=mEZ3Vl=9-MR7Ik2!!PBm+o}v!MHj!}>^-MaI?W*MNXBfJ-*9$< z3W>KrA0#_GMOE6ip?^GH5_ARM%&)ub8B|CV_+ya#U2MrdA5=)pE;USM9)Jup!ci4n!FPx2MtcSo62W(T|NjJCPlk=q z-c_vHGf*KBd{=qG3@Rjo?&DLZVB)e)8ACs^`2&&=vfBgM>Y2yQ`WFmUH6FN=Vz+D=H*v zcN`?o{I2Q;3A(Wv8BYTBJu0U{<2h4RR-IltH%C*GV9=^ z2)YtKrlvxI=L|+aJo?P&`;r!$-it`_S6D#*zn9G(yWah8IqUHEB9;_1~#u3NQL8ElKLQ|~s8Naj`% zR7jlP{LmFqIVpm!1FtuU__L~tph6;_@4l;Fk)#N^T*I11Tr8m?sF28>^R8=d&ZG#s zKFrfRBD{c#phBYZ?%S>(( zBxb*U*){X7DuV=Fx0bbun3hb{4=N-!ozky z#!giGHXuRQ@j*lV>I^C*4t3h#+M^sR5_A=9v&!|2a|X4_JYIgw@cXLzjYqDN=(_ateb=b0sthV5^gZ~b zj1I!+2MM}bRJ-fC8R{Uk@zRa}ppek_;2rZg2qS|8U59SpcGWEHAdCzuB=r69jlvGX z$RI&i!*n-X9jiGABZCSFeSci6tb;HzNYHg?;$>GOmxD0-0fmIVKTcNFL74pjL07|Z z=UsQ|Ita5LP)O)|@ZN7a2(up`=-QL~wCk-V4#LQwLPFnzcX9UI$RI&ik(QZ@n?`m1_`>R%{l6t*4B|>5L8H`b-;Fp_IrlyP@@i3W?_@+Ix$4Rc4?qy5{`;j;rTo6+wl>@OsU> zOFJe-(DnVocfE_+sR(YV`mxq8!t5=#75mv86%zVURCFEHSdpMhKf<}GB&cM((j($) z_p4MzBCx)9M3ac5s-kPcjD8XAYpMt;X-^D_h^q1`RgpLvGbG}%^E=8|6FF9N1!{XD zek!V}ib~NFBO~VicVxkq5}!d5*^-}%(0~6&U&-wR6%r-0jg7eVNVQ&(psUX8T@kbD zfbi&P`d*X@iQ>6-MRZmYR7ljC6&tbHjSMqF%b-G{#b4thmY)LQF%dgKS0Fq#Vv+!1 zWl$kevf6hM%VR-U86@bsxprs7g9sHtg~T1#&WKC3Kv-2#AyN8aWW=GlAgroL(3R?B zOhm`GR0I_g9}kL&__T(KphBW{SWLvzY9OqBP$6+T+oXs`gF#sRAVJqJ2X{n-Rt8~Z zP$9ACgGmt&`2AsJkf7`78#^L0lu~6-A>r>oDI#qf5LN~Wx+d<~9`Qz)il9QGPVemz zE3>HxDkPqk+#b>MUTFNDA-*aoPNGoz9ElJ?g@nFb;*9EgiJnd(=z8~y?GYE>Mus(m zRM_sSz1t&NR#FjENc4VdM}()iil9P5pUv`zRQ(`9*S@1WB6^0ZGN_Qy*UIpnstgiz zJuVUx5t&z&L50Mh!(t-BbEya_B=qgE%4}6tBTUAvg==z}G zu817U3@Rk_@5JBUQe}{!>-Z15BK}CP>IW4P<;(7l$gQl33JLv)BebZhDiU;6+_5|2 zurh-RiNy`P5zmw}NQH!c+;ujKswxt6@oJm>_=*Y%{RnVN8dU}fy7Z&W7s{*7RP-a+ z%>SBK9obUiRgut-mP_1MU9)6cbm>Rrsg&1usql&?Te4S`@zea?7NyNKZkM}^tK$Z9 ze7;|p&-?wGsx^@c34OWINPG`k-ycpQ=+gf^#}j-H>V!u>dZog4TYQq=`*C_lhCxsv zF=1V(cV=D{L4|~`Qz7rd5-NfUiGjU~d;3;(5PDaR@PN}x`QzKL4vMIfwJD$ zc=W2ZuYWvVDkP5gEbl6}OqD@`uDMTJC{pUQd<+y~(?BD4$=bnW`MysP0P5GJ5k1%*URyQ3E7yAe8ESQ#Yf3TfWPwX!@2D}xG&gLm6|R~$`>plfck?%r)YLbj@623>b@^>!5t zQDsme(WU1=@5euaurf%{<(oIk)%B_BTa5~d^|?oQW0+x$6$!dJxyN}A9#&OFg08)p zrn%f#RaH?T(RKY~@BCw`3=(wlFLd^O2^A8*H=E_H^BXd(o|B+!S=cgf%D+HZ^Fbwl zwawm&cTE>tO1vr($&2*xUA~C@m9i?jj{W<&@5}2Ttg2oL>0OYxfcl*>=_&hSKsz}hq3hfzemle+Yprh~TpQ;QhB*LE_@pdni6hYUM>>v7ypHmT3 zNHod%hc~)bQUqPepS1Pmxu7DbkeHaWwQtrH6+wl>ht)24Cw54RpliTqEq!xtsR$}0 z@`qmc7V;!T&^7gWGhem`DuN1$UB{dF?mSl!R7iaA)ot&nB}ox<9sTD$U)i)dn;@%H(&nkJ+ViXL4vL&?Hl>Fho~~BkjRp^p>J$K6+wl>?J^B~k>ync6%u*p)c5Uv zTSZVI(Y;%JU&h8Nf(i+JInNi4vk7g4wfi#A7G3(kcezr)J|EgX%Orvdi5s))`!+pN z5mZPBZLBV(c2s3#P$97*cSGOp94dkeiI(je`MiZx1Qik^ZolVyubhK0#)=9FeXVRi z)j=5jAVF7;qfLAhsyhfHg9-_K>yn!tgpomluDXw#`96zK5mZPt?b6bBwyuLPs-i+d z-xGEE)j=3lk)X?$xwY@idk(_Lph805qc(o%AdCzWbRE6h*4L`Jil9Pbdxj5vZ@=## zjH;-R2-m*V=7p%v)kx5_sbxpsm{zI`DkSu8(az;m86@c1yExLP{<|6#61{e3`5y?n z^p-ZJD`(#`7-L0+gua}BFlNw61YO6cO!w{lv$7(C3fo=#WYw-omsJE65+9tu?h5AF zk9|nc^`iEq2z6CdNZc!4J3^g7g08j~A`=qESaH_$At ztXIYilAudJa$ecoK^Rq0(T~Dce`vbcQsPySc)4n__nnU&840SQ>)#sVyxBfYilB@4 zXxOWwLSj^g5#D^=RT(7c+TC=Zx0jNj!aF(GlD(?5zm@VQTU*lD4r2P}wU+gNSFcx8 zNcajq_C0J_TCqiupi5s~eWr|pV7vdM3-K?FHY+4;?*|nUd%HaL4a%#kiVBIE4Kn$+ zc+EU}1_`=4mH*fG(S=fqeo!G%Y<+rv^pC0x5_EN}lh%LzkE95?&JBLz>$_1^6%`VJ z45|HdZmBXz&{Zl;O8?^&sthXK-$?F%Gt6|cCHv@7Au+}M%r|6=DuW6M-`E$vcRo@P zR7iAKoXkJ-EeB!jeYlRk|H~s^lbU6XdFDE8?*|nU^Wz@+dXG2h#0k1OZN2X+f5br; zRZ%Hi^PVs6=Brdi;`46*B>d(y_KEBVUBTbp)=Z8&Yp9UucI8we86@c9cd&h|sF0Zd z&XPnjNYKS21A7MB^%eiq*Z-P1x}@y{6%uW)pY?6n>zF}fbV<_(oh)eH)OVtHOkTd}WTPGN_Pv zujzf?xkIW95_Da;aNk$%x+;STi7BZc`%Z6EWssn&>)gk_0Vy1Wv0hOj@q5u{z7caB zgt6|DplkfbXTA*i9E6cUg@m_NGXME84#LPFL0A46$^7@rIS3HAgGXN^;$~*#Ga}Q5_J9X&t6}dw~^t|YtpNtLZbAU{l3xF zL70F>P$99WLmK~u4^&l=pzFh|hkUimBEw^bc)V0dw0v^dm%JDVt12oas%OgJKh;E4 z6$!fD|MjS^aRF5Z6%t=%&f=e3PnAJ}uGn_ReJ@iZ!|FK|5-HoI_aCm1U$JK(LD#~e z>HN7WstC5*rb~!FxbGruY#&xtR7f0mW$^!84jC3f#YU9N=+9GHNkAcSq;Mwxw4xxa zIj2J6UdgIfpX~i0L07lf%>F5Pkzw_N3W+WYv-&%xQxQ~1eBUX%|H{35@iS;;P$AK+ zWMzNDf*`D(lb~z-SC#y$3#kab-QX3WZ)Vi@7dmaOugtTL6%`Wta&V2Y??s(N(8UVv z8C2NrN2e?MD}u&?@y(1X{swte1Qil_HoWf7@;t9%KB$nG-?@fA%Q+Q6g+%7n zHT~oKAgmdrLSoRharV)*dQO6_&&Iy(-@OcRVVB3W-Z8BK#dcQV~>0 zZ0i`||G2S=phDuSS{wa0uj0N8Yph7nmGXxO|9fvE!y>4V__fk{|JU1886@cX@nD3% zWLZ@P6%v_$kMKXqry{73Xxw$JKT3I*Hwn7*>_h2P8B|E<{agMxPyE_$8>^r~qQ{k0 z{vXRFHdaA`uGvv5{9Eqf4k3L_)c*5$c{Pexjks5`_9X^Eg+x@z_WlBk@OKv4=Awvv0SVpidx;|f3)<3zMilDOXTv`8ycBYHj)>>kWE)^2HOPBL!Y^=&4LD$sL<@_rI z2#-0u=I93dLD#_>x&5(S@!6H~{!%58VO2$fuGjij@INX9!m5e{T^UE@@&{(As-i+-ZHkKif}yGm5_GL@ zpVNP4kSc=;iNSL!`d8*vWssoD{cni>+YeM3R7eb}TFE~nH!`fzB|+D=qm}%(a)Gc$ zmjqq<(O`6KRaI0-xIe4x-@>Y_3=(wdN42i9$gl`1Boe=Ck_27)v38*X$gswW3JLvq zzGF5OL50L|?JOfEgNmSHBeZjz%W0GZ6cX!yKkB=YCzoO`s-G1F+oDT9zxpkeDuW7% ziXD#oI+j;ukf2LHAM_|QsE}9}`Kzx?Jyiw?y3VZ8uJxr>^@9qDdo51-x^-1$kf7_{ zr8NFM=~Nk1NaQb<#{W)c6+wl>k@=^5)kmwUB0*Q=h}8ZDIaC=`NMvYp#eDg0k_Q4v%~M9LKY&HYsb z6%zXLmkn^8!P+M}iJ(jW_ZL3LaiX@j_IRnVUA@}c$5aFr68eaIdQL@9A)$|Y*V`(B z3JHB?%RN;QR7mJ+&!*I>v7$nvu(q}j?&%L9c^@p!3_xYX*5Z~a6E zVPue?OW&Fg@M@ISzIh%+g@nGxa20Z77*$arv25-sUzunJVN^weE`84@N;n83g9?dr zO;7rg{p28w3=(u1d+;(Uf(i-!TOy{sgD|S1LL$fbUwsj`9E4F73Az%$l1haHugO~H zoJLhVLMofQivR9^$DcfYu%F{lA)#N_TFoP5t$qFD@sglRzpizW=N}#e&b62In&?ySytniDsh4ei4BLR z`3r9|X?s6N(Dg9Y6#uG$Dnh^FHT_q!sz>V=`F9sHuXwOpdj=H}BV*?JcTLKsI8G!% z7yD#oXtU_?vRzgf-ffw`=O(j4i_qr894_nM zcS=Q2;gv$RWZ%wHeX(6GJM%>78|COV+vVZ==5qGHCi!Fim&U)_2`VH;UEVI6r+k_O zLD%4dJLGQ}RRoo8ZFk6KnN1h76R(Oyn<+cA-xyJ4ur0b8?%yFFJvB$c$nfZ6qwf<* z&{b-EoUGm;wOe=DtD-`p?u#8V%T;9PsP^%ANzm1-N{qa72!zJ~G=fUcPh;fd)uxLr zC0-SYM>Aq%pOMHgN^(|3*VW4h<+Elf6g{UxV&Lu=S)#2Y!{|8)x-MMWB^#Z6q*$-0 zkT`ZOMs_cw${<14t!FXv=D+_cGN??-zEdXOYr5EyeRQdiSY2qRd@@m$L4vN&OYfAA zTdD{unak~zh4Q>gRV3z?+$jSmA1iv!s_6P6bf>&LD=C7mp{`vrF0E&ci*P}HtaCRTPI48rPpm)~~CxR1=9e>QBV9GAg#aYXD@Q6aHs z*-jZ&1{u~^k)Z3zk)5*XJ0Ps8wtl=rUcO^0U+3N_Bc|Rr=7ZJRtD-`}RZZJIcA9kJ z1YOtL?35!egRrWKzP(-UT=3ucT#u2xYnU!pYtNt(17hWi7`gHjWLRTGf-d&S$grwf zyJ@?8-(yyF;#iDqfBK#=R;<=u6%`W8PsPY%=~Y#cpo@L7XRuvXxcG34tgz0k&`wYx z(R|Q$ncBHUX}$M&NzirWNQ`VXRFy%6#Iv`y%i(RYChGHHWRRe1_=y;KrjaUx3W>eR zx65ZuRT(7cO7>Tb3@M<>ph9Bhfo*a`6IBKYy4u~3kwtFYHP#sWd{7~ArRY{UsN-!r zVT=_Cx>jb~DX;HvWEcb$63NT#l;T?zL4`#BCOhSityKgS5(~fDDU+2{5mZRDySP&x zJNS>i=lY7`r9$GHDm!I~Uf1n}IaX+kE?mWyW{-Zw^1V~4 z3>yL0txj8It<>i6ihXpcBy(+*1*)1Zwqz%$kXTrFtGwMsl|h28Lm9Wqm{}@<%Gl>y zHnkf?b!N}lSZBB+oUT0L4eSc>y=j~U|elAtSD$@Nl9MutUDA@O9`dbxcs2&*4d zNZg8zmhHa;VP%k@E2D^(%iYi8$I2q8kT{ungWMSBAT-M3r9z@xpAGU@@)!0DgP=mf zcW{He`zDBF=EvjZ+V}JQEwXhw^W2GRjD3ruLL&O^7Fq3GoOxLpBjhuLe|WI~5XTDr}Vtn&6z%V?<~fBUVyNAPJ*s8 zMK{TJ!&K`P6%xsO+hoUHm=7z11YI`$MuhPT@+Q(wKQX_3`_;#(d{}xWp9R9 zIdj;nR7E0nrdauNcVuW0`o~@sU7fSW$_Xt&cnm-zs8q@oD^t{Zm8wXT3y+oUN+83G za8yNCt1{XsWCdYWMJ4*pSh@3G^C*m?p7>fq;!)>VdF)5WF`SlTA1k`t8FtB=|6K{O zG7N$WiN7oFl4r`R)^;i+vd+@hlKHBtNYItC!!9{COqD@}#QaCve6&|(kf7_y?p<=p zEzE~CgH%YIZL&)iE3e8RL097EA5=(GTd+&MmBo>vRp#-Mpo`}|)(jd1uZ8hiAFsCA z30~9Vbx~deGze`C(LWw9uT8pk#LCD)<`FBeW!f{Ska%z_Rvzf%INtT>86@bEAMTRT z%|U2x{p0ac$@i;vo>|~ksv=SF&TiQ|1{r3AmO+I?k-59&~GmQ3-NA1Wj|Hx0<4 z%Cl_}bd7s$k6fC^u?-qkvEAhOK^Lze zSQ$oDGA>q*j4<13xkB4hzhy4}Z+mJIm1f7vT+aQj(GRvo*WL-SvO!h!L#xRAuB9@% zueKGHc$KP1{L?O0M&(9^7NLLa-yd}Gn8+9_j{#_eZ~OsSA?~tqE_3|5BeLMslg9Gc zR)^)zN;mB1I7S8)5}7iem3`iET(e9-&{eSDA2Oo9qaRvj+8f`$-7mZTaK%V(mN`x? zs`{6)%xdj(PK89*lLutSJ7?niVRqcnbGq0kE5qnV!8-@EGpuVyTL;hYmuaV)%dFN; zP$3ca&VKpi6O&GypzGk`eX>ji6~U?sesMq^-kh*PE5jIFwv{Z|K3V79RijU=)*_6a zQz5~Twi9%1|1(b8!bkzJ)#KT3U+1s+?R{T$&Z(-duI`;Plfu53W32k(Jqg=w<%i66Oy_GevNxd3R8nS5!!BoU%6< ze~2{ZB4B1QilFvh55W7%5#9Q6bSh`Oe_8V<4Q$ zS?y%+e)GT6c3+Wpk02Eio%-w#W^RG;aAJ_4Yk2Nc!KiO>|H|nrDkSEt-5<;QFSo3D;31=*m}bVKD1bi70t*cChqXJF8Fo&Il%7VSgr( z**bMtl~W;+aLRYV0*Mj{S&^V?{p(YLP0mYMQ6Vv*%amZtkE9qR=-M)Rd~pBgVZCeB zL50MXG~Wi-RFOWJNrJ8>mnQ_%e+R-Gz0k|&XaBIL-%CC-Sfx-Bp|7Zr=#hS2aB*sT zoZRC=f(nU07B3E_C?gS6NSumZ6zno1zEC+85{37e zbN7)nOQ?|GQQ+ywTT>XV3J1qj6;L07Il-dzwU0A#vgK_~6w(VT4sV z6%v0h9UrV7FO0CVB0*QSKg~JTOd_a|7=3?yuyFb?!pe#SU4N#Y5Ih_iMp#)`cQR7lKe zGAa0^E@Ie)o0XHGE63VN!KLLv_-w@Ir}A04$<8ssmfU?sg~W`V-vxV%>lF#QPK;h2 zG?rx$DyKq%J2fXOvljFFwP=g3`8n1E8=Orm#Gpcgdpmaw5_Daku^~7merh2G6%tv7 zEDc_18@B7S>L5Yauw+|;(_T*@#Gpc=@w+R6H-}35L=tobs;>+-E-Dcm=L<(B2Xp^q zueBT-r?1SZ$NDR0> zG}v?jj&mCbBj}pbWJoY?LY!-THsbSBA(6E6uwcmoAexLHto)e1YPM? z6*SUxj*FlxTa)_6fzlE|g+%jqMU8W<;v(qUfADRiWI|daJ zIflMxlxS+VOtiCjkX7hy3% zVf-ZMD%vid5r3cE3+@cWeVfV-)t9SyDO(c zVsD8E-3{Gz3PKo0qG!xC2&rfCPYsrmgZ`dxj6nj=A#(kg67*k1#!M5ny zJuI2|gbInE^5NKI#<4H|OI9S_+m+1lek;XbR&-@4p4`a4DlUSq?{?k^_`j9bL@Fe* z?N4rev`30Tg06>EQW`17NM}weBnC{5FpOWqV)#O1PJ*t$+?2+>UQ!GyB${SSVO;(r zEQU3&NYM4giWEkb`(cEY6$!dNEs)B%(pJif3W<%4QW}3emtv5h>*(23#?`t~3@RkD zWlLooOB_a6b&#Oz@aELUBP9`3NM!gmwefYPFv99x5_CoGNn_-CCycPNqC(=u%d|$* zd|`wYgR`V`wvqkj3NYHhzMoJ^`Nr|8`Z%s<0=qsCoL*G!Q-;@%iUYpQlS!wX-Ufah|@O z(f%GBvvn#rDW9JTiAVEh=y4VCIbi zI%9u{phBX`gPD5aLW!V4;+qaLb?`@tphCi5bf*6CFNvT+;_j0fx=Jc(UQr=2Fvk>~ z{{sHQ>+~)Oy7C>Jq0)ZMqDuR??`G}{?t<;;b;+pAC7Gh6ps(q#Q+{m)(5 zO8b}S+ehtj-cn_QmhT8tAu(Y2V)uABS>=5+MBlz?-wPX1XsFKG*nU4H!C+lIAl>Vu zLgISOp*pb<7eQB-_Cs}z!XV6kvJ&%m?=VbfzGdJ4tdxJKzVxYmpYmUX4Vb-4g~XA~ z{q?9LxFhVd5jQ~>>vN9>6%qqa4b%gZN%s?}kSMiofSxcAgi{9zx~|st>DdWzchDhD z92%~ZUbK}jb4=6!+cyV#ImhX{~peuisF}ma)sSYY6)~p?)Yp#+A zDkKi27^|~Rl?W;%nyehFw|0;SDkMIev{1|cC0kW>n9f<#ZfkM&VY>FO_Iviab5=9Q z#Qa|o#)HK9%jVJb6~@D7522f&>-yrMx@iL3t#!tnO2%PBb!}z47(4c?NStpwRHyh- ziov$%;*4>}ph9A3ry;u6S}6tzy6Wc}q*ql4yCZD&m(NdyM6#6w_54j?F)V@#iD!TK zbVCiobcbF(KMA^?^zW~~t|nzgg+!6z{q&&#V%QfoB_*)T*8=x@7tUUBL$DWCuA3}5L(Ep6A-&%V?d z2iZNEGJZdOJ54I#&NdYiKiuu53nT(zRvmiz{3Pf~^y63h(Qt|2TKi$j?z;LL_IZif zT6OrW5MgzYxLB*JuHQ%+bGAiSrBOX~<(D9w7*t3M@pRMje@r-1{yBa1gjXvAN7h{j zk3k+?kE?vEUH@aT3pXpLLV~^S9&-|O{cAj&7!@yc*4L-oeKN({P9Ml<{|CJ5#BRD* zUHmuP=_@KElC5m1(~JS(#2`UezGe;elReUZ^{J4^zPh1)u~Z_ckl1jip>8!oBB+o! zkhhUO(M}?$ka(^d=~7A}sF1i?yOI7RTNq*Xu+LA0#N3*V^wq!8xQ|+kph99&xkkG1 z9*Lkr;%=%&y6SX^phDv2v4*-vr!c}Ccb}gMiHk>C=%2zrWntApg05yG8|veg!eUqi z6%yCWnDZ)=L{K5|{n-Y3+P$#3YsH{KVq1>}dhkh!phBWp!Unp{CW)XzqSKiAy7~Mt z!s=ZrBs|SO*4<`>ojyi4A*e=sR0LSY?M|P$AK^npc-N zg&mohkp;O3x|U@BK*zg}7!E;&M735`b^OS%qt*=K^OK;f-N#k+g)JbQ7(9p9^|sfK zUtOi}Z09~ZQz6m4Lt8z4EOs)Xvdx#zPl7I<6WwQL?lQQ);(oKh_Mm#j;R7f1E z;n6pThMmu?z9Kdcb zCTz*wyHrU0_^66`2QscY=qk0Yik{vjy)bvr)~u{k&9jwdlfKl$|14;^VkfAO*ml3R zJ~c+liUeJ(&pm=&+H0LOkDXP$c@_1dllFUN>n5nUi2fCIgd zPWgq>UC!ARKHpkVSD9nC%WU0QQ6Z6NV@17mvy>GHx>%Dt#*UsIU3#LO)ort{TDP^^ zWwvgD3W+LaR)YsgS&^WNHMwIn>l&#CSGKb%SFfU8ncr@g*}4fTBwq7X)K@A?S&^WN zHMwJyXadEIoA-7d3rXGMj?*EK8XHG8G3NYKTa+%eusT2YTIZD-{vU0&y1Xt&F3-2@d9 zZ_OyLi+wL;MS?EYWW{jKQ9Nf1%2rmFK4b4on5~BJ#*ZcOdmw|doY?yTlRA(1;#8GSxlia~`$y>g|sXCH{rIm*n;=l|h&cAfKe`_p)L zmgLa!CfTc6wO_O7;rpeTNQFd_Ryp;B1k##Fg0A!la_J{u#1(@s|A1Wj&I)PIK!rrI zB6;+$HKiCN=xQ^*fbO{`tgk}d<)=d8=CL=;yHV078cERAt5PA|E1g8J-FoHn=_-XX zS?5~P?jwo{iETX!=mEb-F{qH(GdinovbLD810X@yhP~Nz;y=O&YhKaC7*V%RRRber#tVqz+piNfY>$pS| z`Z<>_y4XGrzR8?R-!Ea00pmG!STU%O_~_l7=Kl?(5hOv^%lbL=Y_F6Rl~z}>>yG_w z7h8%wD-!GlHxbb&lTPu#KGq(*l|gsRZ-3(~_P(M*!uT?yUQ${bK@xOvoUE+O84`M# zS1ee`4rWZJyY{u$b7t!%sE~M6FRkucMOxuV(8ZeEeZ{Qw#caCDa(kS)9=i#yS6o+K zKV3-o-;aA4cHw5_R7m)97t&L{lU6tqblvV-LJvn;*NYHivc`04` zI0&Czi20cbC?pE~{I+ghOgcVD&{h6&X?=emVmN(8g~Z+CWpwXt5 zg07nL%j*N}q!?64{PKAP9bZcX6%s>tSJ0D+Ndy%VZPHZK`Ljs`6%w&u5Av8ebg+nS zddY5=^Vr>2JlFF4$~opHsF3*NUUt1Je{o@!kf1B7O%2_&YKa)aIR>ea_$zUB9q%iN zphBYk{HnU?e2Jh!;zF7Cb?e;{L4`!VU0T1qBoS0dJpa(6-*_q!R7jLM{+>1>-VyqW z3WlGCe^^@n+H9JUSPJ*t-5xI2ZH4^dTS5wusKkd)4 zAAfyZ)cL5O#<#g03!GKURhLJufFKDkPrNYot2n$4qnxDkOG{s;k~zDiKsj6mI&V z%KHY64=2X^qvxpN$LzK^{yhGjGmc65{8UIx2#!;i-j(`_1YKh~f1}2Qf0xXPL50M} zZHK6)Z4kq$g9KggBps^GXF*@ZvtK?xkEnac7pkS3Z5NMbr*ac=&)qgxI;#iI>>mBj zJ5ZfJgWh#wP$9v!%N>IRU0hM!1dl=X701R+u&;*Q_(n|_Xjjg0vIyTleMN=D!Fl6V zr!-RKB04Or z`qBuJpzHKkbyST55<#Woo3+%Gm$r*7Sy?&riV6w#g1e4YIXr6l`}PWOyG}7x_om$o zvG)}f68kL5Ya%D;*!PeF`_QwP`D((OyC39r8C&1~J3Qy~$xw}`6wC0025 z5HwdG5_GX9r?1S+eEuPyp7f0N*!^>D(P_`5n|8ZKj}@N6Po)@CNVFPv*7M2qFv5yK zg08HqmUzalkO(RydhM9z`QWCs10X?HmkAR*(Q6SSG#*w~R7hkg`l%=XW)LP2dYRt^ zKwETu{z*qq_RMx4I=yQVY?pOBDI8Cg6u;w6g~V4K{_>QbC}l;0uABYSsDqP1_(D~L z>YzfR&7xGQ<1&e$LL&2n6e{SK2r48Ne;#3;2PJ|EiM%a6P3JK4J)1J0}f^cGxpeyzDWa{!hiJ(H_SlI~m;F?5GAu(+75s&gn`O9T}X&ngvDyWW-vDkT23-*t{b&W!P$w|K5k zx7+2|xW|JEiIwj+_pDqaWkrInhkeU>`mF=utfFjpUDY2v|6HGwc4tL}#1|7xqvaS?RIz6+;9g8O;*nDdIo=&{<< z_(MArUM;za-1XB(wtlrDpQ@EJFn^Oh&SNU%j_ke_WA4mEDkNh64G0o+@hEU-#dewD z%o#ZX2@4@BX9TH`s97RuWWV%r5p+G={j}1q^_YoHG}9u@1VT_IC?h$S2i7g+#wh-2%UUgBVU7Bi8S&ba$9NGYTZl5a?IWe$Nb@ zI?T*`ekvqdZG9u~BB>OE1YOL~9fMglE4sPT)>prn#dvOl3W;?+(g&{W#FdxRyHrR- zP58dj*L&k4=*m#(uz%lkT+ur*sE|0{{b1w?k)T3i)2+UdH+M-{k)Uh)U%y5E^g31_ zXUwUP2v!{!d8ix+rw$Ty{d(|h;!i@dW1M5qokGoPQm`&ot5 zo}_u~+&QxD*-nMT;+-DP`mJ%z61sSI#~p(T3Enkw6Lc}F_ey#^lirrbg9?dL^U{0L zR09#}EA!>^lc4L>KGh_dR0xtPo}lDkRdae8V&PA_yA@Bj_rg zxP)hMt*|k->Y&mxRasBgA-0RL-E~kQG4j)j9{)Ni#$QiMc=C<5&lC4*t%%G#!G0h6 z&XNj==Wou7{AV{1o>j~)m9E&&=Tt~=XW)*(Ojy&{KQ=~I7k95zNYvU`*mJ#!bmk;M zSMy6bJuk$&1|;a}aph>_q?^)sP$BWKZ)(rjPH_=*y)*PiWaBOpL50NDSxG$|i^fIJ zm8EEWkL&kdo!MS${g}W%cb6NDTNNnqzI{wI8uv|L@oK4esgTGv^jskSt7|H2%zbtc zpPvL>+%vjo2^A9joiaDU9l*oV(*s3c-IZs3Zh{JlT<5+I{Ob7*F^q8 zEPn@-{pOBAg#`P}A46D ze0~yieNc9wQ9TeA!y?!&>)@{*JL6#yR7mg_o81I|znQ;J&EI==6Z{?OakpxkV{Wf% z{M~9dL4^c=vD+eiW)bGg=cm%|)8@vzZ`rF_?8gTc5>HQlWi(A7t%)S)s+MAq(dmw~ zQnTF@MOz!S2ih*uPUXH(9aKo87eQB(TAhsC{6DAJ{;SW!Av#^LAGK6S@c4ITiB$(zxW~&{7!^*~s{vP6 zH&Lqj2&49|_A2vswdqF7qBe2x;Ao@7Old8lLgM?=(~K>(;v(pJ+<%%exQ9e=RSRAl zV>EvC=|5&0dmSX^6`X0*JSDB7Y>Tc1pU*HB|0xmeh7B^NFSCz>NrT54@4njU$9|ks zA+g}|Z;YF}a76h+(%VpR3fO5n0jiq zk-mmRP$BWvAG3_C>y=Dg02=Q8ltaHzHDkO}*Cm6djNLi7f>zm)E8AraB zDyKr?mvQ5b3R~hL=qfgHn$f+sL{K5I>3`FV6L}?q3W)}(#u>ev#YNEddVy)i)4S5T zONGSrH>MfAc83wZ(0WCM#9cMb_)t85P$9wdiZkX`3=(w3e*WNE%T+tkz%hpWxeO{K z8l)O*JZmP+D-v{NZ!*fr%)3#}x=V$`J0*u0Ck$x>NzgU#{Sn6Od=f#0MD`{_jZ;P9 zBIr8);cz44)vz(Q))FctKDs>An0h@fg05~IhMDImiMaOWb)$JI`&*xBcRVn54YAM2 z3qHSX{Oc3gR#sFYpnk{?0*whR#Zq#%<{-Mut6fIkVyPmyx@d^ zAk6kdFZ25bXp635=N}u#9!LZg5=mA*HPV;Gw|;$A2&;Ev6cT&Bd~V$STq3BDsQPO> z^ZDl>>=0%Q5_F|3`qG#%Pa-b%IcuzcW-B`4xN-iG{ho8d8FQF`|{r*bMJw#_+cK5s(GiUeKbZ|ydAl?ppPtjej7$dl%fk+>iT zpPiP^PlB%B7VR;ne2c7Q{vlR4hoC}YSEob9fc_Fe#YKE@*x0umgi}YI=qtvhP4?Js>2cn;u)xlpbJ{(x zsF2uj@3?U@zZ8Q6UD=x)H4el5u=o%As$jCQb zia~`$tJ*>1d>}4@u4bDL8rPdh1Qim`PX>*~W8)&|N;`PJasMyO61%I+zM?{6$c-IF zKYlJ;B@lu+C4vfxi1@qBoti|{8vDDE{-J$r zf7JGx;TdVWcs#mi2^A7NRxHA2cb3o38P5G2XQev^6%yw^i5FZrOsazfT|X{(EqLkG zGaQ{5W@hGZ8)EI_4uET=Lztzw&x3sOPlx=VttL<6JD zYfg!vi!oZ&-eyebEfG{m)VdWkmUjc;j35cR3Jnh$*_)#Y9oI(sSYY61_h#x z&F7^UB!%AT@rNt zwrGv}e|JtDR7hOhy~e2aCt^4R6%w8HtT8TR$63uGsF3(!))pgGD-cc{BVta zdVIUse2O#baK?iQ3H~R=is59%Ot{}A?Izx6yex9SkLh-Vf_^@3e&ly&?e{0X>SttH zl-l~cyACQOzWQN$(=|z3j%t6 zmz&mmCx$Py_n|^!`I`a#sP)wt!gPmTZi2404FY=NSj6yIfJsmxF*9F4S6>uHn3VY` zZzv?5{o&VhgCIg7EP@J&t3|iyIo<4DaE~Afx~4Dp>tk0C!)!nFGVixTAyKitUnfp` zOXw>qBp#jEu7~%R2r48pHs7w7-j)a|Bn}kauCErd=YqR(DkNqm+^$DWWDG^jil-RpjFFbQ6rg!b(Fvo)gUHvw0)5+idQy{32NVamDKGZ`Z zsE}y7Y@6=6MIxw>=(TE_{x!Z-2Ne?CwrtbsKadD2B-$L^rjt&R2r48N-`b{&{{q5i zcdyS+g+$Nv+x3wGf5r5!Lr@`6_p9yZN+c0fNc8TwT^AhkcT5at%t_Eye#3TMGTvQ* zphBYh{q6ctMTww7!YJ+6%RiS0DkRSJ_UrO9C4vfx)PBD%x?LiukjR}VU>+Y5L50Nq z4+6T&4T+#aqUW~(-SB}#P$7~2TtK&bA`w(b)O_90!^Id>NEGO3=u6k77*t5iUTx^v zrzL_4iQIo1y3#g@phDung#G$i9qBovBgk@&+1Z@&K7ZcN4c%mny~^}@ z5!7q4*+(kR^KOC)i6doq>*1Bc)+_VKHNSt3Jp*0b4Y*^p${)~`?!Gz~UGwX_S?u+k z*}4gr0wVV=zdld`X9MRrCqdWZ8Gb#qoC9b5vak{S*DRrHYGS`WC7uVVG<>;TPyfhnm-WRyf+TJ~ z+phBsMpovW3ccKOm#%GQyvE;yumO{xvdPRn@0tIS6^X=VU)4x}vzilw71DJeuU{`M zCJ|Kj)%5FbLv0sZioLH$R3BrW4Stqlur0cJp7QI{MR4YH>Y&mwZ$K~ZWV_f>>{*fc zvRXjbA0owITXa?WJfH_ol?W<3rv~&}OaDt&BvJ+gy7D?H2D74T`Hg_yv`HeU+{tL@ z8n5;uY$^7>BJs1w(D61%G1wMeojM!(+%k!vGHt4%e|^=XY$^7vNVMB!=*)wp7;KBK zU3r2!pEr!~g^pS(hdKxK%xC{)wv*_+EU4G7iEFmg)%d5N9^E#Ku(G1Uvl{Dj_Z3|` z{@&qa!ZVzkphBYh%^iB~{;;gfvT8y1Mq+p|gs|Iiu4R`@Vzpg*o)^*0}E`3FcL4vOPCh^mQxCpwMei*G+6_m1~LSk$sv#(xCF-XvL-|VYO zNu?N6-qg`Lkj8egCHI(9A(8w2Xk8#HV)*PKbdMnW?ZMh;ouCT{XUwUP=-nn-=cyVO zL07Vc(Rz3%iJ(FvqN_Qt>c&OTRqg9&{msW=gjv1MUt&bGKGxb+_Dqh}`8wF|MZ&D! z{A54cBEf9kGHd|s!g_CY{@+y zR7j-15v@~Cmg=BFBC6zO-8*eqR@QispsQexP5Np%DFzi1g(ElVJ(r~WS5!!Jt-DDN zm?#lcNIYqJeTfx=1YL7q-=sG#2#aCY0foeX z>(RPPEs3B)qW(T}rG85ysF0|=*gOv=k_aj!x($rh*RI_YdY1}`HBHPj&M}FgLL%aw zXgzMbL{K5|b&_bE^#_TdLgM+^DD!EX5{B{?7|-(N*b#C~d4p44(y<1Qilxvqb5!+a!VtiN%*Tx<}B7 zL4`#8FE{F6lVM&t1QinF<8RbOn}7(FVN&M41PX}~PuJ*-yx;D`AVJsQ=neYBWW;a? zDkNI;*`RwLlL#s#=D)u|&rOc?%85aRM9yp*^w>y=phBX?!}Yr67ZO2*M5W~G^qzHL z>u$VI?~1{KmGbahU?kw4$qlZa# zP$A*ZyCL50N7`cZmfUa7CBkcjtHl-}c&2r4Aj%!<;*TS){J5(67-)ca;X75a(5jdn7*t5i{WD6h8Z8l2NF2)+tw&Ci2r4AHSB=(F=Su_?5<7ZE>t2f`f(nVb=JlXn zBoS0dG&vcqqi0J56%zZ*UEkb65<8%>q(XwbWp@k`bj1s7)~R_n z%IPaAB=SAotSdj2&L31rw93Clr(Y39_(J1Bg#@o&oH{ImXM@l>AAP}Ym**9SFl+Jo zsgMY*;2k%GW%VzDu2GLS>MEaw5mr`I=4LZ@toi>-RwVWv-k@(+l+LwONX$&QF_s+w z6%s=`Md_l`r5GgW%KWCe7d50^1{D&+Yi`s(O_2yHBvMX`(#h*fS&^VCYTZWn9?l%S z(97qiLL&FJDBV7j6oUj^z5m##Z)TP1phDue(^2~7#kdH%GG~p_lj2DP6%zHmQTo7N z*dg16o0U@`(ff}m^FMJ?3=(v0Y8a(&-;!cbAu;ZDlvd*Il>}WsZI9CXQb}1+Au;e& zl#ch7L{K3y_^&8^XLMWyU3Kq9=|;UJg35zCQMzAy+r`-K)rSg+4Hu&Hf-+JJDkN6^ z9;I_ukq9azI^BxW9U6l0+0(@5U%J-p#e}w!vyXXY`f8ln>+U+Jka*A`O3%D0%@PuH zaV}UfoUAS{3hg=VwsuX8(#P)G@0qPTD=H*%j*8NC??_pZpo=v*G0e<-e%>kIr`vc{ z>=0%L`}|Z$@bi#vf}cF%d64IJH!)@KY~8S7d~1(WedBDMwx0d|w?1=q!}+fXdmkz! z>R*~|KF!>w-7!eerSr_ul`nvBMzH(Rxq5xYgjRIAM)jVn^R=-5?v6o)M80#g^@U4P z3=(wRf6uIZkQ9RoiTdki>+4q$!yLWP%X|Vc+M;XK@Y(v*O%Of{2qWlfcW;iazEH}F z3W@spX6yJbr5GgW`sTYiI`2*?1{D(8H%nKV7#BfTwMDaZk;P$zS-sCs7h{}zca}cX zGK{c#mkNoR*JtT>Q%Ik=BSBZ{?`P@WIl~AmD-v`KNN&a`C1pj0#PEKzbe5u03=(ub zxHePwOd`dgLZW*8S^Cm@VKJ<}B0*R660`IVwZaIiau)$t!Sge9gTKNED+U#|`*ns{ zx?$@u!iqtHt};K))I-ln1QikmPR`U3yTb@8D=H)!KcA^v_l%36E8_G_eS3{WP$ALo z#!P*FL|g=2bAOqsH_r?stiGyzV3t0%(Vh*7>&(&BPTB9pBg(3r3W@kV=jZ{4q{Hk5HFER%k@ zg$jwT>1OCDQPQ0v5_GLSKUKH)Jln< zLLy#Zs=o6SeI;hKYWR10{Z>17*5@1_R#t;1-%_o2+P_DXBF|k__PYHWONE+VQ){l` zcZxzWEP@J&%D2y`hQsaOcXDEcAU_GZ22DPp=6;jO-Mdx{DkS#aIIhYMmk25(etF}# zDlkwYsF3I%c~qVMN+PI`7!vQWn$k-msE|mvz^{s?$J{lm4!z7LdZI15F7-K}Qn3!7 z1(*aC5Uv-v!F>AT@1=qmG0P_5{O7|xheA#wD(pz8VRch=qWiVBGqnRcio zK`90m5}8)*P#v#G1Qim`o9$F16G@d*A@MZVF7*kYkKW!!y5g04Z6Pr9G=>l`0cNNjF?O6}v*pd5k< ziPz%&sGhwi)j@^C(Oy5QD(^@H6%xVyKdOX=-2w#XuQ20-^eye>JK706%y8nayo_kdH2vTto|GTFa zEt1aXBnH8CX7JzY*!(cU%8JVW`aM)1E&DH7kvRF`Yr1~fusyZaSImko?yudIQz5Z+ zdLn(fg7iD7R7kYHnm~6;D`iE3u0%g3(KF9r_iEM6N015$Rr;~Y{pvR;V<+gU_2{wMwNuK9%8yH*sAebrOI9SdS9z)~UzTF94!Uj~ zd#W0Xdul2lRDY&6rmZ zg~YsU_f^RyQVbGw`9|GU-PcG2m9MtnF;_L)#g<~vip03nw^aqd6oYNi#XX8U1{L0! z;vU6KP$9v)R1RUzc%MJ|#2z)Wot~^+7*t5)>T^Q%7OzrC&?R0+S#?k$!7DO%UvXvN zv8_t)QIGaWbxv41Y`I?qIvv zk~1Fvib3Lfg+l67cwhaCpsU4_!fLd5znx0d-Xf~zmvLovyG}9n&+q2Hy*8gZ{m{P4 zweN$%s`WzrzNpVk$$a_zR7g~bD5&B^O9T}X(?5Gt4csRYR7gx6oKHpn7)JO)Sy3Tz zyG|Ze_B;ryh!8=AgmF5DdiJwKP$5z3f7#W@pCp0`iJ3oTRToZ31QimuM`Tg)4oUsr8 zV@`#{JL%J_BHg4IR7m6EDsF0ZIO{-EoknSN!_tdVqZi$b)&aLP$3cOk>cWim#C1)oh`jOQ%8zHg~X2i>D8V{ ziJ(H_?2HU*ba9EGLSp%_jOtJxiJ(HF*_cdfpZMGiDkL(m%B;2~m10mK(dJebHRYvr z#-T#OQ$3p+EneMGAu(b{cD3=I6oU$h^o?_>;^OrO6%yr|=TXgXOEIXBSUThNSYoVQ znkbm%)t&f7GvWs;x3JIpe14d-GFY>n3JE@`%T4e}W-D^sH`csq-=XC*(cA-iV{T&Uh$2DP7Z)EI zZE{NlmC6kt86!*EF18eVRwUwGcw|KUPl~~|=o;4Nv2p1miJ%hw))OP*)t;Iy#hw+3 zul{&q^y@CgU|V#p-}2NL+E*f|bea9k@C>$HY$^7vNK~5q!dUz2Nkp*|bn%%#7Gci9 z(97rN6M#Cmj~~4InVr?YezV^OOo9rDL7oJ`f3CvZS&^XY@WX_`OYcg3#V1$~Iy&8G zktZ9}r?!hNx%-L= ziA7r$na{3~VvwM#RPzN+JST=Vf>d_In`aE@^Ix(e@!{1u#w~F?m=#@oLc5cdHRe=E zWc+EiQB#~HBaSFi2KbLsO%S)XZs@Ky%hF~8kc>EmV4`Lo%7cL-l71{D%rC#KaoYf9rmg05iybo!0N zVKJ;asF0|CKaIZixTx?6Y$_x+jY+D16`zAeg06^0Np!crq&herPnJjMz-W6f!gx+! zS#?k$@$zJZF8Jyb7qJs`y?-M@k2@T;_p!#~cHa_ucyjv_G)0n>(&?V@ zsoi~LWkrR=ploGz=`*PWVt#{iy3%wzM#p;Z>hiDNzmv409$DIs=dObaiNkx|)%Ryf zpZ6g_m#1`jop+%`RLNCQFHUBEg1=n7ih5;!`+c*nk$P}tiFjV`glFXU8FrZ65U8s=?>QEukC&3O+;aoQDuABs2S)&b)FOx)2x!614*_-CSWJO|Lb-(9X z3MoeAY1=$gE9bH*ZpiJ%f1^V!+|OI9Sd{V#`#yLah2 zyCAVzo2;lX9#lw#-v8f-e_Wq_n?`x|yd%V*!gfbx^2QQ_1YJ9PAE_L3r5IF5B>A?g zs+vTqoCICF_I#is;z8`WcUIClOS- z{r5`~r>|KYTLZaWv#Hw~mRPGQ|NR*tGSPg$Q z$E@*i2r4B0Y?)ZqNhZahLgH}Y#A+pHq7#D(iJOlTsp$!%7*t4nav+h)&g0yPL4`!4 zxrtPXXE+8Of(nVW4HBsw_auS}iDy|7spi)tf(nTzHxsIt=Ols(iKx8^RoCqjL4`!< zed+xfh4m_&_{SCc`+zSq$3pz0u-zAC9giDJ1Qim=vnEngYDfeX67QJfaZE`B6%yZ> zW4@-GL{K5I#hh3EQW8Oh#K%t(sdr0A1QilZiX>Kfib(_&60=(+R^1Cr1Qiky(-W&w z1to$CiNU85tF{Fsf(nUS>6560Z%PCe5``O>D|LQ}phDvHX-U+#Z%70c5}|ee-ePIC zlb|c=LJ~Dpj6sFO!MBpC>mosgMChDYZ=jSF3A(EGNUDNjUr{0PB5g8t-%&~EVZAJVlN3A%V?>E2~fArab__T4AN zAVC+eklitg4)35+Z7O7~mZA66ZWXlNr<%7x{qnlB)2Bk>a@7uM&sdvw#~?vh;UVqS z^3oDfvE(PJ{*||^Om@89PMse6ru9B{f(nV5XWFR_iSFmI0(8z?;8&dBg}KU&(GZ13-kYMqkcLg)j@?sjT&uLfmwDRI(1kvNYHh? zLTfcPdjX*iDkOf)*+y0BE5#r|*QDL8)X-*OM7&VtBi62I%8~YbFEW63W<4F+N$3JQVbGwb!xs<-OVShqEtxqe$YluA0fpcLDxfnYjwUp z2y=#nUgnh-qSN*1nP~Meuap%P5{9RhT9Y3!>=0%Q5_I+N)k39uio1h88*vkK^=Q69 z4M;6zMTNwP*3Hy|lTr*4bZttoR^7QNjX4z(9bfxcwOJ>{AVJsGv#V6nEm90BBrex! ztm;oe45xQV(6whzX0>lpR`=XBd)VivLSpDonbiHGVT2jS=chvAM%@N#SHG~VtQaKd z%04Ee+8%)`FQ*PFB=RSytJZgvVvwL~@`dzjU1cc-6%yrI)l|8fNHIvz_3T7i)%0sA z1{D$qI#pLMYlg+JdY1%UL-JNp4XT9^R_~Iat69g?s`6?nD=H*-x6N5atr#Te67R!V zb?}a9xAnDD#Qh@H?Bg9)Cx%5(AraNMo~nJxrei1QdVhUGb>)ymP}#HlBlY9D|B@An z8{?X)B9o;Utb;C9a)PSUQQEyyA<-gr3w6Jn6oUj^hby;IWvWXAm8-?usFyiy7h7`o zE)^2>kG55fZxwd0CDsU%pletDPgKoliJ)?|czg9nf7`{D{(o7;5bbWaS7nqGgKg2p zD*$&4DkN^T?4TlF+Setq6Lj%P#!Z~buq*J=^XfizwH<*}Ui%2q z2L`HSll}`pg05ZX`UZv8Vwg>V?#zoN8?Dp2c-12b|biGq@RAA{2iJ(Ga^0Y01 znWf?)==$RJ=s@ZD5ZH*OD9?10_yM1eMVH$X1!G)tN2Do>e$e`LuNZD%93L3W+IZ9d~Nm z@%|m-AA+u}X1{G$5;nYEeM5^}N12rGS zMbLHau0PQJ9tbBZ#-OW0{-J^Or9e1YQ6ZtG7=c`OK{zo;(6#;Vfq{G3KsYg|keFL@ zN5Ch>AVF8}i+uwV5=k+rkQkG7S763{5KbK==sNLLKSTbc6BQEQ+}|De`VnF{m6M>W z(D}WAqAx%=Sy5@0=3rput7C#Kxz`dZBvzj}61b5?IzEm){w&bzx_t-YRIQ$Y-hbQg z*;4E=NU#qb!mP!7f<5+XA);rby{F>d&LPbH^7*Ndu(GW#?Z`;bwR_&!SoWe+NYu*H zDNwMs6oUj^yV|r5Br*p)+hythr@jfS?1Ex9YFLSkM0mVsffXp3-W3GbKiPRO74 zSEzG+qR zw#y6`m71ZpjY}(BrBWgB!P!izS{u7QcMKAA{rPONYW*xtOblmUQ6Ukp>bL6kD2bp# zg8w~p_Z11c?)4w9mVJpB=Bf~S`TSH!lwUYjHLfTTR7h0aI7*F8CJ|Ife6xPIT6!UM zOkdeanORXG;hQ}~B@0Ld6%rG>4^*jEN(6hHoDP z=&Eeq9gK>W2r8cTsnzBowu>#ro)w9uGg7EK^`sbVi>~{}Bh=!m5sYFm& zeY%bw&?lCxeD+i{pI3x@Ni3W6r5^rgL7@&RB(~kJtxt`SvdY)2p?nh2mI!MsPY~8)ftcraRq4#w9cZP0)nULW3P22>(OX9m9p-11aWANK5 zZh{JlwRa+P-XxiYnMi`Jix(nv?Yt5}B_bH1vzNDBY{|;XSsAF1DED229$ZI?L4vN1 zEh6-&_7Xv5Zng+rqHio&*~^uAoHGWA7WBJf|b zBEfGyxyPK}kK%Wt#NS&otM~b-kQhHPu}=O}s)GbwrPd|V3lnA$<`otG?j&1s*TL_^ z@fhTB<0kS~8KX=Y^#Hr{JdUl(nLLDXEE#?2` zKML26PISJ5^YO3OBfniJ{l|m~iFA{_)7*t4X z?UP1ln37h=iUeJcujbIZ_ej?tBvd=3^h~ zq*qf2F-Xw0?!-qr>CT8a2)bTe>Zj{olm53&g+#%v?eww<$%Pms=xY4ua9t;n6oU$h zjU&71)U}ccF-XvL=lAh?X*y}$r9$FS`F^_Pvm`*IIU>Ti-t|MQ|kV)cP>y5ph* zLJSgg-D^8pC(IB(4uY-^UvAQWMB}b==tN?^e10kEFXGrsk3W;@JZqUW9+!kVxpsUD;&3gRb*W)1Q+F9U?E>}bv zb1Ebb4)*IV*RKjONYM4X!%qF)&fnr7=qmB~1zoM<-vU8}M3J)lbicvB#6i%t|JEVB z>aDYJ5Of`yeN|`fDD^HC64k~W*R|K55@L{`D_6SH`o^2b;vncczV4PD*64yjP$3cQ ze@-VFcrXrvt~JLl=psAz#6i&Y_3Hb&e5sQHL4`#72SHc4lXNviLK3t2L}C5L8HfT{V?AVZusr z5OftApV?b^Ol5(fLc;4!?VWwFL>vTNXBuYlmX9tk5L8Hbi>2|l^W~3=fGdOf3$!cG zzAX?`*zTpBS-rXMzbOz@NVH6v*1IoH);I{ds&vlg&6FsoKu{qu;8AdBN#*2fXYtM}A-i4`?2?P}qSMufX4$knxaIU<3p?9IHJ1QhP zzn$LOwA}A8gbjodbWNR?!~4gxKLmmbiPXE(drLh%6bC`q#SA&UzMoDB1Qil(t7q`u zShPM4g08Loa(e5mFa&}MiK0K}^tS8%eGK8VJIm*%LZZpG4Bp-qX2cLq?~lDkO$~pV9lQbj}#Ushk8|g|g)K_Boe2hHzp~Au;}JMsK3u zPXt0uyYFR?pes+g+}_NU562L`5F0uMsgOwVAfwkeu}L80a>pP+*UArbd#ilYTOg>A zIMO(`_ez@Y{Z0&D=v^o)DkL7h%;?>Fs^0dH%bgVox<-CvRvv#^q(k^Z??N%Ckf{AA zqqlxmk0<1E#~?x1xmvls_lI_kA$%b=6oU$hEEh6*gDZD?LN0d<5_IjVklULea$gML z3$dXXR7h0KncJ%xr&J-A6~h;L7b2*TsJlL+cmMQEF@z0-5p=b>pUb;ES(zBZXCpp8 z6%q-)%IF<`=zlSU6N3a@>5W|8?|*0>LpU+0kZ3+QmpA88;c*5JNbXQz0?@jhx=96HmqvP7Ep}vYtureJ^@{4B^BeLD#XhIlP~(zZOF{ zF{qGOQ#rkN<)ce6gcE}VT^q~f@Gjl|OdzO`NHRB_w?nSyF@%#93A#$J$?kpBF{ut2 z-Nzsm5;b#Y_s(vgE{1SoP$5y`dRlK}`iL09XCvl+_0bkx3CyR31e@iEA)FXgNL0?3 z*86f;<`}|>L4vNjzhw1Z{NT+P!ihnJM8gl#c;o$%FNSbpkf7_mVp+XCO1v!)R7mVF zfAjoF%JMOUlNA*bgIcHd9xf}zAVJsFRhhlFFM5R-R7hOvkjne8Tg4c{shk8|3om5y z9{hiloe8`R<^RX8UAC;*$xbCn;>JDGovZA}T9%M3B?`IOvW-g8UZ_yCk)IU;p2~ulao5^Ld_Go_S`@wxDe$;q-$QCZ_i) zoKob?7MX;T!34Xm#@~%rbU+s$f)ystR4J8mXZeRR38z)8FtIYFP|C+2bj~E4Rx!b@ z7aEjIS)~SM5>5syOgvtuU`m%aduI|(1{3W1@~#poWqLiCNjMp-FtOv;>r&E(JeEl~ z8BDP2g+|3wHXR=4L$JccnL5Q%YNtJuNjR-yg^3EU=TCXG?x;+{X%!RfN+@15rT7!i zXA({ZD@;7pFkedUzb0l9P6iX~`uJFpls(m6&Lo@+R+#v1W1f`q^CxE#P6iX~I-&}v zbolmlAA%Joet5A^O10ECGYO|vtS~V(oI9m`H|mGeDkj)5sa>{_rZSIWWs%QFcl zgB2!P<~nEoy>Wgf;bbtuu05-Bq&%`}RVLwNu)@TYuBXf*MHc@H!LFNLKW=`Tv@DZw zTE!XcYFhoOnZH*wlWc>pN$zX+v$-VZN z$Es7$oeU<}^Ili@dcnlW;PaU{|s9 z-R2Yb9L*%03|5$^SneBh%c;LJ2`7UIc9q+-)4co1Q$7SMOpN~KM>B2eg-pU}6)Q}< zQhKBL__v4ug#NDd+_Oc?ZFcB@V z!OT5AOFwLa6(-i4T5tZ=hW3YSE1O`2iOD~$HwRTe<*G+i>RE zx`%bW?8y>q|NP327`p!9XwhpK{3|+#Iy@5{d4k^AZ`l#?4E|-Hu8~M|X7Q4C+xb_b z?4CPBjoOV=#U1)HQ5Wt@QF(vV+pTtw6jk2CfHT|xpr#%;p^S|!)_HTOeEgXQT1BvN3g;~xq4mI+f|8hwiOfXN-5Y$)%%Bt z1pQ}4SYe_|Vpr99BoR&q6YLswu#?K$Fw54B$5;_on0Wf`u4?aAzYOl}v_TK3s_*De zS8xm6=LaiHEdRQ@s`aNndfdkqD@^3SrN26Q+>c<_^X(r|Z#|+%0}tVB-T609Qf(g1 zYab1Bx<9L`o;Frzx}Gu6^99S8DGp(i3fC_oL0q;Ei1wb6Gz5=tQvgmN3g;~wO#Yol(s}T z+lmQx8S6e)lOlcuD@@EOH(#axN<_R5@@GX@aS`1YsNU&BST>M_m_x1^JLjv>6={Ds z1S?E@|G@&){-G>HoU$UUFwr2_Le+bsAHfO})gD-=qO-FQ@vg-8ART>^$IMfuU)Qr2 z-Z#!Zw_C*u6Mv0apn6r!a$MO2D@;7uX^~1eppSezBkqi-hT8gnJ{XtyLmGMHf3uEd3^b0ga48i*6DFma^mC#rmDYL%rCH^HtER~81GQLHfW zZKF@s%QsW2oD3$|b$2Q?$R@I=lqDb%!;tW#Lgn0soaNX>pJ~lf?fBlSgMNT@FQ4ZLiJy&KKhxCL??q4 zCce!5nX0$OFM|no&Ck134f@D0gB2!>(@WHf$$lA3uq)}0C8}BLEQGy3_}u2P$?I&R~LF)ygkcc@JL797`m_CJGn%UE$fwwwJc58{g1R zZf-faPx(LhVTFmJwYRDM<>=XxlfeYLx_o{>`9JYug^4#7?oi97_&xDrf?eO0_*G5c zL(k!yRx!b@fe#;1{?GbYVWN58J!)EIdYta{?eCO2F z7`-;(w2BFKoywCt=KuN!D@^<`?V`%@7`?{gWH7<5MdkCx{9ngmg^5eKud3Y%^jeXV z!34XS)yg09e?5v7Cf>O@M=bFfddUms+JiIn!aV^=%UYmiO`6YMInqEO8Lbxu~87`!P@EdBk-?jzBXBasPq-EpLF z%=PN4(<)Y&I8pZcnEz|StT1u(&U~>~_t5LkP6iX~Y8U@TF8|lISz+R>H}c0Gym6FI z&zWFX%g)7O{;$!q!bI}!>te6=p?3~A{a}J!dmkzubG>uGAy{GJhW;gD{_kgCg^91q z7K~j#h2AsaWH7<513gQ|{NINxds-AJ=l-l@8e`J!LIPm(lP({6tTj@ zYkjYeRlJGbx8!6n!LGWq%f$TO8^sC}9oiI)CGM)`vvrwZ*Zi(!W3G2>Ijv%aiAer( zG5`0GvBJd7)r-ZdkEZvkIT=i_>xsqXV*c-kV}*%4e;13j&r{H+=S;9Gqhq4$eA8BDP2Vz^?=|2?U!FtM_G$=K?YEbo-H zq#sPMtM!VCG1og~omR2JM8gu5Vy^e^3K9RaBCIgcV^hi4=Rak6kFb@MU{`woN-@{_ zknIE^SYhIgn@Yu2FQNB3+fB+!uxtCLm16$yr)GtT_M=M0#!k!fE^oUZOt9<4zbnOD z@A7t9#R?NUD^-rU-h1x!oE0WsTwW?R=b5E5}^#p?5M^VIuT~ZZt*X_>=d&41u&dQGm1C~Yf9QyK1}jXQJzXmH+QPpQF=10)@U;O)INMWM&r=?=mhxmQ2hzWMJE>k(?`s|X9h-a|E#Js_!V&&)feWHp9 zc0IGNQq2DoRje@4@uNyH|Ic}`!h}_+RII};zt55}!LGFKm13^Xt2sSqg^7J%mW=)0 z#qTq5Ot5Qd-byjo=kA;gR+#vuWyx3*<@aeoCfH@puNd?HG$1QX42XZ5x&LPrSz%(> zx)QNLrME_<`R-$v33gT8Tp{NFSxZ)!SY59~Y(!_j&vP=tu3_N{G1q5Covq6X6C0i{ z9&6ad?~|-duH{+|T3ctT6Fo zV&T|_x3}`?2NUcvi`)?N{{{h8n7F@oshI!w8nD8|x(bD2SDM6M_414iOt9-xqmnWI z?`L3zi8jXy#FB6E`wj>u*mXxziJ1TQOt8Yl%b#Bt%bRnsPd}Jo*Of-aWB%WM!3q=I zY8Q+7etobKT`(!Y|u5|~C#QeV_ zg%u|1yqzc3deHMe8BDP2$5n-6{@>if3KLIGEEMzqJ{eY+*jX-jtaG_nd|Jf>yXGbp zjQM|)4l7Jt|4Po-%9T@nGMHf3g?|!aTko0iF9f>=UCtNt|JET^n0V{uE9&^#**+Oe zu&d1Hxnus{p2P|h1Ik`hPu2OzCxZ!geK+~6+Bkl}zYy$twQG);|2Ivs!bIZElPa`! zu}=mQ>?&U5xN34_*}o9%>igG4<^Qc*tT3^q=3!MMPr6SA6YToE+5y!kU&g->>{^%m zwDSK3Ggg>bo9BP3*Gc7*!34VwZ~k39^Yw;*A=q`@bw`!|x4p5##GcW+l=<9dpA070 zbz|Wjs_-q}{|mvc(U|8K@)g^7BTe^6c0{k|EG33g3CutmLH_ZOd5F~P1j>wZ`M z-y+Bg6TjBqs9Hb2+b4qwc1`X3l{)hEAOAwIYx~%rmH#&`vcg2m@ey_P=zgCJCfN1* z)2meO3y1!NVAp-+zE}R=PRR-r2~T{Xo;i5bCxZ!g-P-Cim3PgFe<9fQ>bo12|2KKE z!o-Rqi&Xh1&-i38!LHVMmGb{aQdXE~7@4a&6uID&!34Wn^>|Muy?FUw2zIsUyh{0h zdn+qUyt#j-YBJpKn>?9dS4OYtYI7;S@04YNU0o+HRsP>}%L)?@uX|P9__5zN-7>+h zM&(~n`Rn9~d1uH>u&d#mh06b1fmvbV*WS;nuCx5U6_^QjU8*}y?TgPFoK{&<$+M-I zW1mn~d;Q(YN1DE_@U6)nLIZJv6(;7*`at=AA2Ji{;?}yKGw^!3h4(dkUip7_G%HLT zUEE*gpX&Gh)J(AJ+{@#Y|94=s!o&mXyQ%xu70lea&bDHLU5~u*nDYPjZ&sMN_p7$b z{LAm#znNfH>4nK^@j1WmBxizMGsbsU{@;7f3KNN=8>-Rgi}>`M33lB!sD<+X{&rTF zDAS;hnso4bpA070wYB}7%Kv-lSz)5q&I)S9*M8sY%mlk`xUIVK{|0_mnE2_jqUs;t zZ{TNwT{Dm6Qk6UV{Vo6#>{@VLapnKp1FSHyecjP$?Sv9OTbBuT-T&p)sQ+&$u)@Ts zgHxgv@2%#O!34XcuJWrN!RsCW+V<#$nY!&vyT=k%n5b%g8GX8XNuO3R!LHbjmC-Ae z{Rme2jrk&awV-zKnu1%!#8aWA(ZdJ)_Q$}Y`Gad;g`V*6Qve^VfIM#%b0lI z3UlLZol&s#GPBjG%XVJA?(57(t@J0Y?0#7K(rHClVdAEuYfb-mlGop}&aCr^{ygyF z4eQJT6AsxK{CQRPwqk{e<8#)T6+6;rUv;D6a~~$y#h;>eXYgmLziqVMoE*~opFhv- z?l~(=bV~cy{Ha5hcX`KK=5E#Ff2}j${z-q1nzx8MgFm~(pGwL*ajq)VhdvA7^qdtY zR>bDT=ZybGuxreZ^Hi;Sh_G~s72yna^(h+vMAg?sIIUuZiGCO7sS;^KI2lZ^t9$j2 zRkeD4pPOK1=bay`bB|~jugSg7Sz)4ni;vagv-~o;CN5HkCuyb3v-8!T{c@#9Cs!R@ zs9ql8N3g=gCu8TUd5tvfZWR;kYWdPa)ufYO1}jW_G<3dtJ%?Wg6YMHeJ>HK7ei^JV zu`@hhReAQ`2zIG27N|i*{Rmc=`2E}Y>Z7mdC~=M}R+#v{>U_2M;=d8>Ql~#wAB-l# zITHDE6Z~0;eMde~`~KA9qk9js!o-f77pvY$|3O%JO@HQ7HGeUE zGR)altT0jJ@x`j%BqE#)CfHTyoyDqIs^4d2SowZwe7%2a7q7{^typ2=<_(Kg-I{)* zD1W+!KT-4IEuX6c)%;q;3KQ!$Em64(_+>D`u0rN#YIOX!0c4}P`@sqmMc-bc>gDlk z6%*{*(RYcemWwi+{lTA)Djr*=Hnr62-4BLYUM9P#J95iSrJy4c=uQb_2)-KST>M_VAn0T zw^6lf=--)jww0a13KKu(@1#nc^~+#_U3qh~Q#+r|@@uqq1}jWVzM-=!pW@dlCfHTG z!hI^|i$pj*XM$Z_(%Y$f3zV?0SMHv(!o<`v_p6FqDMN4E_||2DT}cJHs&89U&z)8= z!LANz6P5q(BD2E8s7Jf2XG&6rv?`usMVMgMj*Q6)zscT5Q)X;cRz5 z_&WzK|2R%9yhncr0DpUdo0z};dDUd9{-kH}o)=W-G)?4x>^aq-7JVOp-EHalyeDR; zrhitjj~^!L-#JIMtXIzGxMGEg0mWWY9Us$q?p6&PJ4+Qk8eQs~6Y$ogb_) z(eC9Gb+oAdh81@P6YQE2y;ptG-Y<5v(wAx^_#o z?R~#ivBE^&i7i$B_I?B_Osv}2Qtix{g|N5PuJbKbo#VQ_{T^tgN-fqkkH_w#gcT;H zL|dsU{j&7j&R~LF)t_sv4zHtD#kZ{d#m6gB_h&W{RnDtA^eEFmpb>?t?mp<2v(RF zdvu`cIP?}bVP~+y1dkFu7ymVn_BX4<0eXLI-h7*CpF`IJiq%z* z=AoWzAWpEt#GIM+)u7Kb?X=3y;BCcQp?CjV)q9Km_6I9WygjCedbUM9pKZkiyKWoQ zUA6hpkC^hA6j? z!bGmqE26ur`u$on6YP4b$F68>bNyJnEm@9s{+(+1U2OdRHUCDo`zUEQ?0s`Yshak> zT2Fn?yndRl`FB*^`+p)%W}%5h#J7|DSrJzHu6ozJ^_X_? znu1%!#P;Ryn6GuI{V%Oz*C+F4nMGF-VcCs}w~CdHugx@Hy`hf1-v8DrCT<%x!~FX( zO$YabT}#@$ZRT7braEvckk|-%M55Zove*id;8cx%P+C4^|qO zZz}9(&JNCCqT%qj6ppcAf?c1y|F&`+yH2ZEsk>o@!a4EZTE#^BKW8eOkHM{C*TRdl zlgl5O|D{#zT3WcR>e1YfVCC><@y{@f(yriEJ=CU!>hXbg{j%pC)o1-R;@t{rT@Ana zRc}(5s5B%+UESx`Dkj)p(2t48Z$qC@J9>g#rX#}yOo z+WcN+HRCev4@&|hFIP z9&}p8%D}s;srxo*7q2O}RZM*Mb5(V05oN?XE`RR*!LHSls;chK6Jd#62v%0Ltg4DU z^#5rU6XA_j)aD$N5s#2RcdOXN``_-lC3Ycr-=6xSlIr@I-p_n2xVIH6OoW$LRN(=1 zl*A+C&wV7aEBK5mvaqD8QSMgzyjxSdgsPrb*IUo#R{Ij^+l_TZJcAV`+RZMej-0RS zGr}>!u9k(0s!gZ;i1P(2nb+ypC3G^{%&2Dik5^2v>%^_qO^lE33|7u=t!`pO z+$!bj7>Ca&Q({d$|(>sG&~AFMF3HD?DC^9LuxKCYNx*DEQVOwYW; zZWSy2N8e{+zQbz@&S2t&54)I{YXuYRY8dTidY;MHtzzZf?;kMntmnVAiivaEdYb;v z;RZGvXySR>f@vd6ybAD3xS3hxeLTN9kY`tDU%yA}U%4DVaHKjnS$~`6cl$@Em)_Df zmT%d-IVm;lM~K1%YE4X^ox>Qede|APppNg_gv(EkQ09D{ml_Tt*o9hWTuCWoG~d+L z&R_+#WHc%@LY+@XMi9X+)H-8NN_}Je(#CcME2t&o(+$Jbw9Uu}BG`pmXM9^a61vZN z+|F23VU#K~!o3e91IvR6QLxv9K&^@KZ!8Qo?EQqDanFiTYRmwgf%OW3<-vp~OrX}p zflUJ=lk#r1zi;EMqoY;*3We?K9o8!uSRPD>!USqfe6wU@M(MVL3|UvVexuZodvylZ z%gciaQJ6rjiBdmSU%lz-1UuuW4@an+59*ARTqD)V_^;MU29^gCqA-D46aA)^%g9q~ zoSnf6YRUNF@sVn8cb%6S4kFlvT4#Lp;qw_4(?-}Cte}>RN&7~s)g6%$M6e6B&Uksj zij0A^hS(Xbpq32YPpRP`f?cR}MuX!0jfCm{3&mGu&7Cz|#p>wxzO;0>YT8iOSneSb zSYZOSChqvOi_!bwb#^~kK`s5bXY+8?+Q7C7BG`pmXWTOU9;5Zqs&)n|s3l|Pf#K?8 zb7TY&>_V+GO75#`yt=oEoxuuf$>@-Oglf_b89@ZQQ0t66cNa5SZRu!du!34L(ry}| zYTt*9Ac9?}bw>Li_l7=Q8{hA=E>Yl;;i~9iWCRiHLaj3npLoh>^=K%Ll!7d!fF2ZgVD>xFx#o4a=4_B+0z%k~^ z@brUSIAREkkmtckWGiSTE6)Q~O+U{gnx+Cs> zunV&@hj4n%3KO`tXHT#TS86Z83a+){;%s-%Sz!WKQEvtl?7}tCOR$2gns2L|t;-oq zxUXv0Hf{Vr?z5K93Eb&Aq{ew8wd=Twu)+k+&Fl$w;hc8}D_+I_7k?KLUA-`th>NqG zR@nqAOkn>D?GW+Wim<{2#>ealc3}*52umu-Uw9_gp>(*r#j(isp|A!S}g$bN#*%R!-ndTy_tQqXWx#A+?|F9yg zFo82IdxBj!2fYLzyBHtE#pkB8b>qw3XDt)BmUuH*VFK3`FTn~ExR!VcR+zxG#7nTk z1gx{X}8fN4=KE}>q1+`?X z+L)&9AAt-aoOD?iyHM+lBAaiE+)*RZ-d4Ro}f-i5lx@?b&~CQxgl;Xi#MlMWx242u=i(spbs-47xX z;F5K*3$@Pp^u)MG-u^l4``W)QrmOjb^=H`!UrkqMI_etBg9%ZXK&^>~E>DO|dA9hM z(hpWpOWSXb=RMI7pQ9%t0WMh=yHM+lpVp0w{JJ5py{%Y5Eg5Goq^oaBA%h4fUDm}e z)H>tAj8T#OC5G7~pD8!$dggvMzR^))_C9FCVG6ptT`<-e|g7_qA^CPn*-# z`iQQvJeUxL3DlZs{YBl#{|Yv>Ggv__*`4FZaj6y9RzU>2Q0t5z#u||p2kO`vte}>R z=k}zlv_;4WBG`pmXLQ-rF4E+=Qg#L_s3l|Af%sVY9x{RmcA?f8(+c&9e6;C`eSWZl zS~4mhOIO9GBO{1l7iyjH%ukO-jz09Aoxuuf$(VX7U2T6J89@ZQQ0t6>=Y~a6?|I+O zUgERi}j97M1Swaz#;`T3-VgYDP6 ztf^ho)wsWOd#gR1uKFL)HI{pb1Xh?pt%;{r?*B5!e*L-{E2yRIFQ=xf+}H9_!$AbQ zQ0t7^Cv#*}KdN6>V+FNjY_rl;$NktJK?J){>x{a224uY0Wwd>Mu!34LPQIM3n(aeI z5Wz0gI%C{#b2B#AA7*E;f?6_;%}iH6>_$cq!7kJ~qu13RGd6D;U}vy`S~AvuoUTs% zjEo?HU8r@&;&KU*!5{UsGgv__8Kak{t6AS8BZy!ZYMoJ~Pl?F54jt?aR!~a@#&)Sw z!$AbQQ0t8An&vf5T*FRq-fUi$^xDu`egYMt?BXlCev@=w|ste}>Ru1(X`Z0FbwBG`pmXH4mr7&`xz ze$9&&)ROT`t8{gja}EX(>_V+GerlJNbmH82yC1BemJEzaQm2N42zH^?8F$}%hw-~= zXz%k&kFHdYg!OixI)9}a^OCNy+(RU=!USqf%&S-4*fc}WOISfIZO750`w>L23$@NT zyso8D?v;vmKla7%EpJ|;=h4e+uT*Pt>waLlhe%+B3Dlan@|IzIv{BDXSV1jq#}?83 z2qM^pT4z-FwyW`T<@|O(J{y*%X6DfS8253ST6*8LdxLAsJwyTsQJ6rjiK-Vm7^9yk zZXZ{ypq92{i|Bp?5$r;(GY-ZE8xJm7Dc5tWT)i|^_Az~*xwciBdUKhsvD`x>u)+jt zOu8v)MMp7kBJyKBj z1IvR6QH~ISS`&rNPcWu09^6#g$O>v%-m7Z-Sg51(Qo}(6yHM+ld5gvw+qPY2Z!1<% zOGZY`H1&N;WCRiHLaj5-e=*9~@~(a@l@-*IfjujAYB-2s7iyi+B=q+Zn8&mh5?Eni{oK=cR^&2zH^?8D%=O zHQqc>#?D{`wPXywD@{#YgNz`8U8r@&M}KrTUQ@a43|3G}M&AZ$s?tVe1QF~)tuxNd zdDxg6+MU7c5(O?$YQg zFd+&Ps5Nmzw0TmVr8@9dhXin2{c0X7_Eg9x{?eZVSyR_o&?uR!~bu{xR`!cM>v!2zH^?857&*HSRyw&CXy2wPavS zlsYvWM6e6B&WK}{u<`#Gc*ZUYAFu9_TDvvD3KKXgos4UcWiY`m9AjRB6&xkv;x)Nm zU2*%R!--t-cz@LuC=ch6a2051!BtIMobB#8D@@>e<;`G%UAX#q3083Z`0uS^!hQX~$&vLObJ#+V* z6(%rScJ;%O3?|s+es$?utK$E$3|5$M&#Ac|Ot6bz*>d-T6((@^;_U|$>~g=l#I0h5 z34Wc*-6~d?aNiYi1{3UZzgBdOi2uhjSYZP9pWdD`!7hHC%H0oEm~h{vazB`0*SptV zp>ws$?guMO;CVpy1iReN0Jv40!7hGf%iVKUn81@MZ>yMK7oIb@2ut=L6YO%oj&rRa z_O@b$2|Q==W-!4nywc<)SYZOMe|ZU3nBdpj+*_9wCfrZxx#z4ffmZ}vt+KZjD@@>Z z3NOJ56L|H+OR&NOUeoastT2IBn!E%nOyKn|FTn~Ecva3zu)>7~cSW|+# zt|*-6ZWSv`V16yMO;}P%1{3VUJV;#b3|5%HeM0sGyKrCP5SCQZDpqihBMN5+w~7he zQwbeRunYHaUV;_O0LA5Ll_g81AFMEe8KAh_tzv}<%my98l1eg|U>9b9;&NxO!USf6 z4q-_p8BDMX^Eq+3Ggx5)^T+H7c40Q?5SCQZD$ZaRW`N>yw~7@eFdK9TODf4=f?b#a zip!nB3KN(OI)o*aWH7-l%mBsZ&R~TJ%D|$;<7U=sf1vK3CsY+(6)}jC0TbEs! zKZ?)Yb5<~C6c_i;O|ZfQ=8xVCCfJ4fqnBU>^Ag`yS+X?iam57YjN-EUVM!$fD@GfunTiWFTo1tqT=FgcRyHR z0`p)e!;(t26`oVczwrD@YR{}s7RLYL-=9dYhBAR?XX0|ViV1e%nVdsdQb`6Yc-AKh zuPHc#2|Q;MI+$P=o?kkIC6%;_6`o(aTh%N1QDeY`ALR8~YyF7!(RoA4+TY30q(G-KR6KUdh1nU_uloP-`M_*2svN|7km;(ekd*-=EPLE3fMo zois$(SRPD>!USqfT=&QD$h>FtwqgY}_e1K`a1epsGNCi_PVH}`zx;>v!>ZY%OZ1(t zy6rV9bd4Szdab^;+(RUQ5XD7Yqc!o;_x+4vZ~bX+E4Z=}*jBn9K?J){>x?%d{f+N` z-fQ<`=z#m8z02yh*H67a+NO!FvD`x>u)+jtP5gdOe`DafeRe-sK`m{^7Sa6(BG`pm zXH=f~u<^h9cia8I2q5c13#G<#58+anK&=T`hyJq+R`@J(XTTpnNDNk(aG&Qv1iRd$ z4->pzZlU`eWP%kYuy4FQXM$ZgR~*99IhMf+6Yf38tzv>*d=|K_Q3fB?IM1ae!2~Nz zaJHR+enhYbrKQ-?Qe(SG?P^to6(+C^9m0}IuAEG;3)@Xx?pCqF1p46+QpEqP2ovnW zmKK*ggB2G+qn*3w*t)VVCa|S_GH6}w!k+aKI1fa@`5`s$CwHq@VS@KfYWU;l+GafR z%~SS!4Tcs!p4_H&X?tGMe8oS>FW#+dEZ0Z7A0Y}8s5SB7Z%;**7H(sYi8BWOlia?F z{uWBCSNehF!GtJGpw>iM$HJlAFWK**x1JnuBKb@Ooq_dA29|pWm%;>UO^nESM`&2C zu||AV)-97yCck=v&cJ#l1Is;xOJM@FCYHSXTxe**NIT={>8F!F%B?f7Udh0658+an zK&^@I*Htun&1`9BbSZK+dE!C6pW8;xBscv>*I4c$5?EmZwI&W0zRoz(xT|C&u!35a z|Jnaca>sKzFEt!QunV=$XnpXP(ELIAz2~f;mJDnwsZ+y21iMh{jCETF8}&!(_q|r% zbvAihRJV6v`q|`+&AP^N50StM6R0&&qt%1P;XxPd^Me)C()O=kJez#zCv2-Af?cR} z#=Ga+7+?1+Ywr(MP)o-99nU6@*n^B9f?cSu_2ZVij8bX!>0tj}Y z))}?`H`chlY~>8$lYT#&-0>yd-dj(cP3}EQ*H|7*h{6PFO{`3xV04(9WWPt471Wa5 z_Uzf@dJC|vf(Uk@))_PInqUn4X}0}cNUWfijGo8NCLjL-89@ZQQ0t7j4?krTztY)0 zu2?}W88||vP7MbU>_V+GD*duD^wH|U5#bm8b2|At3EiBJgzymRS>~0)HR4M)x-7jB1)Ac9?} zb;jRwl8iqu>h~eDf?6{6)H|D8rz9ng(c-=S#_2A9*ykWCs3oJrjI+rlh9Dz|U>9ng(fp<-jF;6SJA)O}lCga4+2s9W zkr70&3$@NTW{ol)yFA>^U_V+Ggp2=K@&7Zh zeMI3Il6!yHe*6Df1}jXs=Wy2uJA(;!xo5AO!3q=ZxhNCd67G|GCc^|POki)iwpARo z3?|rxxt5n;g$eA<>OzCfJ3!gt*)ptT2HYjzd^dNd^<_!mLJI?hIC#z?{e-EU6@e33g$&BrbObk3P7n ziHk?R)Ns=q`xvj}JudgoR_Sh?%}4tev!9DLsNdOaFiO{0u19Jj5?EmZwI-&%)81J3 zP)S45SwSt!Kf2P%JU2z>rG|qDcA?f8uk3GX4A^jsoxuuf$ruprWPULd89@ZQQ0t7; z&b5vDd+xR~SV1irqepi#A6|%zAc9?}bw-~YC5;?=+uIqepq7jsH9MIF(vcBFunV=$ z*t9socrC2I_k$JGk}-Z`NAsQa$Ot0Xg<5Bn*uFV*boM~IAFQC3jJJ<=FemIrMi9X+ z)Hx`4)-5`QpsCCBob8j*(ZwuKOte}>Rymxgn2RB7V5Wz0gI-}V7BxCdU`gtNNs3oJ* zs7~ewZIKZ~unV=$D6+q;vA(kYUISK8OUBU8JDI0@BO{1l7iyi+x!?mv-wFDA4Ol@f z8QuQuWDXpGj39ztsCCBMUp{J7{OLP;ykZ5lWME8`IyD?bunV=$7*On$j8{(#xA*z8 zcegY5mDTMH*KBXLxlY$u9!!YB1Zqv(-l|r{Wc@tRVg(>&7HZit%yi~OV-6M z)H-8tp6P4u>8PJ4vVvMNI-P58UdV|IBAj$t7rRjFj4C5fG;Os{KTl)@wPft-*1=qs z3mHKKyHM+lLeXNOmHqVh8nA*|G9Fyf!OWWv89@ZQQ0t5V#&e-k1xMQZoE6lPv9oYT z^K2nx1QF~)tuxwv_*Lj^&&TWxR!~a@#zd)8!$AbQQ0t5(ucc+wzNlZvxno(_99~Pe z7ssot7t4bQQJ6rjiThL5XXMGJ`>~}>*lc*a&cJ#l1IvR6QJ6rjiJAk3M$Vts*Qlny zw>J|`>FXWVD;ZcGOo+k+YE7JI^K|I;H}q@tk3Z7EEbzC^zR6X-&uy{bw0)iNd3VI|KfBqYPGCV9%A&7-trc4`Vj}+TbBupE8cCz z>tYv12^V2W1}i)o@S1{K#RO(ft_)8<*oAqJi?Cb83T86m`fsgb0&^5shNo5R!i*z( zf?c?8^AfBuff+~k1iRd`jCcpG{aFTQunTvr-V9clzf2R+zxk7HdxBkfYUCwYVZwdqg@Y2@ zf)yq(qIwBdn81kYC0JnsqpO!-g$azPUV;@SFrs=1R+zx}=p|TT0wZ7c1iLVzdI?sT z!1(ATSYZOAYxV@YFg|(-R+zx(nmxfTjE`P|6(%r_WlyjRBdV8Rg$azVUV;@SFg|(- zR+zx(nmxfTjE`P|6(%scW>2sS=lG1_a64& z+8fWUJ)T-KCjXFn;PW+{T9)IAV-pr!P_hz2Yhu&+YDptE>1P0anv{)RDplKFZ@Xp1 zqnnHA8q0$TQJ6rjiPbli3H7e6p8>FfT3TEG??TZ(bLqVJ??DC->_V+GDi56$s#Qxr z17HQUWR&e#Ao}UKT6X_Z!$AbQQ0t851(t_im^Z|J2EYnx$(VXLU-X_s$Ot0Xg<5Cy zXmTL5zGgo=gB8@0@%`#N(IG!0BZy!ZYMn9s_v?*{kxq67E2t$ScQjY@ph89v!7kJ~ zS3F4Q`s%lu|Wn?I}B{a^*PWE35i5dHQ=WCRiH zLaj4OeAvx6zA3Mr!3t{0m~r=&wW}UQMi9X+)H>sfQI8r|bN^sJ7i9&tWV}%P(%Mrd zGJ*(pq1G84T0dzlEj+`{UGuB$5O*V1iMh{jNBu~8;Ab+-F`ia71WYZj zOo)<|kgEg;@#?G2*YB6G*TuBdSneTQ3R=RnCQ8noV3r6W z&R_+#WHh+_(%KgmBO{1l7iyjH*``6p@g5uO3|3G}M$aNw)^>Rj89@ZQQ0t6=KRjrR zc;=j)!3t{0c(_JFw9+7C1QF~)tut=e*v{xVMgNu%E2t$SX?Tw4skX=nBG`pmXEcAQ ziBZV7)!=oB0+%dra4u)`a06rn5$r;(Gs3S{GyXW%%+6p1wPdVck~>?s|rV7 z-G_`If?cR}Mn=E$N%xe|zcIoJYRRbiYSC!IZe#=z>_V+G-i?$`n)RLjO(a%OO9sYW zsZ+y21iMh{4B_;jWndf>1^ZlTjK^Mr6(+DZvnSYved8r~z1%_^`Cft*CNKtPPp}Ik zs+V8|W1_e?+jR$Nu)+jJ37?E>A;jaXA?_!Ae#FPpO=KSdxJeN7jXNMQZM!JA)M_aIOgL5LVW0 z#V+0o4iTr_t-^>Z>*YK*!3q<&CJG%)unX76>51VFK5#>T^NJC1S?Engv*{_7e;L_!3q-?kG%vdOkfPo zo?sWoc`v~Vt|j8)Y}x0T&wX~EzazQHB7NT{^>9N!-@|fTKWxI1b+M9_5E_Jd^>d#C z-`(xXKpvKRhy+%Umo+;z+;8OsW9DOq{oH5xfVRoWpXg^jI}+O_UwmBGSgtdONMMBt z)S7sH;#lLCnYHa_8LXg|R{gT5P4W+obzW*Xh+r3LopI+M!;QzE*541u3TnwHb$6TO zX;qLBM6e6B&iJLyU}MZztL=WUf?6_~t!|w>sSq-P2zH^?84qsjV=U`+#Li#^wPaka z&^r0u^LWk>M6e6B&L~s0lVPnZYTuu;f?6{6^lO#8{Qxq82zH^?89i0VcsBheJA)O} zk}=_pmdVwBK}Hb4F4Q_>UzwVQvBk7ASV1ir!{@e0etHWsf(Uk@))`HD6foZE+r`dc z1+`@Kc(-}-0fmepf?cR}#*z_V+GCcXB4XzJhk zxeqI-CF7yH?nz#-3>iTLyHM+lx$kuit-j+adt0%BS~5Q0osxXodG;DaunV=$Xu51x z(tW0WCc_G9$-u}bb^H@<0R+2H>x^q-uHg0v*Q}AACt$SW9ngQSY9mp_?x1*MwO?EgAdD-J3k| zCS(K=>_V+GVuk+-HBZ&A3A2J)GUj(|o;>eHWCRiHLaj5>mliRazR)?s>kAnU zi{u3*kr70&3$@PZShS8YqsiTN1}mr~3Tnxa(GFu}YB-2s7iyg$>%hF4 zXT=x?MaA-9LKG%YGhyc#ye@WOw(Jm=_~oj=3KLncAKEVjD@!Tad#jkh`RL8yBavH(nUj}bg$b!MXEHd}5_6Bu{B1Rog~AH~JAd!MtCmB8~kF9C%KjIQ2RNd^dZVRZEptYAb%Kd`3Y zRxyFG%bURp6Bu2yC)kD2)l0B~F-lyV?d}IFOkhOyX0XBp#!4^23KJMnvnSYv5nK~> zBRfJb)fr&K|7E?FbE+BYl|Mz4J>R}z<{qePEZ0{9A`)0(0<|W_B>o+0(x}_t&d8f%nmOT0KD!_3C#IU8x`R+*E8-Nc$b~Q3Tnxiyke?Zq82iO z2zH^?8KvfzHtr3D?F?2>OGbh<)vVkE89@ZQQ0t6ep2%g4{qzAlgB8>gfqgD@YB-2s z7iyjHVWEeOn`ZB^?`ub1nQGRWtM~cc1*VyapX(aSg9%ZXK&^?S(?gARe}7_Uu!36J zzNYvzv(Oryml_Tt*o9hW^w}`lXwbX2oxuuf$v9SenmOldWCRiHLaj6YDmlT}-u_ej z{+t!mlCi7oH1qg2WCRiHLaj3kc9#h+r3Lol$4^5Tn4}rFI4@s3qfuLetE9Paz|SU>9ng zF{$=LM)40%+8L~%mJEzaQm2N42zH^?8S9TsOB%1gza;+Y)v4yvCvZegmgVnFn`#yrj%^i0unV=$DE`x$(AKq&+Zn8&mW=)j zrkZz*Mn(|9F4Q{X(3%`Zq0f5Q8LXg|jH6#pHBXF3Mi9X+)H>tiXk}w>{uXuyE2t%- z(YI4g<2hsm5$r;(Gqxl*HWJe7+Zn8&mW?sqf(Uk@))_Y!?`|9}tv~a_3Tnx~*e-QyIEY{uYMpV*)dLwjPW83>ac8eL z%;;?0-kTS{VRn2$*H|7*h{6PFO+4QrBct+s``EQuK`m{+{`4DWm9f}XL?pl^>tYvb zow5Fv4UDMw%tC}yp)OzBAj$t7rRjFjLzR)m$7A${rN$Q71WY(Z#X_@ zxHhiDKaZ11IO(!3cA?f8rScY7^Yt(GYhD&Bs3imAmDH(WBAj$t7rRjFj6WKl%7`R9 zq>tSKZ&z;GbC9TW*JiZ5^+$zn@Z2&vJ#j- zcw5B;yD%H@65J}xud?Pj=b+sWUKejS&UOg9AADT#v4pv=w^gh#fjf)r33g!)?_;VW1{>E zpFZe(R_EcuCd%hB(TB+>TAUR1{!(a+N7V6U0bgxa7jO2*^y{A zT#tT~4ItQsT4&7uw7aprY#w`mu!34L3Puvm=HDSBh+r3Losm?nr7^u{CB4tDtxFWR zBm+l})bZ!L0R+2H>x{AKql||AhGhtU-@Zh%##6ezd;Uo@i%rormIo7}Fo9YVCt8m) zz8_T5&R_+#WM4j?XdZeK+bW1)7iyjH!GQ_Jvl+j9$?FmYE?NH2#YFR;50Mc>unV=$ zIMi>v(J0@a_A_KwP)i1mP^nYHK?J){>x>*XTA^*f==Y><*wom(aJz1A$xDsRvUlnl z%Yz9~m_V(GpDu0;ZD=|uB5h;^wJaZ0JJH;A7q(Rp!7kJ~W9>irjjvjDwKG^jEg8SJ zPc+SBWCRiHLaj4SURTFxkgVS?$_i@9czSrE*}f$*f(Uk@))^VyQjAwpYuNo@1+`>6 z{AQw=rxP-Q2zH^?8D08xG3xdzU}vy`S~6xYOEmlSLPik5F4WgD*7rA3*6g*>l(|02~n6pt%*P0Yn*Xri~Spi7AvTw?X~wdGVi~3Zl;EbNPtV$ z#V*u3!`LxqP0nZa^F&rqOUCYAjm?K|!~P(`Ntbo83$@PZo6;$1-F!R4SyxtKz*~*Y zD)o^OM6e6B&RBk`NGNf<{_ZwbP)k2BUP+xA4kFlvT4(GWGcDugt54ed{PDjUn&YmW zYuL}SUMvqLL}3E8CWM0v>Lu+t9M&rtSRPD>!USqfJlFTh&>b^J z8SzzFk38JSTwXzEV7-!oyttAT_!NU_7bcxf!SI11iRcbGVTW-B{;5Ry}bXOyHrb#5>}XS zk3O8i3KQ;g@ET!fFu^YO=))PTFyS6cnBXIWk3{#?nF&^ya9^W>2zFuq;N63)FoCO2 z_5`~y5AqVMFyX#NaX*+~7v^)`3|5%HEYnM{!UX2NUV;@SFze5rU>D}_UV_gY+--}C z&rSRMu=Mt_A~>Vu-#AyK#*r_zb4JB$E5ZsBI13!Yk}4~~E*$yda%Zr@1kM|Wu%wa< zCfJ2DN?cBcB?R{zR|au$pBy5-+={Tm1kNs@-2^L4;JT7M!7iNtUV;@Sa9zosU>8Ph zFTn~ExUOVRunSilFTo0qS8;K+d+V~o1g<6C3|5%HdE+HmVFG8Dm*D+@F<4xDEV%o@ z3KJMny&0@9f$=zdf?XI8O^FTn~E7>~0j*oE=fOR$15SX`X#-XE+m zfic*d!3q-?sWow~&X!Q0m+arQv>q#7I=UmRtbLEuc1`K%GhgZ&%k|h!L;@>Jpw`6t z8t;YPu9YhH9|^3WmgVh6m5KIPtMgLBK?J){>x}TSmZ6fD^k?;1K`j|8DwT^aT!)Mx zf?cR}MysvUlZLj}pVemtwPei6Qz82224n;g>_V+GIzBS@%a2az3|3G}MxnZuq79sk zAc9?}bw-OZNcFQwME9dR7r!kTz5F^df(Uk@))}>b>T8r6 zdC<;a1+`>+RYl;jJe}WMN55zj39ztsCC8% zHzgW9*WYHJgRG#IjK@xtiY{1$j39ztsCCBi-zpkoCbzURSV1irxkuj+y?ZG#f(Uk@ z))}9kNH7Z2(!ce~3TnF_G>)Z)g9waWOz4c2)AAXOYIci=vi9^1(Z%I;duO$|A=;v< zuCY9r5QPcUnt1zA4P)^s)6QT8wPY_}T`GFH4z^Vg!7kJ~`V3kr70&3$@PZzhabe;7$FS7b~bGV_1BAJlP2uK?J){>x^#CjyKL${?-0W z11qQ{V?^hY(WVa}BZy!ZYMt@?l?g_>{=1s+xx?hHSebP2 z)OdTJzxYS0*o9hW6bVlam8`3O_mvgYk}+apndm!3kr70&3$@PZbjSCh$sa#zZ!1<%O9sXg zsZ+y21iMh{jO!YgO{)5Xex^TRdX?yzOL~7`AIN&KJeUxL3DlbSZOY6q??0t8)Q#1n zt1jydtXDFyJeUxL3Dla%^U8!ssZmeZ=SRt%)uUUk%?Ghw$-wepLKG%YYhp&_;cH%a zLC>!+E8_J^jpf0FC};`Onuss4WNG|A23(?WZ`~Q%tqE3`aPN;Gf?YUQoK{_f+^yp6 z!+FmAhb8^sb>aMw^>S-%BJP$y%V32G%w)Z-VucBuE7=q5a-Sc%MY2yUgB4tBWxbs3 z^xW}YN9NwG31iLUJ_Y$mN zPW|6o#RO){-VAOPyD(e!60G2k{=c`13EZoDG9nnG6OOkjNU609(R@zG1L!UV=j zFTn~E7$3a^D@6O zOkjNU609(R@zG1L!UV=jFTn~E7$3a^D@9ngF>`(aW5n%U>%eM`QbMCCIn?1lbq3Ze8CV`nh{6PFO>FsLSVqQD`~6o5H|5Krb{)|fSg&MY zc`zXg6R0)u`t#3)s^%DJ#8+jdRk{+LcT8s-9(N`BzZ1H~au1Qf3KOU`QK@^~P^s`( z$w*)YwJg75|CMN!(>gCT97M1Swa&PuR{Nxmi}bxSE2t&ok?*fY-#dehAc9?}b;j>o zr>-e;pUz+fwPZ{mlA!9HLPik5F4Q_>_s6v}E?atAv4UDMu+ODV4F?hILaj5B4vjQ& zb(kQp8(6vSzZ5O7NVj*^&`Z%%X}ZR850StM6R0&YcFYiC&(Y=fYZI)XmbUMndMP?5 zhHVu@unV=$xPMF^Bj@6yb_Oe`CFA?ZrD&n8$Ot0Xg<5BvE#2ODuDt%;K2}gm##5&* zMVstEMi9X+)H#0tUPs$tJ?rLpku!34L z@{PJ2-G6NyOAQAR>_V+GM(sEkD!KYWJA)O}l5uYROVLB!b=$E#m=J{t)SB4vc3Y$7 z^JVM|R!~dckasUd|LKcu6-2NLwa&=ZwvX|2&tvv=kQLODu`cye^qa?#5k#;Hwa(bT z{0XDnXY=h0R!~cZj2Nk-kP$?%3$@O;v&9(WizO*`1}mr~qjt0SzIg^2K?J){>x_Bv z?^{}3X_WnZmlf2KaYyJ<^p@9<5k#;Hwa!>PeS$Hr@uTwEwzDo#;F9H%*Z5sz1QF~) ztus!fk2T(FTFo94SwSrsvfVJ|r-p+FcA?f8vX1zlB~QFCHxz}>30xChgg^!>OyJ1R zo?sV_V;5n!iWMA*;^J)AGZ|N_n7}dS%JB4qU9zR+NOTc)t60H4|L?700(;Yy;b|4S zeD|P-U>9ai-V9clz_mSlf?b#adI?sTz_mSlf?e*hJ>KPOf0n@t6S%f}Gnil(uGHBR z?85cROR&NOuGHBR?80@|AuQc>%fM_>6x^js{ol?HCUF1hWH?)w*TpU#G2G`Mua{eh zdv$LHD@?fOyVsf&|Bq!b!7le5BonMK;l7UwBG~1=yJLbCzR%=r*S3n_+?KUqOG}OO zQEE5A3KKY+vnSYv^U+JN!UWFd>cX&6_H*hdYt>ZKAJjFL>uZ!BAqo?yHPPzXk&)pm z?C+UKU_V+GhE?hknY*EYoxuuf$*8`+hH5tn89@ZQQ0t5)i~C19RsO@iS7QaW zWZ<}xIyD?bunV=$c%tn)8UNSVnZQX=++Tb|G#={}MG!RHh#E!3BO*-i4wrxomy+Ot z1{A`fA`P-!ZgZ#s4^&RY2qJQ`qGAq(ZKpkOK@`03NK_yqN<5>82>730{q}WUQ`G$7 zljyVF?^~~`yQjKqW_P$_jsARlP@_@w&4)VPnKw6zUVB?L+TDaWOh7Af!IK**E_-=^ zIacgI%h-Pj8%2Lzhhya;xC&Y`UR_@;yz;nfOa?p9lJVS;jicxVWVi^fg4T?_<4z6d z&gf_|*nyS|T)U$Etc&0(XwB$1azm@BOK+EqV94qQQP<5n-d~Pu7~Qm0HQFsA#SRnD zO8mF=Nvpc;)%U5{ftIoV>xPEWrB!+P&%7K2S3zsW-9?|T&h|9(i2D);Rg!VUs)o_3 zPjEh51Xn?8#uxARthltZ{@w&T(2{{`S9JdSOB@7OL2HIre6%-gLr-%)hE1&>J&@D! z7QI(Ldh#{ZXt#(IJ4`?;F(S7)-R0#Q&2_~Nw2Zw^y#~<(@8DRu2(E(Gj8QF@r6-+q ztI1#oS~6Z3+#u@vPh_|Vu7cK#?At@r3#vYkVh36>aD|HYvo3qh;)QjK2fmvY{Eq3}Jn){90r)$tBqST71MQjK;uAr2GJN}PIX8*lGDjZ6kR(30KUuNP(8 z;aIr{u7cK#C2OwqZh5E3WUvD*84KIhi!S^=j=dB2CiMv z`OnoH1Xn?8hF|N^^r*4Ena9*x`TN}=I^Ne_s2@Fbgle?A32~T!R-(AhhP1a$f2V;R zXc>FGA@!prC*WAQ2(E(Gj1!JYd6zG{*35$)Xvyf^q<++`>ics1tc&0(Xw4|?eX@6A zvo0os9canGwJSRR`fw0j1+5w94%xVRz#{!!nZNoCqx1IY_bN@Q-!Q7NTQ%CSAREy9cUSQhu0cJ?W*$ptc&0(XwC47wzX>cN1X>d(30_^-ynLqYJPs! zMQ|0gW<+;&Pk(=x{@fBf(2{{`SG1pX5nKhW8QV4=A3kzy4}E>iY82u7mM*@sQPjBV zdYxL;?k2=x0$Pc8U*BGF?jh#yUJlrSma)HiOrz+Cs@J2RB_f3?>5HqNHDmS7D=H4_ zK1Ajbumdd_Goyx4{i@f$pCuwrm%g|PS~E_XUs|!UXQ|0x2U;?4?TYrZM8xUR7gs@R z#zk9tgyGWT%=su9-#FTNjjkDoW*bLqI;cjwn-GTyXeC~6&^G*{TSGGscA#bKQH{pY z`rl!_A|iz<>5HqNt1^zcAgtVdp~+weS~A+d-zeI2Mx60KB2JgSxC&Y`GJmWep7UHg zlfe$OWZ>Er?PrOI)1@!2g4T>nmk$l6ANIJpM?HO7lW6NdbiA!TXdIQ_r5f#SLL4Tb zmH6G*zTx2;zmSZ89cURl&beqmOGFA)(ic}jYewg(Wns~VLFU;9@199t%iA}J27IaW zK)ag|hY4sUK6`IexOU*>W*+Q7OCFAuXg^CtJQC@PtDrR_j|IZ!|K;I5L~(fR*zd%I z0(pWRCNRRn1Xo$3GDDJ4@%i9A#{mg54|bTq-q0Qu6I{jfOT6Fialbr5?5XSwc9=+B zS5=4B%!3K8O72*gV224_W0Lb=f~&Bu#PbL=C-B(8${7$kMNSrDlhT zKf%kgt3?{e=@7&r1zblK+4W!CVu)_pC5wJ6u z;3^(%a^`##@yU<$%SSy)u)_pC)3Haz1Xm?L$Ki9%4nBiC_)#&@yXsTR!lU9Ud{!6} zfsQQj*x}Cvd4BF=#RNWsjx(wzpL~YnDt;PFWQ2HblP)k4(Rhjyog~;{0?%5739iC( zmrd}f@GL4-oR=IGJ4|5ab_Nq%h2v%u?BIMH{HU0~wP0uPsJIH(m`$*QYxm$s#ROhA zb_S1%tMGcX33l*0Klo8Gfi=d?;8AfE)_I#?2dmn_kBSN0CF~4#n82OECfH#DcLtka zhY76UHo*=PSmz59T!njyO|XOel~i$d@>R=g39kmN=pBS4!44DHU)iH#f~&BnvI%yW zz^@b0+Oq*bb3GB!U6I_KInN6^RU6@pHcJd6e!vuC@b_Nq% zg&mnqu!CLL!HA1qqhbO(GCPAu#Z}mm#Y7+~|DH_94t8PU za8K?t$OLv|Lc0mB!j3E^0#Pz5cCZT*=io-g1ol2cyGO-U*oD~yJ4|3lW)ti%fnAtQ zu)_rQR5rm56WEazCb$ZFH6?ltJI8zGD)TcF!8KhbL{nxInV+-lciV($)gsks*Jn{8 zQtU7Rt;DIvH}lS|Y~e{FJJ8a;Z`y?D#J_2tpLG#j1+5t!Uq9D7q2VQx5&W=ye6-}o zc^xVv!Lg{PdfCw7Us$n1EK|t`V@SGR#G#Op*oe(v@OEV6iG$C5iPc_=zgg8tjZLt_1dg;#u)_q-Q(=OuaBggZ9VT!FZGz7rUcpku=f=;@ z7&|bWanpM9x%2FoMn~1pJl5O?2d)|wT{`s`qtUKc`+*2?n1EJd+50;xR{gH8+-p-C z8jOyrd76QKx!p~O!vwSvv-`eYabJ7$efp_aZyObT-%T?(5AAM3944TZ_`Jz$tDe}Q zKYQMJOKH?@pl0;BXk_%l0M%%B6XGxdt;C=Un^#OL((g!N2U?ER*6AaoaW`t7pLG#j z1+5t?wmnd>rq6J5KG=bljK8NwMfYEe3>U#w(3&yp*5@mJ+d{v~f*okd!1)mEXI%tW zL2Jgk;70F(P3Ct@g3Y@}L>ITx@pe77G%9MZ8toR5VuuN6CH}s*r`LVA{;mu=&@%S% zjY^|=U2v>i1Xn?8M%mS^y)m~oHs^yKXvw&>RcW-ZCo)_FS3y^0^gPphy|!mE*nyUe zlY5m$r^n~K%t3G!v}W8eyU6?Jmsgq$cAzC=(1_BgVIR!HMQ|0gW^7)$DgDh^=I^_U z`w|CLk}+^rX|yYTeYgm&g4T>Ho|%?z_~S4$4|bp>JwR(E*_0pfM?Q?u-l=@!R^Lu|D5qU#w(3%_(Xj~T= zE`qC|HRGZUW4({>JuJZ<0S&8=4}+MQ|0gW<0cagg3F_?IwdAXvr9yKj-hB zj|>;VRnVI8?=Nogo_^$Mlfe$OWMBms?PpyCS3zq=Zu92!b*pa-g>QZL$S8b9UlXtV zYGkziMb&6`6XGxdt;C^q5A}9^bhXJ~2U@b1K2jQe{FdhVSr@@o(3;Wy$y2??en*qR z4zy%6>R1|W+KLPp!Bx^o8>*8traE944TZkUsK%0@nBXcr!`lQqcnX&)&Q4w>>@b1nYdeDpuENu@O|XOK-Gd($6L^x1GXiruXt zUlxa}l25N%E&mKctfKN?SRX}W?Gl|hRv|k~V67}na23|d1QE!nu=!VGu!vxkxn_!0ttfETv*;x`kbmHmenfi{U z>!OVvcVxsVnY%W+`=l?7M!T-m2O`8_0$PcO9&Hg$Xw}SGsMutD+kIX1#vIMyJhZzBahQNsqV{v6E52={-%0+)h_z9>-~7iMpQ8KM zM)hi`M!TC3hY4sU!mdjyHVo45vS0^Vj@4O<*G6rQ(>y=xBDe}#GoHI`bH&0<`kfr? zKug9+AFYkL{-DRu&$_AIKzYEqzzpZ+0 z`dJsjRnVH@Us5wY;JmSB9_&C%#w8usMz_?*JX{1T6=$oXY6KV%2DO6XGxdt;Dvc#(Ev=9BDGxftIn4eWWsK_Iu6qvo3OS3zq=>dF4zW9!~G8SFqyM)RjDqq!@P;Uc&SS~GTb z>*d{-{grurumdd_wO^==zJCQ7E`qC|HKTTmj@~D`PBj_qKuZQzaM6C&MQ|0gW^{e> zx896BEkoh&{r%eLjvo3Sd(N#Yq!$oivv}U|H_3y3?{e=&!sUDXRyNruF9B*Gnn8iJYUB|oWTwgxGD=1T$Q{M5g=Cy zJGgU7znqzJ4|4o5NA|DNrJ2J)E^V^s5pbG z@LU=baRxg~;Hkeb!Bu#^wh4Baz*E0PgjjcFm{?IoW3>~VctwTmFoD&zFu_$=T?-Rj zh4s-U*kJ-|WnqG=us+%ZJ4|4$EKG0})<>IQhY7sW3KLv~71bu#VFIhGO|ZiRR#cl{ zhY75xHo*=PSY2&`9VW1%+5|gHU`4eFc9_8GY7^`*ffdyz*kJ!VGu!vt2>!UR`g-Bn`pj6UJ~cKY|- zEpNXh*ZaOx%+DTonZ6|V#c0)N*OmG}gg8tz zU9>p&((|g(?k2=x0$PbiSDYOVzpVdrVlIYg~?bxCpL-){IH5OTw$RoNhAM zftHMJ|5=v&f`xght!pfwt{-eN*nyUeTX!wYUHv99Tm)A^YsL-R_EmgVy|>9=2U;?4?TYrZE`qC| zHDhUmLFspzj+BgGTI zu4q5&BDe}#Gj3gdruRWb+MJI$wI9nJ{;VF8Ez=*%ZH!c--6B%#FafPZ?_MW({a1B2 z*A+X^GWG^_=H;@l<9xUXu7cK#QIG6MKYW?~9t%6rl5y>ldAS*zkl`Y@3R*K>9`Q`N zT9p5;ZR$%LR7pFoP|<$YMQ|0gW_oH$7r|A~n(^P#PWj)du46LTftHNL zi|6KkegYXTf~%l4qW!Fk;3{a%=wElV_w85h%=s9w>e1Zg zN9%a6K5kBKfu|bn7Lj6y31}ti|N2(%+YZaja|t`pGIpFTI7~n*(QjCpH|pU#TFDsMftGe05z&6uMQ|0g zW?XnlAMdI~`ghCzym(G7b%l=o<*Vo9hWAsAb~hmo6VOWBmAc9E@5@!l7}_AKQdpFO`)xQA8%0+M$v}SC2w%Ge}VpEgB4zy(SKWuKUd23|22(E(GjNwar zc-QUG?{#JeS~76$iuSWEf~%l4qu0D+RWpFpB~Sp_vzp1`(T^Lb3>}>*wOAL z#9;zjiMhG^(nr5P++?r=Eo1LHdtPqZ5ja*Zf~%l4kAobFgM*krH+Eg5z8J(hd* zcx1Q;u7cK#I`8dGx9Q&7WUvD*8Mt;u`&k#kRnVGI{k-87Q|>J_8TD2y$jz^=<85)= zf?WA8dT!9}Cd6R^T8XVc?pxikn)x33fE{QV`<5G@$Q`~Hf4?&kDO5>cTm`KekJf%- z)r#-RWF7%K(2`Me<^0^VJ;)#;PM5y83R*KJ9{OOb7QIYH+}HjDu3gFVvo3E7jAsRe4l>64z!GY@7oJ= z^J?JQB_f3?>5HqNHKWmq);V&aTT;?Y#P)l{Af@elfe$OWHe~MICp+4 zWDpUjOJ7_Ctr;Kgz9cN((adD911%Z2c18PHBI0!Ei>shD zp8gl}EQ)vNq^~ZWm*(13J;S5jO^Cw;v=YMym4#E@m}I`|g&k zshWgEa20l}_B^;>9$|7f!5Qo@k-V;41XuBjVLpQllnOj{urkQlIXm&GrN<5vc+J~0 zXM(G+3$qD!m`Fb9^UT>{0y_&kgB>QY-?0gHn7}T~CfH#j`Gm~#V224jk=q&UFoAu7 zO|ZiRb}u%;4im{IOP&WiOyEh@&R~ZLJYU-cJ51oI-zL~$BKbtd^I(UG@b1n zQhQYFFp<0uat0Gz#ZPL2Rf*mICDXBekCb$ZpdD;X!_|#IWxF`3hm`HwV$;XQO;wpSH9*-(M=j`w^ zBlnaTRfs1&$wifDyv{`@33iykicy&0Dm>5G1dj?&uTsT%$x*Sx1df88!30;~7}^9o zI3EWbRUobTmtx2nOyK-Wm3tmsh3m~G*uk|cRh;e4U;?idJA?b;D!evrf*q{X2R|w% zurk;gJSwijnr{>AFoAX6CfH#D>%2{{!vxlRn_!0ttn)U(4ii}CZGs&pupY-mAWE)X zc9_7bEmg_uiV3d5oxvv9!QDryxTiQHkWulPft{WZyeh>+zC8%pVFEinp_2qVOkjUi znBXex4Q+xQCa_Pm33iyk-q0r4VFJ&-Ho*=P*e4byxC;A3n_vffL#g8I z%~YdZpI#3{h{FW55(~!;4$F^v$z)86a>aMQp#7e5&I`pw^HihVO^Cw;v=ZMA7!-cf zw9;g-1HJ$J{H%+>Y?;uE!|L1=jxEZWj9Il_Dt=>!j(tP@7mNS(o@%ta32~T!R-#qU z0pX#KzG*VpftFF>Sc&$tE`qC|HKWachI&`s^O$4=!AY+a=PGpUM<4QX@%*ZJpxq); z>@WeXMD@P6crAuJYv#cYw2U3cO0=JK5nKhW8MXg*t5^E?A~TOQKfGGJa*WOcBb0v8 zZV?HG31}tyH}$;_>diG769>LlysD{YpkK*AyG0}%CZLsg>$YLuyE|u^j9Ild6jxuX zKdXd(B?Ijik#LxRR^sdNXRQ8kjecHx^|8+u@2>jUQ}intXm=ChFafQ^4ZR12yL;b7yv-WgdT?(I#{DHqG<1E`qC| zHKWziGOt=mS2K?qgxbJBB-j8773vDu~l_!|scWJncW^ESZ_6Uo;g67nw(j~ym3LOX*Au1dZJIfET0l4sCGa8>d($OJn~B(Fpl z!BxrEAQS8`k$go}5rNzca73jI$4xYjg6QO3jU6U%3=>2k8BA~$jzWUS|3?tA!vv0D zf-o6Oa21Y1f-o8EFo9#3AWQ}mT!o`+6L@`ygDYP&ANAzXWrqnq(th^n%f_YqtQ-+a zUkmCi&(ztp$9yN?#CFRw9k-}PyS_dSM2N!#v=Zlz_*?pz)Ga219can^?v~}5^S;x( z{O_1J2(E(GjE&2_NZ)s7Uz5QOv}F8u=JL#2hwnA>^Rq63tDrUG?uA9(N1tA4GT4EZ zjJqoG^Qeam7r|A~nz8fT`rb90+nEe@pe5t!t;;jr(#UWTTm`KegVvnym0o(W$zTUs zGW=haXPW;J87?AGRYhn!^|y6R2C9rh{pLEBXSzO%3>U#w(3Tk(cAzC=XKq>M={Jx;M4T>taTT;?oYCOnmi@lh z_exvy{$-tT@+RwTOu7cK#!4IAsUU6g> zlX1p1OEZgZPF}ClFWTLNIJm-vfL3DT6{m#{f7iie)IWD=X6OByfqsQRyPFV)31}sz z?Cu`c{6&BNyldy>nG3t8%>D!YN(S29gg8td z*Y)xKS@Ua|N8FbFo#mN*k08TEa22#>1lRZQx)0RriXCXlSTm?RGx{ZDxCpL- z){F&{T6)4Y@SbTAq0KuZR$UD1BlMQ|0gX1p@`8gJ>z)y!IgyRh{2;e_(c zDJSnU*D>1Ngg8t*bz7r|A~nsH^dq29`G7nlro zpe6g+Mdg`>J~CVcS3zsWCA&+#iOp{|8SFqy#<*w7GndUphKt}TXw7K(*;wySYpaJ*JEN- zc`)$UVFIg!O|ZiRuH(W4SK+EGOmG#}N1I@W30#$h39iC5R+!)_+!<_w9VT#%6(+dq zfY+5dgSfv+U$_s7b`$I{!J|#==skX#;GG3up-F-rCa|-xXU;^TDzUrctDRp_Okg)@ zXRyNr_P92|4inhD6ehR|dv%*&hY7rcU=!>xf%i3Rf*mH3djmeY>@a~nm7T!^S7C>g zAOcx^_{!jGEV-NDQL)2B@|n7dFd0m6RdP4M1UpP5_Xa#Fo+0*XGFv_(iPuMn*S7S6 z*PUp*Hbo~1c9_5`xG=$0STSNE5S2e4iBVy_5{L85r~)Y$f*mHX9_Q=!n+H2gU=1!z za23}1mevUYrpKk#LB>`e=`e39iEH-zKoOi-T2LG}G~@^6f#$ z4ii|xg?1BMh1Jd`*kJ-IcwvI8u!7qJJ6N@)inEjRV225;K6VBZT!mHJCfH#DE1ylU z!vxmHm6%Vn&HvUm@5!(OEg8?Ac6rITPm$pwxC&Y`wvTV_ zy*@$TTVe-VGLEm&sifsQ$Z!!{1+5uPepl1$e}C4@gB@teIQokYCHJjChKt}TXw8TQ ze3w3C>>o`AJJ6Ex!|cmSu3Uu-7r|A~n(@dde@n01akI%_2U;@fp4q-+$TP@r5nKhW z8L!_lKK<FpD53%M_GP$lip&$z5)_e^BC2(E(GjIq-z(&HXB z-%}L#B@U`2W9suAN*=!-87_jWpf%&C@}22-dR%Yj!49-!q+jh=(*G`GxCpL-){Nzk z)btj&%bE;!pe5t>Rh>$jjX{Qs;3{a%@XtQqyKtj^e$EcGWSltb@{-LrBf~{-6|`n7 zYuCY>bnb7=JlKJjjPR_AIKrh2yIiO$Gy5nKhW z8P_i!;Qjiy8!NakaZn}gy{BbM?z{vUE`qC|HRI9NzSn&89FxHgv}C+>RF{%(8X&_( za22#>44*yP`+Rdtlfe$OWW2GsOUb@3bsfupPmzP*Drn7keL}wP3Fo7p>n_!0t>~{(iT!r0>P4Jb0X9lU_ zc6~77+qYAO^ z%94i_RWw#q(KdlQ026o>*aSOFV0A4_a1~xRHo*=PSX~PfT!q!uCfLD>Dpj1FJXY*5 zfz{Q{V1lc#cG(0wOki~_OmG!eSDRo5*OF9mc5>$IFo6}-&R~ZLT+=qe4imWYZGx{v zKGIlGZGs&pM9a$e{}ZUf8f+8naKBiOZGs&pum;-%J4|2=wh4Baz=~=U>@b0KtT4e< hSc7eX9VW0I+XOpIU=6kjc9_5#Y!mD-ft6Z`{{uG;D#!o; literal 0 HcmV?d00001 diff --git a/resources/profiles/TriLAB/aqp_bed.stl b/resources/profiles/TriLAB/aqp_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..c82b3aea5ae1d97ec14b05857dce33c1d9eda710 GIT binary patch literal 866484 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�dr6EP0*b~hmo6VM?3_c^Cz{5wrQ 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 lb;4h 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[jc>R*cJxNs+3A+4eyPlO*8B|D&K6b&=zrQMj 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 _ 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 z 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%0D$l?O4L+N}4i7 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 literal 604284 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%0Dd61xzMHt;sKWpbB<7bw8%6X7b zY*`N^W1rg7?sctRI&)~@$iF}HEy!3|Lz?UiY@Ee>eh8P>?RKqRI&)~ zvGy{{Htz7~B)1(T6kFDlceJisZC81appr#+kLZ_m`fc=_U)M)Mv1R?a(=v4*R6Iyf z$s)YR$ECrwtE@A@wxdWwv1R>l-ZFJRRo1GJppr#+k4qmZ*Pi^#koVTh{gm zw5=O3S{@{*WD(w@*HQzcwRY&{JV+?EtfL=mTX)zbd61xzMR<=UQip33{6Vt=nq>L^-0$$uhxXf$Ao2#eiZ zU(q5FY6%J5&n+vM9dsTdn58{ZA&M562cMnz%*ocKJ#3#CPl8Xy`2@50tR8MTpBnj; z%GQP+R7kLe6_28AIo&xkv1D6Lf^#Qft5_GaIHMD`iVEkJSW~_S3C@1y6U^eAT!nD^ ziV9~3m#kGJIDc93NY142`e2rxwv(i0XFC-VoQDlPNHB}D!y!S1^VF=VLb!cJg;#C< zzT%Zig3sy|54W$Vkl>R=KEW(LtA_*?5`03+Cz!=&^^l-Kf=_z+1he?89uibY@QF2_ zU>2X%LxKtkK6!@(?@PQ7rg~~S?UTP^M1=(J)S(9nW^w$GPcX~QUENngf(i+agYpSx zadZ|ER5(tgcSukn!I5k}!7PriLxKuN`t%M7DkS(Ul20&;Pe>s_h0kjAt`J4_yE?Wc z_%vA|+?mL_n8j!H3gJAckl<5sg>W7un8j!HfQZ#98+oZu)aZ<3xTJdbS9F9F66(P# zW4KI$S-ShA2`VIX_em2}Na#+KCa93m{VGjp@0z0HVKMh%{@x{_GbZi9x|pRiG)?H( znxbQFFg@uL)OIjSy=y?YR#8z;z2vPTp*ut1k!lsQbni+NR7mI!*D}E@-9^&`72T;V zi{6!E?)DWGjpvM5vh#`rd!mYm+gHre2+%z82`VHso=a~z6%rZ^woEWf!g3nwFFI&seBUenvzDw&v1MKQ*}qHA)X9Scl`O)095`^Vc;PhvSxXX% zEomNoCRtxKcs zlLrYZS%mkn>%t=Yv$OBeC(m(nmOK+xuInRBn9`ikRnSoX&hb_8r$_nkrm|N3-_Y~i zK2dDmD%R1)j0j2Ghmj?+dS%mjEx^KU@ zeym^PMMAMAa+jPuHP{|^^M|sD+;t#Lz-%UkAv1QeM`tQeN*3Wg zR^M-AeAm~0tpN$emUTyI@6wNZ%7X-zEW&#ny!80^zAMgaY+jdWD<6>biMy{L4-!+bDa`uUji-1WgTQRV*n08vGSgkn#$ ze`HGZW8Z%6yQyw?e5KOnbNoJ0Y%RI<;+0AR=4oG%ppr%S?fB-mNztUDUu!@@v1MJf z^2(*P{*VU=Dp`d0IP8(J(av?#-SHry*s|{2qGRd(Rdo%Lppr#+k0Eu#qi6rOzey~oyGeWm|yDiVqHX8?L4rya;XP(- za!%t5L;QDBkx*<|+ibdVY1CwSh?w)|9XC?RBD}|o6XrLzd+E@)bma0kkx*<|?D-n% zMKo8k2=9@MOCpQx&w91@ewyU^UG{J)uZ&AlgelDl^{x%|-~9G&&DX?{UoO z<7#&~(|55>&DX@6qp-7i%9o%zrl(3B{K6?y#<W8g#g?_{U!6)r+vqup1eGkpdz`w~@Tm9B3u}{q6-g+ztPb0C zEXDogL4rya;XOXTa%?pE_vy}qgksBjy?W(R&lBW9f=U+QJs$r&`EBwO{dZH5P;6P< zXRK6u<^g$-ppr#+kG{!wQw<%knfpuw3B{Hb_K75@WD(w@Y4qxPQX8e(v!yBQ;Zz=s zcLTx{5{lJR|Fhmlb(x1o#m)VKnY&1JWf2;kJECYAb{`>Ov9j2sh6EK7>>opd3JLah z;dW3V!Le38!7TQ6Awh)%`>v3nLV|bEe1ci*yF!8r37w&K)LJGq8ercQ5>!|(d!mq_ zLW2EDNKhfcULqu@kl-~R5>!a=3a$`EJKK2`@#^BdMo3U0!C9jU;jSnW%;LO8g>bE+ zLV~kj6~cLtU>4^!DunZ(LV~k+6~cLtU>4`HLV^kj&PL`F%;FqrNKoNyExkj6ip846 zCFpJNI zAwh)%pY%e4`-*b_)=StkPI7`b>qV)M;4DSxL4sMFI|&IYoW)^HAwh)%=a~W`w&Sd4 zHT8BjvQXbu8D-cmC?@|GQz4;#EFcUD2xh783JB*xg@pRCfN&lpn5DieAe;vk61tiL z!g-Kjmin%Ma2`}h*cJTGoPJVy(_b+r!7TN5fk#3WV=5%n^Q8$YB-B5q2_9#jG3q7K z1Qik*4Yo`$OQXSnDB6}&(FoA8=$$^>ZNzF>By{};9&YclE@r8(OcShEV@As&9kz-J z35_4q9weBh>px9UA))bO%LKEmCL1$m6H-WM{Ma(VER7%21Qm@LEo;eIMMC4pvX9u=J++8`X4QPQCwK%&=q{0N6$xhP?o%O(-lrH-(OqrH zTSbCrXn3~sisDtI(LkkDO&ec~sgTfEqGf_v8V#fgDkLeQoo*fsHb= z2`MBrer%awmd1~1f{I3ymSwG#cSC)*Hz!5=KHA#7D;jz9dxaa?`FC52?O^S`+x)`5 zm3OHmsALgFH`H%FV_dZUsTVj85{fPB(%0W9oYhtH?IfsV5#D2)p@&5Sd%f#CNGP_f z>sNWR@Y7}TAVDRI@E$Lmv}bhoHY>%=>k@6{Pi*kN!f7j>-*n7LP{|^^N79E>X6S8? z_I+TA8>MpZs$9oBO_c@|*`3B{gRs_K}yOYeK#^>OmW4;N;gIl&!s#nzJP8$Dd8Kh&2u)RUl+MfmNw ze(s6!^3%3<9wZc7)(gKqRM>R~d61xzMR<<`|C$oN`sZhlHm^&xl|TB+LxsD#$%6!y zEW&#{IeKEe{(c+SF%RkzZRKOvd$@4PZznWe=On0P5k@!EAFoVTh`>W zA1>6qDGw4C5!MLf85&Zu`B*`?>U3IL|fKwZA*o__Lm0%sCMK_!du9(_N!rS{q>W1I&G#g=vc_Kz1{8Z8eJRI&)~ z@mH%qY9C(XK<7b1v1Prs-4lh!i}D~rC5!MLr|;A=TKn(*&Vz(v%i6E|lZ9Vq$b$rx zEW&%#_uL^m|ASu6gM?zs+G+lig-2)0g9McPUx=PQ2+a^qoWIZ-q&az)~eQDHH|r&Vk@t0c&gB6vBsh#0wsfRwbnl|bpL4L zF0I_QkWg${KPJcg=l1$VXcAPi2=8&>;X6d9p4ZEHkWg${tF7^5;iJ{$L4rya;XRg_ z+B3TLiT=)mgksB@wEYu>(|gH-1eGkpdu)2nAGJe&JHUC6P;6O?lfLB4jpadtN*3Wg zdhLB{?Ytw#I1dtvEo(^9CtkaSJV;QHgT4fBJP~BotfL%^x-v##cN@P{|^^N8<_GHST)*iEcYcD7LKri^1`-%jWEW&#X?bs^bWAgsagM?zs`s$uX3q#hC2MH=! zg!lMx|6cK?7wzCYNGP_fU;g(mQFR^>iL26kFB_t3FZ~*iIfK zsALh|P;6PNpZRd%KYyrCBta#M@E&LGH70& z-52s8K_!du9`%za#v3hM&v}qgY+3IvdZ_U8oAMw*C5!MLCoi57@ACGF+c&REw3Q$6 z>qCWEPsxJ>l`O)0{PEz4@gI}6t!-YHXe)oC&%=ewX3K*Fl`O)0ES!6E{A}OZ&Vz(v z%L?zcB&cK&-lOSh+nu}iRBiJ+PQjg1<^F!2MK}dSaM!N4`utxpQeF0MjW`tBecr_) zipkg^QeDc@3W8Zv&S-dlZ1QilGPQjKZ|0qTzn8iCo=s|@9 z`}vTdLV~?^NKhfcJ~$+(kYJA*5>!aAe+&sKB-q=91QinOyDEe`6RD8k)m0(f5hTGZ z_FWaic~Bw2UZO%c4-(8`-xU(P?sz>~Z1bf_war!zP$9v&-q3>tvpC}!5>!ZV&N`o9 z7H5Y;f(i-Fy@v!_MVhm!Awh+N#hUSMnNSvIRYQW$XM7&ykqrqdB>2RdPcVzm(IG*F zy(qmyf>%-VKGB{B(`TX)Qb=$nB<&%BS)88<2`Zc^qIXD8A;Gz`^ zNKhfc*~kh}v^x$7W^s(#B$&ln?h4^NsF2`XZ-sCkB$&ln?h4^NsF2{Cb%k&q z90Bkt)z012xWo}uNbos2^dP}3KHY}|70xrTrhtg0XhdeCC5zQ-`!QUy0Zo6!I8c(U zC84)xp$7@|^H#5V?X(9K66#%BCYYsOJ55j_p+2}}f?2v7REVPAS;bh#z!V)Dm(_HZ zREWynbJjQOofETL1_;vBs3;U6I4iO z9F!)gkkB|NO;91BF;SYJLPF!9G(m-g#zAR<3JHyB0-|Wgg9-_aa00>|K@!Z;s3sts z2Ne<;69t6xAi*q+meK@!WIau|EcE$d@58$R2|dZAJ$Mh-GnHlWP91tsX-?QPRocS{ zDJ1mdCE}k|NC&*PU+I>eE_F{P7O%4CmP%~p`GhIW38O{0J6e<+kgDUm6$20Xsk}ni z(F+K9h)`=q{PXV4>QdWPue{l+G+}i$C%EPQ&TLKN*3wVqYL)qVA1WjilWL`vNFiad%ER+YS=w^#9}$&S70ubUg^F4z`k#HZ;uRk@PM$l$9l_zJ)|4Ok zbD28hr%tIUSO4u}l`sG1T8}loq@>=M$!= zB}ORr#IJY#+&Fd5gPceA^J~f{{o*}TuMsNGCrlxs*b^`BSQTG)uKzBir7x-}-~N;L zP`&1%@_fP+5{f->-OsJ#Hc#y5w&R-_HRZd$_a3U(JXD@fm_kCaCyqXLxw!Lh`#6vH zuBa)W{f+lfz2>3ve8LnGiaqgv53dk^vWffrdDW}4YRa`=dJolW9xBf#Od+Az6a8LX zIo|Eaf4l9Ndt*)c`32rX^_qvu^9fT(DE7ppyQ|}cx9{#fZmTJ8@`?9Qz0RYlJfAQn zAevh1iCZ>WJwE3$|63{V-(OQcE%}WM)@!lK^9kp{76z@F{Y8&>hk-k}?O3K%Q{L`1 z@1c6lL*?Ehi!gN?vy zk7=*fl;@Vchw3#CmFE+tkWlQ2FTdP8{c|KtZ3B{iH zvGo?Q{V%Dicww>~gI-_Sd8l6VPc( z2~$WY_Qc8)wvQg|*T;Dr`eAi>i|4!t{ZyV$m_kCaC;I(f7j^HjuJd^3)#~#1Z+j2b zYulmne8LnGiaoLMp*uwrp6%g0E`G7PeC>zcL-m@6%JT_RNGSHir;~Px`h4MkhxdkO zs>_>y?mbkmd8j;}FolF-PmG#9C_3^{|GiP|AFnRo{GInuz2>3ve8LnGial{;n?0hx zHmi2~>c5Xwm;d_3d#GOXPFXqSf;`!y4{RhQT8+|=*FZ}q0~e8Lp9B;Bf+Jr9nqTl}r_IOC@3 z@@K1g57ldg%DqPxVG0Swo;cu#5z#Hneds)PxxTu5dJpfRdd)-S`GhGX6nmoGEr&c|KtZ3B{fmG3dzXzF++B*Zy&Jb$MuS@1c6lL*@B|DI^qo z;`OT0(MlIT=C~=+Ux%U>{L-m@6%JT_RNGSHiuXB%$*5CeG=dtDG)#cG! zdk@uX9xBf#Od+Az6PFAe8y(Vdrt{e3vg-2P+j$SwYaS}kCrlxs*c0F0H!eEy;i=A} z-^}DbSnEAhuX(6EpD=}lVoyBZ{G50&Q=rjStV zi9=>ih#uJXU(Ta@;_=O{-b3}8hsyH_Q%ETG#6g#z7(Mjy_RizvOOoqjckiKk%|qq+ zgefExd!pvFiP5b7em&f87gv`L`?vQ{z2>3ve8LnGial}CUX!BNM|5)AQA|9p-OGEZ zUh`0SK4A(8#h$pU-Q=k5;y>MYQ>~VG%-h#{s9y6>c|KtZ3B{g>Z=4(*@ck>!c|KtZ3B{f``OGQNYTF;@ zJa$h!PCwXts9y6>c|KtZ3B{iH_QfgDI-S;Z9vdefb4GX%)oUIq&nHYFq1Y3TE}9aJ zUFO2atgbZ^j~_;Q57o=^e8LnGial|5@*C36j2^e0)wOowvF?%HgMKQ{Crlxs*b_a! zoD#KpVD9$jv326H|Iyw<^|CylFolF-PaOKtl<1HnqJCD_fr-b|W4#CcRGv?mLPD`8 zh8#8}`rzJkoX3pBqdd-gs9y6{c|KtZ3B{i1_3Py5`{@rlj}H=$ACLDQs@FVJo==!U zLa`^>jhY;N`LBxe zZHLP92~$WY_QclJCq~;oHo$r8o7`*PJJWlpUh`0SK4A(8#h!TYsuQ9feGYLR&m`lL z^`?3c)oUIq&nHYFq1Y4WpMG4l>kTJ6kCDk3ZtqLHhw3#CmFE+tkWlQ2gB~3h9d_PS z=P@W5iw?Wgd#GOXPG4-LBdk@uX9xBf#Od+Az6NfL? z5Y3u*jq}(xc{VusD(|6s%|qq+gefExdt&zaW1`V#-{L%WOrCM}o#j1LuX(6EpD=}l zVowZNd~|fcHupM@{gP+3ov!yDs@FVJo==!ULa`_I-)nT#bHO9dV^Z?W+23ve8LnGiaqi0YllW_95UZ| zoR!RFOu5&4s9y6>c|KtZ3B{f`anA5)*n&@;$5%I0m+S8L9;(+oRGv?mLPD`8KD^-I zsQ3QgIFJ34d7nQX^d73$JXD@fm_kCaCl22Ipr}{;v-5cC=IZiYk9ZH&YaS}kCrlxs z*b}G!HZ)ph#lM}$uv@FkL*{r7)oUIq&nHYFq1Y22PaP8Vzi#Qs>iRjEZ~Hs;9;%n+ z`GhGX6nmmar@>MG*=?Q2%sZ;fS3K@L=%@00!W0sUJ@Lyadq=)~5f8PMF%sdAx9M zb$RFKyoc&F50&Q=rjStVi64)ykH!pN#d*xSue$u~3*JNZnup5s2~$WY_C)>FyGEnd zTitn_@<4UD@RIjXz2>3ve8LnGial|5Y3Jzbce*=|V;`z6-}8$1P`&1%@_fP+5{f-> z&1?OmeJA+uvN-CI>hkJM?;usLd8j;}FolF-PnNO9Q z=M$!oQ0$3+y&Xj_Pg&o2oZVPme(Npop?b|j<@tmuBouq%$LF_?CVaA?^SG^4UEc6r z@1c6lL*@B|DI^qo;>7#6iB8;n6X)@E@~-Ik`QAhInup5s2~$WY_Qbc-w~QK&-pqM) zekz#*c;9=dUh`0SK4A(8#h%#jtG?05Rkm^-hdx_f{_`X6p?b|j<@tmuBoupM;q;B7 zDcf%6Jf3*Iy4?LU@1c6lL*@B|DI^qo;*pg$h!*S{Igj;UsxGhfx%W`L=ArU@!W0sU zJ#p&bb)x?sy`%G(`M+cg_m%fhz2>3ve8LnGiaimHSu^T2(f=-4r#F)8qiKDK>NO9Q z=M$!oQ0$35`>q~+Fu|{xnDKUX`HZG@GOE`+RGv?mLPD`8-e0jMDv$JQKh~LFUGCDf z-beMChsyH_Q%ETG#MaYSicZ{NPj@`#e2~n^{Opg1>NO9Q=M$!oQ0$50zFj_gthHb7 zbKob{<%Pd`57lcPD$gfOA)(k4n{{0#>T|nax72Q7GGFqC_fWm&q4Ipf6cUO(@!0l% z)t<7&0d8NFzpO6rxY&EBUh`0SK4A(8#h$qEyYFkyx^kHFIO*HuS?zD{p?b|j<@tmu zBoupM^TD6i_WE$R^BDMJ(zh?w#=T=vz2>3ve8LnGial}l#J6h4EcU-E)BTs~@}gGW zL-m@6%JT_RNGSHiQNy0Ez3*H1J0?|s{$5?4)!KWgUh`0SK4A(8#h!R-#m3qR_aEi< z)hB;dmp5(WJyfrGs63xAg@j^H?0)XuwKE1C<2+t(Ra3sct@lv9=ArU@!W0sUJ+aD1 z*Vb+_`&j4kN}HPU@5_1*)oUIq&nHYFq1Y1>R=uS5$pvGb#~aJnls8-6d#GOXPYWsZde@p1I6>G|SwDTUS*F037PnbeNu_wNpc5Ll+54hjpsrtKP;?drF zs9y6>c|KtZ3B{iH_}0B^%ezl-`)aLKl6|#;_fWm&q4Ipf6cUO(vD$yPtu5Z?zbkBy z)oaSXHF>CB^H6y{VG0Swp4k7d?zLNe>b}RT>dZB2%Ga&vw?p-shsyH_Q%ETG#Jv5M zuD$4^Np4^LcdcX%WC!n|dd)-S`GhGX6nmoEyqEf2a)P`&1%@_fP+ z5{f<1;k=ps&K}^uSM7)mYsx=0d8l6VPro6#QeqX6x z^H6y{VG0Swo@n*SquW36jrZugMNRqtnmkmmd8j;}FolF-Puy|tT93Yvy!W!YZrG-# zT-W5GdRd-Nm_kCaCzkK=;bYMP@6ofirrfj1gMKQ{Crlxs*b_6q|IeI*Zt@cz2>3ve8LnGial}Zp$q5Sxv#%I zUfi{&yi}8i>NO9Q=M$!oQ0$58x>h%i?eDMiL-$D5?>6-%s@FVJo==!ULa`@i?YKqb zii>=oxXfNPXu@ah)T5-+t@hn(`@4_Yc);9xBf#Od+Az z6Q{LlXuRYue~;SpfSU4wP4_|7YaS}kCrlxs*b|@ccxL0^C;h#))gd+I&Q14o)oUIq z&nHYFq1Y4mpE@B7S(+)T z5JiiuRr>sp{Y&rCEM{v%4=N<|mdxmUf?0a!l_uCKefr3<=oflWA)(I|r9DV6OP>-- z6IAp$pCxY<34MYm?ZH+tOP|L{6IA%=8rGD*uSn>9ZQ6qhiMjZsP3RF2$kJzJ(jHXw zX&1|4P5B-q^f{Ka2kT;%K9!OtsOWPgOWrCHdgGqz2|46%txal_sc=&>F8a zL4|}?o}~#YB(xqbO;91RX0pCaYYM|NkqQZ|9ZY*rA+dYnq4k%c2Ne=pXPNe(LgLB9 zLu*w-4=Nv&qt*RDkS&`uCP^9Na(XzA)(JGrU@z}^vTIIL50LSum1Dt({RhFkkF@0(;iev=<~HL z6U@@5Wzz(oGqeWIviKwuZU+?-THTiRAi*rHRZA08wAyURTSY?a$kHBc6|=M|EKN|+ zx~?T}6$!1_N_((X%+mU+G(klxsFu7{B(ydv?ZH+tODmny1Qo4STJlzr&?=;~2V2D~ zttmwVH5Y!$P#dM8a#;amo53a>%VS!flC)yr8CM-;8p<}#>|(7caj zg&tH$XhllP1hcfhq(T%evR2W9S(@>(tguy7NN9aYg(zBN9weBhnLEo0J*be-`jQG! zw8%V2FiSI#mKAzXA))mp6{2X7d5~b1W>PIH^q@jQ>q}ZDn5ESsX@ZK@dsr5|^IJti zD>>30tczJ%mysr@Xl2Ecw~B<;Or$;7DrRW~M4F(YH4IDMDiT_qkoI7!n5DG_X@ZJY z3oLo7NN62E#iMAEox5xmv-DQqvcj{3ir&jx7HbL#DkSvAJ?%k)S$cn-CaCBQ_>#AZ zgx+nZJ=iK{=}mQ-prUupOWrCHdh?U^ph80LqtXNw5_(IPCa93mySp?&g@oQHrU@z} z^qwSNa&rgWw~>=Xps?ANa#(qWrYM45_*4LAuLG#iV+nOdaG|) z;T1)Ngw`4aL^1J*HOjCzJQ~SZtdUIR&5xnUUooaaLSv$q31(@m6%a-9&?v(cjbtol zYlAHhwu6MmU4e(&4%Wpiy=e*v*D8%mOwmZjVzxGH6%`U1YXu&zRV0|jZ3;bDFI%W_ zP}+kE35|(bCYYshP@14ZLSv$q31(>=lqRTmDos$)$jP$k9ro>1NN5z5_8`G5jiS;76^)!S zTUGQsE8JHkG>S@luvN^`C@M`*(a0&YRhdVSgho+m54MU~8bzfEDjHK|w#xQZ^1out z(F8|J9DTTBULiOt()^WqaNHH1B~(ag?kv3>B$%Z+xe8Hf6&20(EqSX*Xr8g+k?bn_ z3rCjB()?wGC|bG^R5UNTr5iy-?lL4}0Yd!-2~B((M`O;91BH<$t8_AV6?TKm;9!K^_|tHJ`p9S;E~!6W@+tLK)6;>(R!~XZxsox{R%u%tzwqeeg%YU6&0=bTJlzr(AuxSBh@Nq zY3)})xK>fodaosK6$!2V3OrJ+VwTo^1%zuA6|MJL@>Y@1+ONPP)hcFb?N^$hqV--& z-YODW`<3?K^}#Hy{Yn#5icKrQmb_IYwDv3Q!B#O#YroP26|MJL@>Y@1+OM<+Tg5D` z{Yn#5wBBpUTSY=^ztSFT6|=PVD@{<*daosK6$!2VN_((X%+lJgG(kn{y_URHB((M` z?ZH+tOKZQ<1eINyR)Q^gt4L_=SK5QEVwTo^r3orp@3rKuBB8ZkX%DuFS@W7!g{289 zTJN>wts;&xapI@pe) z5meMd%aV76NV4rOB$%aEk?_A{)_3`bWBm%(;E}t|QLOUHZ*5uq?o)JBNGKNZ&o7x7 zq2E3eZS7TgK4D68;-BC1vL@M9+kanwt3!bvid8O;B-ayFRMZkv6^rm&ZHf^`kG{$M z{+wu*=M$zhC-kdk?z}1{t#W(U_98tLt6U!D8xrymq1KA{XFGJHtPa(yn0q%(SY6Et z^OJ|wVt>Vm9z24iD_2y7P}@o9cv!tH6U~o#KoqT2&5wcnQmsm|{kf&>;Fepg7N)j5 zrlNX91jpQ(m;4nSA%%omoA#j6ocQN>oU!=c+PB|2+OChPMUzh{-16B4?%aK$`$>g2 zfAX=)y+;;d3JJxYc<+}<(TsAH-9M@he&pi9Z~IPlXMDsALgF zH`G5mV_Y|_uZA<@gSktvYy-H{KEOev2un zL4rya;XUFX4vpq~IaZ zhqkkQ71Sl#%8%)DP~pT=?S@(<|QCNGv`YRGt zvIy@nZd~7Zw{!e=n37OzS^qb1WMRX5KOmMI3yHX*7ctp zTiA1$JV;Qz`3&s89L4rya;XUq}c0|817rXC`Dw0ra zSrg(3g>DDPL&TkzckD$ai|`)PCm&q;!IKGrIG9xy_&d3QV#~Te zxdy*nMjj-nWD(xu@GZ}2{B6JS&Vz(v%bK6`CHpScn3@EYEW&$SbnH8g_nvW>^B|$v zvW`7#RN>Qa*_61$>Yuvb3?re~vcf)*1eGkpdnEtAXi@T? zh*@lvYO<_`di($WuNYAw!Tpv`FpEdi5yiwK`Cl=j!t;vW6~dsPRU|m#$Zr+1I1Z|K zxK{BhveCWfndny`T&t*%;In$zDiX}%ojN3_kl=kcB&d+kT{~%dvtv$$gr0HI1Qil| z@(x=?g#@3YLxKtk&bH(e%;Ix&NKhfcS)+V{S$vKT2`VHw`;|{Hi}N!fL4^co@$v~~ zac(grczy7$#xp-8sF2`TD3((Awh)%M;!SCvpCiY2`VHwata9^LCtH} zb;q+OB&d+!Y)eQ`A;GzmkYMk_Cl>Z&Awh)%pQ-W*X7NccB&e`&r*}y3&cZu@mD|%q zx`(4eg3sz{57osi&LD&Y70zYQJ0z%(IHqadC)kdn?wo2Bvp5G7c*MFs>^Vx;2cM}d zc0^LY{S{+fwap1#!4<*-%?M_x$EXlRk0hTNZMq|yLPEV#g{XLtV3y93G{LRqUeFbs zCa93m_1`kVEcFa&LZc;9?D*Srw8i<`L4|~_m9z&5X6Z^x6Ks`6ea%}Ko>y!M35_xX zkL0))V-n2Ls5T&y<6ex}cG9|n(*zX~7XLHP&~#EckLHB3bj_zdsIXpL|7n5>30?DP zf(i*;^J#(#3H1yC;f@E-2KCgI#j__o=2S@N&JcLGy-R{wx)ZfbFiT^`G(m-gM$Ro0 z%+km?gJ^owV2brbdSgcKa9>d&p^|2-rU@z} zG{R|_V3x+dX@Uv~jk{VVn5EHjnxH~LW9l@)tmdt<_qf@F6cQTSwM;NeqrNoJ{7keb zVawvR*-*c4tI6?AU;O2MZ+pZy50qa0>?D_^*!s-bLmnv2xzd-11eGkp=!W`X>y3}E zx$Io`u84$U%UWU8`%9niEe{e@vIy^S^64Yv{(atX9wZc7R{P$wORYM~g9McZ+OP9V;Y&zy7sALh| zRI&)~G2!Vo;}f^?zY|A7v1QHs{+80bG4dcmC5!MLw;fv*PaHGU?JE+BE$h&qZzwGo zBo7i)vIy^CV+D)s&(6NVubkzc0eB{=T-QgMFr_)6tDvEN&xfkwHoFXUKGv$Pqt0>1 zRi^_d5}$L zTeqR}Afec@`doQ;Y5xz;ZaQ~KP{|^^N0*U%#Wjbn;5Y*`yu-(OmLm^?^O$s)W*kIv)cHP<`Od5}a>*eAfec@!gH4dl`O)0d|&@ew{;a%Kh~L zqKXO$#hw__I3+6Vyp`QQiqCbPR%-ve-zSQ#C1?G0VQIB5w691|$s&wysQ>NTNzuCx z`+Y@1v1OgpZ(8ZQWp#a!ppr#+kJoP+8+CYOx;q{u6kFEMFHI}m&`Ta9sALh|=sZX$wyYEHxu~??4)P#DC5!ML2mU%J8gpP5cMXzIY+2*py|~nGh&)J8$s)W* zkH&DX@3HD;ugvLti+}G-La}A-aMabM zYc7@t2`X8H_n3C+*^OI|@$a2UD7LH>2hA#Nd9FN2P{|^^$Gn&3HU9p~q3(E)P;6Q3 z`5Nj;P{|^^N75BW7TKTmY9D=7bp0-SIF(n%B`Ly`=7f6JhWep9&TBlWi(l_!t=eK6 zKaNst-fJcM>aE@yUy-1aMHt;s-*(Nj8`nD7ulFIL*s`W2$Nadp;)|uMx;RF489}r@vU+{do6TvLXq^mUY>uGfD?2RvI2HzF=W(@~B@Yr*vIy^S)+dvqUfq{=9wZc7 z*5JP{EWPuhJV;QnV0_-tg4 z@`GP{57lcPDo+uCLPD`8{_n4?;xGSl-!loxL1 zJyfrGs60gk3JJxYsM@J(-0%E8SH4l}ih(IBs*b{ZvtsEb4miw$_vE9IK$!}hJ57lcPDo+uCLPD`8PCd4L zeBZKryY1NWwyx!FhkFmzYaS|35rINNu_wOSw{2Y9b+Gd|xJ}pc597Rt>NO9Qr-(oy zq1Y1}?b9m0Wv~66#|1-HFJFAJ_fWm&q4E?FC?phnV#K?@H@>^UfzBhob+vNURPUjB z%|qoWB2Y*u_Qa@dzHdBx?l9-^-H%<$TU_ovRIhocJVgWw3B{f`_t^!Fi*_9DJbG@` zrM$^a-b3}8hssk#ppa1Pi7&Q4K6Y0w^b3Z%XjSUo=$HYrImb?D#%Ny!R zP{|^UZm9pT`;=(@Ww*F>G9(mR*6dR|miJ5gO5Z9HRI&)~F?YQw(d^f5aPL@1D7LJw z$#z_}sXRzf$s)YRsQr$Q?jL!4WAnO1TY3MdJC^$llm`haS%mjE?xQ23^RIf|d5}gEP0Til0|rr4}Rz#?Q_S@ZaYXQwyY;^>s;PsraVYc$s)W*_wK*e zp8AdJOM<#YTUMK))#dRw$b$rxEW&%7dFO4lZ}u7Ewu6LX%ldxxn)0GM~~2}$s)W* z^4Jl*^!?1+>|fS%j{M)LZY;`PROP-;%py!_PN)ZOsNeRaJsV${Fd;GzYt>sTpX&No z#m;;1s^vf0`SOrx1tp6xx}koJ!6-M%j!OUmGZI`4-!gUcajLjsqH;2MNWNb=I8f^8Z$m2MH=!g!j1h ztM6*td_2r~kWg${TQBNd-f$gxkf4%9c#qn*yG84tvy1Z}q1dt}@6fq?`sY+29V+Nu2PuJRy3C5!MLzeafsU1K-)A)(l^KA7LJyzyjtkf4%9c#rb92~qbC_jDd46kFDUJ3E$toGA|y zRI&)~vCBJCqHn%i-i@zFD7LK4Zt7Ux{Q-H9ppr#+k69;7iXIr>!Hr8uD7LJyzal{; zi|`&l{;{C(vn_|)F|S&fjH%z~=KDnUJ}UQpVisWv3B{i1FzWlp0cCd$R^5|48?3m2 z_fWm&t@3=r6cUO(v3|Qh8jtFBpxcg#$urKx+aq|^_qvu^9fT(DE7n-XS9#2 z|8Q&Wsuu3jt=wv;_fWm&q4Ipf6cUO(@%95N$1k1ezk}}4WDa2aBfN*|H4l~N6Q+<* z?1_v2tcibqwBGHj3zE5v>yGmts@FVJo==!ULa`^--KT53?SliI$6?8w%vPs)57lcP zD$gfOA)(k4A3fP4?tb`A&ZCgbEiIbnJyfrGs63xAg@j^HT({%8@y{>RIgiznIkI`z zcn{TU9xBf#Od+Az6VJZ9Vf@GctL#kR?HaHCzgxt3Lu)KCWiY1*F}+E4Yq+VQhPH-K zBtp!INC+9X8Y)DB64Gi#W2m9D)Rc2`x4RXsst$(IrnG1!=$qhGg7AOVv(9g?-`>xC z?&tjP=i_}>*YEkR-#X{!p0m&1YoF)uL%hd_mu%Iw^j`HqUGYFZPKd$;VkN$E`k?&q z8}$1VUtFe4G%43B*ctuCZ6X;s5#Xdrcm4=U&JEPCZapJdlqQqA-D2 ziS6$mn$K9~-_Mg9-8tkpUsey)6%XX&geXiPR$}#o_sie8WPtyDOmpYLr!7$r)D;ip zS`4Jg)ytJy2IXkdG6hFo9T!i+^)izWo&&`p0qb zlD=J^uXd?_k3wDXKt4{0!USR^ew=+PUwWVa9^oYWQopY8ZR&x#;(>ge5QPcEO6;-g zk@;^P(fd*d@7=F!$p-3yy5fO+oDhWx#7gY=^3nNax31}*t20mR*L6xC^*~+mKt4{0 z!USR^hEF;+fA8GYyvNp;^y^yMPd!jqJdlqQqA-D2iG$ZVKL1a@FL;lm?{L459n}MM z#RK^`Aqo?Sm3Zsw6Z5}~T_MN2N$=nG>-v0OE3Pr z_t;}V|E{MFR1ee@59H&7C`=$$V#f_m&tK|#&U-BTTK}%oj!+NO6%XX&geXiPR^rRw zI5Xelso#2!?T+i;)iy#sP**&Vj}xLWfmn%+PCYx{>U#fKEqQH1|E>o|st4+d2l8=3 z6ebWW(KT*d{@zXx`p41d%Klv^ou(eBD;~(l2~n6pti-&L57ZS8TR{{FQyy~kQF_wO3~ef2B|Fu}o$s`N69ndvxk$Rvm=i`JZOdwXGZIc;!`?mLZj}Kt4{0!USR^zWTz9{KK_3 z@E#uz8qoFJ^Xh@R;(>ge5QPcEN(}yFM*ifs?f!df7w$Ho>qm>#19im%`8Xj86Nr^K z)On2BZhzTBA^XHVj?r&4e;?$Bd_W|upp&qxN$$DY=&JP>iN_-M``Gav^#Cmd^6EiE zMPUN55-+&l`G$+n^B$kOe^>9nuO6r?9>@noMPUN568F1*yF=f)+j|u5@8i)=)B|^)Z9dO+8VRdl8Zb;SeufT$=;AXZ}0Q`7R(%~is|V_e2l4??QJ6ri#Ewg+=2y(y!h5W}?tre<*H;hJ6%XVCqM|T?Sc&W3oRS|f zb`S6INB92mn@!aNb;SeufT$=;AXZ|@|kpE)g&EDf(cf8y0K=nXf@jyNxDhd;bm6$wge17PacX^M!+;RJ# z4_6P=6%XVCqM|T?Sc&oHjLQ$*{z32Yx%>Pv{TTH?UGYFZASwzIh?SV-KI8o5+T42# zcb}uS9jP9uD;~%PL`7i&u@d{c&uWJ}`CIR??$`TwJ#(shpssiz9}pFV3B*dQ=RR|O zt9Z_P9OFLMo;6NAP**&V4~UAw1Y#vlcb}b~y7cefW9v2gcdao=Jy2IXkPnE8!USR^ zo;dg9{K<9wz5v-7?mWZI)71lY#RK_(s3=SzR^kV1oRr^k;&T5uc6aAX23@8es4E`G z2Si0-01BP**&V4~UAw1Y#wo3_LO))9Jq}EW6vC7wx=TJy2IXkPnE8!USR^4xRd~ zysx|N1@oFqL~uQdXEiS5hfX@G4C9hXgB_&6ic|9rs`YQ}>|<*Wy)}p$`dGFa_Uw zS4>Q8PJf0TtT2Iz_?`(~h57cL30}ohn$>5Q6(%s>9(pjrt1zwJGr_BPuCv+|D@!pV1id+lDubvSMls6)23AqR+zwCc<8|dui|Obss}4f$Se+~ z*y9AR;%U<=!3q;Ra~UUi6;GR1309ck+0iN?uhf|3#1x7=qx=dU5;C(XtC(0q(=c&@ zS7BO2Dpd)dx#Afw?zSW{cgW!1Iq^7{;3>3{aDG*SSMh9Im0*RZ^t$aT@L+=H2&*1k zi&ybjs{|`NDa+nff)yq(59glH+P@MeconAGLV^{Z zRpUzWu9(2&S?IyFcopWzLV^|ki{eVvuJ|tp^H5S(2>fkU309cEq*K@x6TAv@OCiAu zCXZV0iV4gVg&y1$ufl{-NU(w#pVqr#0%y-d5AKRr@pyG9keVCS6+ZiV4iHgdW@#ufjx1NU(yLlGeLo z0@EU)2Y1D*F#8b_tYCVh^{$w}Tt?`@UGXYRS%d^Dn3HI|D<&`j5qfY}ybALSA;AhJ z5?b$y3CtRV9^4hL!sI|mu!3vc za5X$6Si$w|*1KW?SE@q~ey(^Gt~-YWE4XspdRI)~ns7HB-CU!URs2p={SC5$>!(8C zI;X^Of>+_HWk|4s>yEODz2hEC;EH1C!L@i5t`CL;E4aefdRI)~+Fj_uUGXYhi3|6^>Uzf)yP5wB8jHIMxb1xGP?TW4n-G1;>f4cf|ybOG6LtidW$bOGvPS zWBAs)Vgl!CLJ#hWSK*vfg~;4l=Nw1$qTsxS#Ozmnk79)hoI9y_xHrWtXM$JZ{7i-L zUEwo_DERauF?U<-iWMgC38~`YyJCV@;ZsmO2=--)UOD@@>eOQkFSIGEs7xV{q-tl(Nv z>s>K{Yg3^Icg3r4Ei5EhS<<{Z-FjC{;Hq5c!Cmnx$;u%jOKc?zydms9S zNKENTUGBEp6)Q|&jxg+s30}pIsoE9SyNS zEX3Py@1B3O`C$M1`0Ckh?fXqX%zIefB(Z#)$Z{qu7UKO?2j}vid#TMt8NTwH-oxtZ zQ1t4iMI@5MP=+By9{G=si~6 z)Yks~6!oyWNn-gpk>yNSEX2@{zn*Tn?zZ0J@Sn7`&%91OtZtH6K2Bsg6BY}x^O*K@ z@^7~G9{+J3SIt)stD7X2j}uwWgvCPqYubV7z_&K{9v9u*);{VU^{~20V);0cyNSEW}y84o^SZ&EMOXTS1-=y{~0HPGmU~77Ou{1;?ge-@)IPnk%POZ%*Tl=XToA3MjUrSdf+1~ zx}1*_SL!WhUH7^U?{Se^^~xsdVRhYW zNtqXq?ujgC!eSx*@w0L1%PSx79`jwT6`QMv)lCx1#|igZQg%}B>f8H`Pj4A~xA$1& zR;}MpJ*=*qnk@6;(LIsnOjs<$N6(&{Za?Iw-s2@#Yp3nh!|Eo9<>N$_Ghwk1*B>-7 z9sT8b-s4^8vEM-Tu)6NMEXsVG$Z{qu7Gl}2&P%5}I>&pgd23tyh(YRMb(6&MaU#o^ zuvm!Sturb8nMV(iNZUUMah~S{Dsb53B3G z*PzVD3HLdw?4;h+?%9Rutq1t;dP&;dsvmq^J*;j*dGY9;$Z{qu7Gm_g$>~G;9O0j< zqn*cscJ*LC%g2cl@xa0AVRhZ^>194nWH}QS3$f9qQ`1`x z*v@-QbhREkTs^FAl2|@YxE*%OPU>AN$_ zGhwk1Zx5J}etG%r-s48+@z%-eVRhYiE|>W@;dZ8_4lNeqdza5hHytv`d;Hj~diQko zu)0ZN`8bi~Ojs<$vfs~02dux9_n7ZIJ{+qaR@c3Ml=(Q3BQBpk?&PY ze(Gv{GC@78F6ZNfd;cgqsdsh7=QGkL#-8^-@c8Tk^KKEhoF~@m)I!isQZjx9&PGmU~ z77MZVnbXs^k9ggCT;@DJx<);$Zjx9&PGmU~77H=%v1#ccXRJOCH7=Ho<` zGhwk1r>{97y=C!y@6qXMO@2x}tZtH6K2Bsg6BY~c!0hqq*emYz9=AG=O`lN@tD7X2 zj}uwWgvCM}w{l#1!ru3LkD1Qn-ao2`)ph6R%6yz~pKGZ@i-q{^kz>=oZ!Yv6XS-E< zyr3Rd*X{dS=HrAr4_9_l@2YF=S?Q>29`_!HxmCYL!Wh<3yG-VX+WI&tD7X2j}uwWgvCNU z`uv!5%hCG%?aSP`jDP=IJ*=+#8!Yp2BFmYuScoZ$PEJR?`7i%Co^iDXzpWltH%TlX zC*0p)*-5>te_nl3y5o2M*L(cTt-5fTdRW~gvAlS6Ph>e077KCGVI$LR^8b2|i=D?W z-&YT-nly^ zKOgKoKL12LtS;x{M3ysQu@GCYKO#Ng0l)WIvX1lEAkk|q>}UBnk>yNSEX0QwAC-Ri z;M)FiyynhLZn3I*SY7vh`ei;&WH}QS3$gv{-%dx|wXXMg*wxy64fU|PNn-gpk>yNS zEX2%Rk4P_^v%dGZ!g;K>j(S*K_j$0)$B8Uw!eSxbA9rXv{^X6l$9G+=kJeQWtD7X2 zj}z|mVA)B%t3z)-I6ZT_&Ai7zx9a)z)x+v0iRHzkdm_u3uvmyI9{Wam^Ix~{9xL5B z{o6KH53B30yNSEX4fh4@i%h+}C^j&eb}jc@5I)CW+Et(d@*X?8RTH;S538FbmKTrii7aQrVj-qHxOX~b_g%cl3U@tf?H$y^ z>L!Wh<3yG-VX+X)=I)VB7`L1E=yD!63{(%Rn2JsF=RL+bk3WA+J*;k$SUyfgX*&CHs;hPCH}!E?UAL!RnU51$&V@|12bjrTp_Rm#sS1Ub2 zJ*=+VE2+%Ki7aQrVj(6iTPy8YRp)&kaM$SH`i^>7UAM=2nU51$&V*mM~_nvtLwhgsm#X-cP_l_ zq~6sv%ikR~^T(sS$4#!*-l*QEIX-pwfl&F4cq3Qx|iuNx9a&( z`Z%nvyV_Ug#iM(|og*tdsdshr)R%^hUwNv39IyPat^MYc)x+v0iRHzkd%|6VEIX-p zb@r&=4g1xyGrY$%=P~3|^{~2b-@Y<09^DgJ&V%O@T0bAJ9#%I=EFUM_HOR7)dRNP@J$KlGhc56Q1Kg^i6V$`%CW+<6 zqkAIDnXp)h*Y7%NSl3~?|9R&PZSC_Xs)yBe=a$NRoXBz}EEZzZ-|jOk`_&ZxIF59+ zUOZ1dtZtH6K2ErEOJyhZuD<)(7Q^=Z*HrKE&fK>4SI<`utD7X27mx0VEN8-EAr>FI z%CH~2=J!}nE^;1?N$O#B-BtZEA1AV$35$i;eDNQKUjOsy{&8&NYMpU`dRW~gv3#6x zvj$}+^{&>vYTnQ*hU04IWj;=1ITIEOardl#jc43-FFBWS zqN_Eg>0xy_A1AV$35$hTYwLe@q;IOnvLCqfS4|K0vwWP$awaSmV&1#oSv2wv^_b>7 zUTpr(t*(2ID)Vu|og3h`ESGTo4(R?4Yx=CXBIN^@3%1-KCE#2?( z&Jn-X_u3L!Wh<3yG-VX+V+fAGuBK7I5U?!DRWnBg?_ zu)0ZN`8bi~Ojs<$%%eIxx4c7-MW;BAeNRyjtD7X2j}uwWgvCPaeB;xd+iiBHf8AZh zd8~1gdRSezA7q)26IsrL#X_7h;>FIRrk>_K>`oo7%lH4pi7dBHm=?mlZDjJ^;r?IB z9(D$biTbx8a$P3u+)_^jud*{mO(OG6xvuzLBDByM*clD|Vkxt6ec+ckt9b_;K(myC0`cuwr-AwAvLD zcD=Ul!3q<0cTGI5rxw+mm}t`po96LudByHe@|D|TN=t6ec+SKR9! ztT3_6U6sYuLiI0-6((#tq3*#76E-tZCs<*^COPT^D@@pYNu6MY37dMU6Ra>{vp98v z6((##s7|oL#2hz~f+?%&?}HU4Y?`X>!3q;MIS)*vRXtc?!Y0q^9;`57^Kf;7l{$f$ z!fIDM%g2OxW74rou)>5*G}gOfg$bLptP`v-Vbh;=f)yrgCbdqm!h}uA)(KXau=(9O z!3q;&+_Q@r=<2h}3KKT#T=!swiFW6KdGV?TD@^R}2u!h8309cc(h-=guM(^eY=FkyE=)CpFYuzNG=1S?GN-6PfKiWMeCy7v#OxVO$-Gd(oud?~8I>CxfP_^0>6E+)F_u#I0l}$R;308P+i7Ul_A57R3 zQr&}V@hY1ssuQg6gb-JXcg2Lw`_w(S7O&z-o~j2cd@h44RS7<4VN)pGoG&TQW$^hD zChWXV{c*6ugiWOMMDQw`FKH5GSM0&7?2K34gB2!hzNGHK1h29)cXba|n6UYhx(5@y z%FaO6Jy>DF=1b}xOz51S~HZ4*oSh0BzKI>d3xGN@XlA|YrSMiKS z_3wifp0Z%?D!~d9JU^zs7|oL zgdG$0MDQv*4yqHZFk$Z!JrTUhj-2WQD@@o?RGnaj2|IGC6Ra>{M^1Hu6(;N`s!p)N zgdI86309b}Bd0pS3KMn|RVP?s!j7Ek1S?F~kyD*ug$X-~suQd*VMk7Nf)yt0$f-`S z!h{_~H3|31BR@P_$#WSz4_PPdn5s(HkyD*ug}bt&s5-$46L#cOCs<*^j-2WQD@@o? zRGnaj342d$68hx2XO|Tw>?o=yf>+s5RGnbOj-0CA)z^0JiU~W4s(UcOtL!MMPOxG} zPTh2s>62Aen6RU$x(9c~tL!MMPOxG}PF3&tbH#)mMb$mHD_&(sQFVe9JErQUD|xQm ze|#5J_4vxp?le70!p=bPJ#p3JuIeMVvrbjQ&YjgC2NS%?&dJrgV#Ut&wb~UEcAl}P zu6UK5zpQt~ik%m2wJRpz=yeRnL@X&+A>WV&~gi z?TQII*WXiDylNMBB~I`9uXn|YU7KjND<7Re$@$9n6N9DMEGZy z6((%xf3p>N1YOyL7=Pau5xy&% z3gd77YPBny5aaJABafgfn-Jq~Oe4Z~Wm94N-EFOQWfNlj?Q-PNZC5%w#@~5YCu}N= zzkRROu53b#zaOyf!GAe6A;#ZYSSM^MjK4pz)vjzpjKATr?!jHzgcyJCWSy|7F#ZP2 zR=ctZG5(Iux(9b<6Jq?$p>@Kh!uUH(TkXmw#Q0lQ>mJ;dO^ES#zt#zx3gd5~ZM7?# z5aaL3t$T1+HX-KzKHO`&e!p;?V8!OWTJ4GnoBgVLa96x)SUD9|Cs_HQoCIsND<*9A ztM0*F@hY4BsuQf(yjQDTF=4Y`br0@}SJ~`WonXc0y;|*x37h?@dvI60%4Wan1S>Z0 z)oNEv*z8x`gS+BYHv82i+`EnZ@Gc0v>jLjwP$#&SO@-AT2k-MUZ9qry`jk8N6~_r% zb`*b|t}*hu`%rg;SBLVdjK zARi}0VFIxdywA_C_v|SCGG0AUS3Ho96QVGISP9e4G%43B*e9 zK0h1o-%$)aLp@MeJdlqQqA-D23Et=D8wYh1y~n5r>WT;QaY7U(5G%p^{Cw~5j-qpv zdZ4a&ARi}0VFIxdyw6W@R7Wx7c=bSC@jyOKh{6P7C3v5oqepiXw|`qbP**&Vj}xLW zfmjLN=cm^>9mPQhst4+d2l8=36ebWW!TbFDX=+EY-7xh)UGYFZPKd$;VkLN=pND65 z6#EWR57ZS8VdlAfqa}0g$cw;@IF8Ht=TC0oU0zFD;~(l2~n6p ztOW1#^YQA9V)yga19im%`8Xj86Nr`IU3-q})hG_0tRAQ<9>~WDQJ6ri1n=|n=T#fU zsOin;iu{m|6QZD#uq)oRXXGl4;{5Na2kHueyn1v;h{6P7C3v5oRle9LW?rTqs4E`G z#|crGK&%As^V5+uikq%b57ZS8ge5QPcEO7K2E z<3C$ibY80-s4E`G#|crGK&%As^KXa0(X#aef(2kMFk@^L~GCJ-yZ`}}O>Jl4NY zJy2IXkdG6hFo9SJ-sk6`j}{i2J)j<_D;~(l2~n6ptOW1#Gs=1NeONtES3Ho96QVGI zSP9VdlAfqa}0g$cw;@IF5;Igefbq8_L# z9>~WDQJ6ri1n={6kb5l|_&4=HUGYFZPKd$;VkLN=pFcZ~?Os(6)D;ipOg&InJdlqQqA-D23Et;t9d}Hfeo@cEp{{r!A16d%0>WT;QaY7U(5G%p^{G7a2 zqu62-^*~+mKt4{0!USR^c%PqSokp=>Gxb1S@jyOKh{6P7C3v5od)&ELKG$tE5ZBx z^j^PF9J{@GpssizA16d%059H&7C`=$$g7^9Pzl|Ej=R2zh z>WT;QaY7U(5G%p^{CvJiqu6gZ^*~+mKt4{0!USR^c%Pq5H)|9#_D~Ph6%XX&geXiP zR)Y8W*?)8Q``BAOP**&Vj}xLWfmjLN=V!*2jpDCE)B|+Po=s4E`G#|crGK&%As^D}#!MzMLjdZ4a&ARi}0 zVFIxdywA@X+c%1>o7W&wS3Ho96QVGISP9;>=UR7dqR%1vI8awSkdG6hFo9SJ-sfkh zuQrO_hp7kZiU;y>LKG$tE5W<=ytqrF`0o+wfx6;>e4G%43B*e9K0jCQ)+k>5j(VW3 zcpx7qL}3E461>mPh&>v`Jx8kt>WT;QaY7U(5G%p^{ABwyiiO9i2kMFk@^L~GCJ-yZ z`}{mGtWn%{qI#gNcpx7qL}3E461>mP`};PEvqq~2>WT;QaY7U(5G%p^{G`Jh#k!}e z2kMFk@^L~GCJ-yZ`~2K^aHE*roG(FL@jyOKh{6P7C3v5om4~@&MQ7{dKwa@bK2C_j z1Y#w4pP#YcX%t&F=Y3FDJdlqQqA-D23Et=Donsospo#i8P**&Vj}xLWfmjLN=V#LK zjiT=)^*~+mKt4{0!USR^c%Pr%CpC)yT&NzXD;~(l2~n6ptOW1#^UE=f;<~Bofx6;> ze4G%43B*e9u05m9Y!n;MP!H4<59H&7C`=$$f_LrN{G3KH=_2(&UGYFZPKd$;VkLOj zo_|kl6!%}O9;hoG$j1p$m_V!q@7mM2uu(jHsd}KUcpx7qL}3E461>mPP1762qVKB* z>WT;QaY7U(5G%p^{9Ji)qqu6OdZ4a&ARi}0VFIxdywA_2mp6*Nu2c`y6%XX&geXiP zR)Tl!nRQj8cx;w>pssizA16d%0WT;QaY7U(5G%p^{Ph26qqyK2^*~+mKt4{0 z!USR^c-NjY?r0Q;T&o_aD;~(l2~n6ptOW1#)3~QmeA@ItUGYFZPKd$;VkLN=pH1&? z6qo-%9|!7+2l8=36ebWW!MpZc@^GVA-t<6S@jyOKh{6P7C3v5oPdXaK;Oq2ppssiz zA16d%0U+iU;y>LKG$tE5ZBx z-2MATu|v}Xb;SeuI3WrXh?U@de!lZuqj~WDQJ6ri1n=7O*ei{qtNAyGy5fO+oDhWx#7ZonU3;=O8pYD)>lNyX2l8=36ebWW z!MpafzvX@(&DUMj6%XX&geXiPR)Y8W*Sc& z?}Ml-9>~WDQJ6ri1n=7O_$Q5GUi1ANb;SeuI3WrXh?U@des23hNAdI(`g(=B;(>ge z5QPcEO7K2ESFPSr{PuG7Kwa@bK2C_j1Y#w4pPy-M9mS28sR!zc2l8=36ebWW!TbD7 zSihs#{Sx&+UGYFZPKd$;VkLN=pK)L5DCRdm8=$UuARi~ZLLGuug7^8sojP1sV&vn5 zDCmS~C0r(xtowf{YRUh?87PUFu6!Fw$_f)WwlK+KkX%cg{ zRS#B}z*RC&%MM4)pXwv$Rmam6x~d0vg}aZW9Q#!XR+zwjMMB33UWL1aLV^|C=Oe4w zJMO^*?%)YMxE8O%{Wu}P3ht5p3KN)z z3kg=3z?5D{u)+jp2Sb7tCNR+$609(RIm?h>g^7pUoE&CVtFP3oFoBuW(1R5w=F?nn z)q@o#Fuxmmu)+kUibH}GCNS$9609(R3G9$yg$c}shXgB3U|KySSYZM)^dZ3t6PWA| z309cE{RSby3KO^sA|zO00{3Qw1S?GN-6Pe1SFA9B`&dE`R+zxuH6g(Y6S(ImBv@er zcOr!ZD@@@2sE}ZV3EZ_6609(Rd&xqA6((?pTS&0N1n#>F309cE-GCv%3KO_TF(g=F z0(VY^1S?G7e$J3!g$dkc8WOB9f%|KFCU_O@mJJF1oPilQzly)BA^M4h2~4+z9{j0@ zS7BByBv`?;S?gUffjP3!gS+BYms>K{d7sdOyW&-t-U$g-_*@28 zs=ll7ISWjoNL@ZF;)zVMaxQ}vCUD+IR#iP%VFD8=JrleN^CcybN#xJ_&>1LRg)?5V zs@fGROklpGBr=KoSsXgo$E$GWPF7VtSYZP5B_)wbBpyugDx86oRaFmGn818VNn{d< z2NS#sXHsQV)q@o#FkjL$!K*MW5)!On-a}Tgcf2bmFv$^ma4lYixr~rt1(Ox6cf|x| zCPEMHidSI*A|zPB3`6T(F@foX(1W|;RhTsh305#I(0W%)U=E=4$Rv_~yWAD8!c~1) zRsC1O3a-n`Dy~!|SYZNJ+(Qp0conXnhXgCQ0^WL8OyJsf=)qm_DqN`!3082ex%IA? zz?GlSgB2!lJt`zvVFFjlLV^`0aP2N6SYZNJ6hnd)CUBiIBv@erS6@palSuxxv%&&t4L)ic4Xa1<31tl-E=RWwVf3va1<4KFu|*E z6crMz;K-@lt}=bHs?QY@IEo5AxGP?Tqo|Nz1xHTZcGc}~kO>?`g&y1$ufkDONU(xq zs&2cI=gR$;<$N^3M@xM4;eY2P!AC_nf8{%& z=lWXjiV2)&EIr&)B|p_8OJ0TZmnD(Oav@m3dC}IpVgl!6OAluuKh>^y70&gRL?+9H zUUyW&+iFJ2OvEEj?moNsTvD<*KRzw~ex@>A`KSK%5$No2BI z2v%@yqV=wrIKDZ5ReCrJ`Kflrt1!J)5}7O)f)&g#MZ59@|3xu@*{{;WS*QmqOkmzC zBv@er^Ijpr3KN+93JF%2z`R#Tu)+l9y+VQ&CNTRI609(R>8%POPjJo(6PTH*5dJsF z1h2xpS4gnJ1ZKZNf)yq(?-dfPFoAimkYI%g%zlLgD@@=DW`*$2E-Or6_N!-tS7G+6 zLipbYE136^RqS1TA7q6I%zjlog2%zDF#A;@d{?Ys-mCSln855;#Utp7S7G+6Liny& z!Ms=NT`_^#uZl;|6|chVSB3Chv4VN8*1KW?vtJdDpetU5*{=%WyJ7|NUafb<1ZKY~ z9zj>U3bS7!!3yTRTJMSp%zlL){P)4DF#8n}tYF@&^{$w}>{sZ)UGXZ+euV@pnD=VE zD<&}e6?$-2yb7~lA;Ajfy;|>z3Cw305%g)p}PBY;I4QTX1_|pz1zr7 zmSdJn6wG)@94A;|g1sjkdh@EkA2#c{Gg5Ima^pLT<)=UD_fQyf?;XXS&phH|F4lVkO-EAF1pC zBDL@=a$U~H2~p4q(@IE2f3lQ4@QjMabma&+WrYbm4xvjTbH9$16(;cPmV{d^KW=}% i=D$9E91?@BJdR8VR?wlWf_F){)$&s%con)*;{O4q-2jaM From 5b706b98f4dd9a7d7918d8a023c4e748b0e7e210 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Sun, 6 Jun 2021 00:26:20 +0200 Subject: [PATCH 14/80] Artillery 0.0.3 Fixed Genius bed size. --- resources/profiles/Artillery.idx | 1 + resources/profiles/Artillery.ini | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/resources/profiles/Artillery.idx b/resources/profiles/Artillery.idx index 2a1383dec..b76f62584 100644 --- a/resources/profiles/Artillery.idx +++ b/resources/profiles/Artillery.idx @@ -1,3 +1,4 @@ min_slic3r_version = 2.3.1-beta +0.0.3 Fixed Genius bed size. 0.0.2 Updated start g-code. 0.0.1 Initial Artillery bundle diff --git a/resources/profiles/Artillery.ini b/resources/profiles/Artillery.ini index ffcf5e695..d58d71c60 100644 --- a/resources/profiles/Artillery.ini +++ b/resources/profiles/Artillery.ini @@ -11,7 +11,7 @@ name = Artillery # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 0.0.2 +config_version = 0.0.3 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Artillery/ # changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -126,7 +126,7 @@ printer_notes = Don't remove the following keywords! These keywords are used in inherits = *common_STOCK_FW* printer_model = Genius printer_variant = 0.4 -bed_shape = 0x0,230x0,230x230,0x230 +bed_shape = 0x0,220x0,220x220,0x220 max_print_height = 250 printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Artillery\nPRINTER_MODEL_Genius @@ -134,7 +134,7 @@ printer_notes = Don't remove the following keywords! These keywords are used in inherits = *common_UPD_FW* printer_model = Genius printer_variant = 0.4 -bed_shape = 0x0,230x0,230x230,0x230 +bed_shape = 0x0,220x0,220x220,0x220 max_print_height = 250 printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Artillery\nPRINTER_MODEL_Genius From a30f9f6781f0e461739aa64a569bb4a90ba111ad Mon Sep 17 00:00:00 2001 From: David Kocik Date: Thu, 3 Jun 2021 17:24:20 +0200 Subject: [PATCH 15/80] fix of infinite loop in notification lines calulating #6583 fix of infinite loop in notification lines calulating --- src/slic3r/GUI/NotificationManager.cpp | 28 ++++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index f169baf90..bb6c229ca 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -413,25 +413,27 @@ void NotificationManager::PopNotification::init() if (ImGui::CalcTextSize(text.substr(last_end).c_str()).x >= m_window_width - m_window_width_offset) { // more than one line till end int next_space = text.find_first_of(' ', last_end); - if (next_space > 0) { + if (next_space > 0 && next_space < text.length()) { int next_space_candidate = text.find_first_of(' ', next_space + 1); while (next_space_candidate > 0 && ImGui::CalcTextSize(text.substr(last_end, next_space_candidate - last_end).c_str()).x < m_window_width - m_window_width_offset) { next_space = next_space_candidate; next_space_candidate = text.find_first_of(' ', next_space + 1); } - // when one word longer than line. - if (ImGui::CalcTextSize(text.substr(last_end, next_space - last_end).c_str()).x > m_window_width - m_window_width_offset) { - float width_of_a = ImGui::CalcTextSize("a").x; - int letter_count = (int)((m_window_width - m_window_width_offset) / width_of_a); - while (last_end + letter_count < text.size() && ImGui::CalcTextSize(text.substr(last_end, letter_count).c_str()).x < m_window_width - m_window_width_offset) { - letter_count++; - } - m_endlines.push_back(last_end + letter_count); - last_end += letter_count; - } else { - m_endlines.push_back(next_space); - last_end = next_space + 1; + } else { + next_space = text.length(); + } + // when one word longer than line. + if (ImGui::CalcTextSize(text.substr(last_end, next_space - last_end).c_str()).x > m_window_width - m_window_width_offset) { + float width_of_a = ImGui::CalcTextSize("a").x; + int letter_count = (int)((m_window_width - m_window_width_offset) / width_of_a); + while (last_end + letter_count < text.size() && ImGui::CalcTextSize(text.substr(last_end, letter_count).c_str()).x < m_window_width - m_window_width_offset) { + letter_count++; } + m_endlines.push_back(last_end + letter_count); + last_end += letter_count; + } else { + m_endlines.push_back(next_space); + last_end = next_space + 1; } } else { From 1bcf4f0817c6c92c5d55ce8460e8cd5dea2055d4 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Wed, 9 Jun 2021 08:57:55 +0200 Subject: [PATCH 16/80] Anycubic 0.0.10 --- resources/profiles/Anycubic.idx | 27 +- resources/profiles/Anycubic.ini | 3673 ++++++++++++++++--------------- 2 files changed, 1909 insertions(+), 1791 deletions(-) diff --git a/resources/profiles/Anycubic.idx b/resources/profiles/Anycubic.idx index 24a881f30..cc3b55ef4 100644 --- a/resources/profiles/Anycubic.idx +++ b/resources/profiles/Anycubic.idx @@ -1,13 +1,14 @@ -min_slic3r_version = 2.3.1-beta -0.0.9 Updated bed textures -min_slic3r_version = 2.3.0-beta2 -0.0.8 Updated start and end g-code for Anycubic Mega. -0.0.7 Updated start g-code for Anycubic Mega. -0.0.6 Reduced max print height for Predator. Updated end g-code, before layer change g-code and output filename format for Kossel. -0.0.5 Updated end g-code. -min_slic3r_version = 2.3.0-alpha2 -0.0.4 Fixed predator output filename format, infill overlap, start gcode adjustments. -0.0.3 Fixed infill_overlap, start_gcode, end_gcode for Anycubic Predator -0.0.2 Added Anycubic Predator -min_slic3r_version = 2.3.0-alpha0 -0.0.1 Initial Version +min_slic3r_version = 2.3.1-beta +0.0.10 Various updates for Anycubic Mega. Added filament profiles. +0.0.9 Updated bed textures +min_slic3r_version = 2.3.0-beta2 +0.0.8 Updated start and end g-code for Anycubic Mega. +0.0.7 Updated start g-code for Anycubic Mega. +0.0.6 Reduced max print height for Predator. Updated end g-code, before layer change g-code and output filename format for Kossel. +0.0.5 Updated end g-code. +min_slic3r_version = 2.3.0-alpha2 +0.0.4 Fixed predator output filename format, infill overlap, start gcode adjustments. +0.0.3 Fixed infill_overlap, start_gcode, end_gcode for Anycubic Predator +0.0.2 Added Anycubic Predator +min_slic3r_version = 2.3.0-alpha0 +0.0.1 Initial Version diff --git a/resources/profiles/Anycubic.ini b/resources/profiles/Anycubic.ini index 44308abc8..10c152173 100644 --- a/resources/profiles/Anycubic.ini +++ b/resources/profiles/Anycubic.ini @@ -1,1778 +1,1895 @@ -# Print profiles for the Anycubic printers. - -[vendor] -# Vendor name will be shown by the Config Wizard. -name = Anycubic -# Configuration version of this file. Config file will only be installed, if the config_version differs. -# This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 0.0.9 -# Where to get the updates from? -config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Anycubic/ -# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% - -# The printer models will be shown by the Configuration Wizard in this order, -# also the first model installed & the first nozzle installed will be activated after install. -# Printer model name will be shown by the installation wizard. - -[printer_model:AKLP] -name = Anycubic Kossel Linear Plus -variants = 0.4 -technology = FFF -family = KOSSEL -bed_model = AKLP_Bed.stl -bed_texture = AK.svg -default_materials = Generic PLA @AKOSSEL; Generic PETG @AKOSSEL; Generic ABS @AKOSSEL - -[printer_model:AK] -name = Anycubic Kossel Pulley (Linear) -variants = 0.4 -technology = FFF -family = KOSSEL -bed_model = AK_Bed.stl -bed_texture = AK.svg -default_materials = Generic PLA @AKOSSEL; Generic PETG @AKOSSEL; Generic ABS @AKOSSEL - -[printer_model:MEGA0] -name = Anycubic Mega Zero -variants = 0.4 -technology = FFF -family = MEGA -bed_model = mega0_bed.stl -bed_texture = mega0.svg -default_materials = Generic PLA @MEGA0; Generic PETG @MEGA0; Anycubic PLA @MEGA0; Prusament PLA @MEGA0; Prusament PETG @MEGA0 - -[printer_model:I3MEGA] -name = Anycubic i3 Mega -variants = 0.4 -technology = FFF -family = MEGA - -[printer_model:I3MEGAS] -name = Anycubic i3 Mega S -variants = 0.4 -technology = FFF -family = MEGA - -[printer_model:PREDATOR] -name = Anycubic Predator -variants = 0.4; 0.6; 0.8 -technology = FFF -family = PREDATOR -default_materials = Generic PLA @PREDATOR; Generic PETG @PREDATOR; Generic ABS @PREDATOR - -# All presets starting with asterisk, for example *common*, are intermediate and they will -# not make it into the user interface. - -## Anycubic KOSSEL -## Author: https://github.com/tc0fh -## Initial PR: https://github.com/prusa3d/PrusaSlicer/pull/4220 - -# Common print preset -[print:*common_akossel*] -avoid_crossing_perimeters = 0 -bottom_solid_min_thickness = 0.5 -bridge_angle = 0 -bridge_flow_ratio = 0.8 -bridge_speed = 30 -brim_width = 0 -clip_multipart_objects = 1 -compatible_printers = -complete_objects = 0 -dont_support_bridges = 1 -elefant_foot_compensation = 0 -ensure_vertical_shell_thickness = 1 -external_fill_pattern = rectilinear -external_perimeters_first = 0 -external_perimeter_extrusion_width = 0.45 -extra_perimeters = 0 -extruder_clearance_height = 25 -extruder_clearance_radius = 45 -extrusion_width = 0.45 -fill_angle = 45 -fill_density = 20% -fill_pattern = grid -first_layer_extrusion_width = 0.42 -first_layer_height = 0.2 -first_layer_speed = 20 -gap_fill_speed = 40 -gcode_comments = 0 -infill_every_layers = 1 -infill_extruder = 1 -infill_extrusion_width = 0.45 -infill_first = 0 -infill_only_where_needed = 0 -infill_overlap = 25% -interface_shells = 0 -max_print_speed = 200 -max_volumetric_extrusion_rate_slope_negative = 0 -max_volumetric_extrusion_rate_slope_positive = 0 -max_volumetric_speed = 0 -min_skirt_length = 4 -notes = -overhangs = 0 -only_retract_when_crossing_perimeters = 0 -ooze_prevention = 0 -output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode -perimeters = 2 -perimeter_extruder = 1 -perimeter_extrusion_width = 0.45 -perimeter_speed = 45 -post_process = -print_settings_id = -raft_layers = 0 -resolution = 0 -seam_position = nearest -single_extruder_multi_material_priming = 0 -skirts = 2 -skirt_distance = 5 -skirt_height = 1 -small_perimeter_speed = 25 -solid_infill_below_area = 0 -solid_infill_every_layers = 0 -solid_infill_extruder = 1 -solid_infill_extrusion_width = 0.45 -spiral_vase = 0 -standby_temperature_delta = -5 -support_material = 0 -support_material_extruder = 0 -support_material_extrusion_width = 0.38 -support_material_interface_extruder = 0 -support_material_angle = 0 -support_material_buildplate_only = 0 -support_material_enforce_layers = 0 -support_material_contact_distance = 0.15 -support_material_interface_contact_loops = 0 -support_material_interface_layers = 2 -support_material_interface_spacing = 0.2 -support_material_interface_speed = 100% -support_material_pattern = rectilinear -support_material_spacing = 2 -support_material_speed = 50 -support_material_synchronize_layers = 0 -support_material_threshold = 45 -support_material_with_sheath = 0 -support_material_xy_spacing = 60% -thin_walls = 0 -top_infill_extrusion_width = 0.4 -top_solid_infill_speed = 40 -top_solid_min_thickness = 0.6 -travel_speed = 180 -wipe_tower = 1 -wipe_tower_bridging = 10 -wipe_tower_rotation_angle = 0 -wipe_tower_width = 60 -wipe_tower_x = 170 -wipe_tower_y = 140 -xy_size_compensation = 0 -bridge_acceleration = 1000 -default_acceleration = 1500 -first_layer_acceleration = 1000 -infill_acceleration = 1500 -perimeter_acceleration = 800 - -[print:*0.08mm_akossel*] -inherits = *common_akossel* -bottom_solid_layers = 10 -bridge_acceleration = 300 -bridge_flow_ratio = 0.7 -bridge_speed = 20 -external_perimeter_speed = 20 -first_layer_acceleration = 500 -gap_fill_speed = 20 -infill_acceleration = 800 -infill_speed = 40 -layer_height = 0.08 -max_print_speed = 80 -perimeter_acceleration = 300 -perimeter_speed = 30 -perimeters = 3 -small_perimeter_speed = 20 -solid_infill_speed = 40 -support_material_extrusion_width = 0.3 -support_material_spacing = 1.5 -support_material_speed = 40 -top_solid_infill_speed = 30 -top_solid_layers = 12 - -[print:*0.16mm_akossel*] -inherits = *common_akossel* -bottom_solid_layers = 5 -layer_height = 0.16 -top_solid_layers = 6 - -[print:*0.20mm_akossel*] -inherits = *common_akossel* -bottom_solid_layers = 4 -bridge_flow_ratio = 0.95 -layer_height = 0.20 -top_solid_layers = 5 - -[print:*0.24mm_akossel*] -inherits = *common_akossel* -bottom_solid_layers = 4 -bridge_flow_ratio = 0.95 -layer_height = 0.24 -perimeter_speed = 50 -external_perimeter_speed = 35 -top_solid_layers = 4 -infill_speed = 100 -solid_infill_speed = 100 -top_solid_infill_speed = 40 - -[print:*0.30mm_akossel*] -inherits = *common_akossel* -bottom_solid_layers = 3 -bridge_flow_ratio = 0.95 -external_perimeter_extrusion_width = 0.6 -external_perimeter_speed = 35 -extrusion_width = 0.5 -infill_extrusion_width = 0.5 -infill_speed = 70 -layer_height = 0.30 -perimeter_extrusion_width = 0.5 -perimeter_speed = 50 -small_perimeter_speed = 30 -solid_infill_extrusion_width = 0.5 -solid_infill_speed = 70 -support_material_speed = 45 -top_infill_extrusion_width = 0.45 -top_solid_infill_speed = 50 -top_solid_layers = 3 - -[print:0.08mm ULTRADETAIL @AKOSSEL] -inherits = *0.08mm_akossel* -fill_density = 15% -fill_pattern = gyroid -compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 - -[print:0.16mm QUALITY @AKOSSEL] -inherits = *0.16mm_akossel* -external_perimeter_speed = 25 -fill_density = 15% -fill_pattern = gyroid -infill_speed = 80 -compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 - -[print:0.16mm SPEED @AKOSSEL] -inherits = *0.16mm_akossel* -external_perimeter_speed = 35 -infill_speed = 120 -perimeter_speed = 60 -solid_infill_speed = 120 -top_solid_infill_speed = 50 -compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 - -[print:0.20mm QUALITY @AKOSSEL] -inherits = *0.20mm_akossel* -external_perimeter_speed = 25 -fill_density = 15% -fill_pattern = gyroid -infill_speed = 80 -compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 - -[print:0.20mm SPEED @AKOSSEL] -inherits = *0.20mm_akossel* -external_perimeter_speed = 35 -infill_speed = 120 -perimeter_speed = 60 -solid_infill_speed = 120 -top_solid_infill_speed = 50 -compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 - -[print:0.24mm DRAFT @AKOSSEL] -inherits = *0.24mm_akossel* -compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 - -[print:0.30mm FAST @AKOSSEL] -inherits = *0.30mm_akossel* -compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 - -# Common filament preset -[filament:*common_akossel*] -cooling = 0 -compatible_printers = -extrusion_multiplier = 1 -filament_cost = 0 -filament_density = 0 -filament_diameter = 1.75 -filament_notes = "" -filament_settings_id = "" -filament_soluble = 0 -min_print_speed = 15 -slowdown_below_layer_time = 20 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_Anycubic.*/ and printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ - -[filament:*PLA_akossel*] -inherits = *common_akossel* -bed_temperature = 60 -fan_below_layer_time = 100 -filament_colour = #FF3232 -filament_max_volumetric_speed = 10 -filament_type = PLA -filament_density = 1.24 -filament_cost = 20 -first_layer_bed_temperature = 60 -first_layer_temperature = 200 -fan_always_on = 1 -cooling = 1 -max_fan_speed = 100 -min_fan_speed = 100 -bridge_fan_speed = 100 -disable_fan_first_layers = 1 -temperature = 200 - -[filament:*PET_akossel*] -inherits = *common_akossel* -bed_temperature = 70 -cooling = 1 -disable_fan_first_layers = 3 -fan_below_layer_time = 20 -filament_colour = #FF8000 -filament_max_volumetric_speed = 8 -filament_type = PETG -filament_density = 1.27 -filament_cost = 30 -first_layer_bed_temperature =70 -first_layer_temperature = 240 -fan_always_on = 1 -max_fan_speed = 50 -min_fan_speed = 20 -bridge_fan_speed = 100 -temperature = 240 - -[filament:*ABS_akossel*] -inherits = *common_akossel* -bed_temperature = 100 -cooling = 0 -disable_fan_first_layers = 3 -fan_below_layer_time = 20 -filament_colour = #3A80CA -filament_max_volumetric_speed = 10 -filament_type = ABS -filament_density = 1.04 -filament_cost = 20 -first_layer_bed_temperature = 100 -first_layer_temperature = 245 -fan_always_on = 0 -max_fan_speed = 0 -min_fan_speed = 0 -bridge_fan_speed = 30 -top_fan_speed = 0 -temperature = 245 - -[filament:Generic PLA @AKOSSEL] -inherits = *PLA_akossel* -filament_vendor = Generic - -[filament:Generic PETG @AKOSSEL] -inherits = *PET_akossel* -filament_vendor = Generic - -[filament:Generic ABS @AKOSSEL] -inherits = *ABS_akossel* -filament_vendor = Generic - -# Common printer preset -[printer:*common_akossel*] -printer_technology = FFF -bed_shape = -before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z] -between_objects_gcode = -deretract_speed = 40 -extruder_colour = #FFFF00 -extruder_offset = 0x0 -gcode_flavor = marlin -silent_mode = 0 -remaining_times = 0 -machine_max_acceleration_e = 3000 -machine_max_acceleration_extruding = 1000 -machine_max_acceleration_retracting = 1000 -machine_max_acceleration_x = 1500 -machine_max_acceleration_y = 1500 -machine_max_acceleration_z = 1500 -machine_max_feedrate_e = 60 -machine_max_feedrate_x = 200 -machine_max_feedrate_y = 200 -machine_max_feedrate_z = 200 -machine_max_jerk_e = 5 -machine_max_jerk_x = 5 -machine_max_jerk_y = 5 -machine_max_jerk_z = 5 -machine_min_extruding_rate = 0 -machine_min_travel_rate = 0 -layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z] -max_layer_height = 0.3 -min_layer_height = 0.08 -max_print_height = 300 -nozzle_diameter = 0.4 -printer_notes = -printer_settings_id = -retract_before_travel = 2 -retract_before_wipe = 70% -retract_layer_change = 1 -retract_length = 5 -retract_length_toolchange = 1 -retract_lift = 0 -retract_lift_above = 0 -retract_lift_below = 0 -retract_restart_extra = 0 -retract_restart_extra_toolchange = 0 -retract_speed = 60 -single_extruder_multi_material = 0 -start_gcode = -end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG28 ; home\nM84 ; disable motors -toolchange_gcode = -use_firmware_retraction = 0 -use_relative_e_distances = 1 -use_volumetric_e = 0 -variable_layer_height = 1 -wipe = 1 -z_offset = 0 -default_print_profile = 0.20mm QUALITY @AKOSSEL -default_filament_profile = Generic PLA @AKOSSEL - -[printer:Anycubic Kossel Linear Plus] -inherits = *common_akossel* -printer_model = AKLP -printer_variant = 0.4 -printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Anycubic\nPRINTER_MODEL_AKLP\nPRINTER_HAS_BOWDEN\n -bed_shape = 114.562x10.0229,113.253x19.9695,111.081x29.7642,108.065x39.3323,104.225x48.6011,99.5929x57.5,94.2025x65.9613,88.0951x73.9206,81.3173x81.3173,73.9206x88.0951,65.9613x94.2025,57.5x99.5929,48.6011x104.225,39.3323x108.065,29.7642x111.081,19.9695x113.253,10.0229x114.562,7.04172e-15x115,-10.0229x114.562,-19.9695x113.253,-29.7642x111.081,-39.3323x108.065,-48.6011x104.225,-57.5x99.5929,-65.9613x94.2025,-73.9206x88.0951,-81.3173x81.3173,-88.0951x73.9206,-94.2025x65.9613,-99.5929x57.5,-104.225x48.6011,-108.065x39.3323,-111.081x29.7642,-113.253x19.9695,-114.562x10.0229,-115x1.40834e-14,-114.562x-10.0229,-113.253x-19.9695,-111.081x-29.7642,-108.065x-39.3323,-104.225x-48.6011,-99.5929x-57.5,-94.2025x-65.9613,-88.0951x-73.9206,-81.3173x-81.3173,-73.9206x-88.0951,-65.9613x-94.2025,-57.5x-99.5929,-48.6011x-104.225,-39.3323x-108.065,-29.7642x-111.081,-19.9695x-113.253,-10.0229x-114.562,-2.11252e-14x-115,10.0229x-114.562,19.9695x-113.253,29.7642x-111.081,39.3323x-108.065,48.6011x-104.225,57.5x-99.5929,65.9613x-94.2025,73.9206x-88.0951,81.3173x-81.3173,88.0951x-73.9206,94.2025x-65.9613,99.5929x-57.5,104.225x-48.6011,108.065x-39.3323,111.081x-29.7642,113.253x-19.9695,114.562x-10.0229,115x-2.81669e-14 -start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home\nG1 X-54.672 Y95.203 Z0.3 F9000\nG92 E0.0\nG1 F1000\nG1 X-52.931 Y96.185 E0.300\nG1 X-50.985 Y97.231 E0.331\nG1 X-49.018 Y98.238 E0.331\nG1 X-47.032 Y99.205 E0.331\nG1 X-45.026 Y100.132 E0.331\nG1 X-43.003 Y101.019 E0.331\nG1 X-40.961 Y101.864 E0.331\nG1 X-38.904 Y102.668 E0.331\nG1 X-36.83 Y103.431 E0.331\nG1 X-34.742 Y104.152 E0.331\nG1 X-32.639 Y104.83 E0.331\nG1 X-30.523 Y105.466 E0.331\nG1 X-28.395 Y106.06 E0.331\nG1 X-26.255 Y106.61 E0.331\nG1 X-24.105 Y107.117 E0.331\nG1 X-21.945 Y107.581 E0.331\nG1 X-19.776 Y108.001 E0.331\nG1 X-17.599 Y108.377 E0.331\nG1 X-15.415 Y108.71 E0.331\nG1 X-13.224 Y108.998 E0.331\nG1 X-11.028 Y109.242 E0.331\nG1 X-8.828 Y109.442 E0.331\nG1 X-6.624 Y109.598 E0.331\nG1 X-4.418 Y109.709 E0.331\nG1 X-2.209 Y109.776 E0.332\nG1 X0 Y109.798 E0.331\nG1 X2.209 Y109.776 E0.690\nG1 X4.418 Y109.709 E0.691\nG1 X6.624 Y109.598 E0.690\nG1 X8.828 Y109.442 E0.690\nG1 X11.028 Y109.242 E0.690\nG1 X13.224 Y108.998 E0.690\nG1 X15.415 Y108.71 E0.691\nG1 X17.599 Y108.377 E0.690\nG1 X19.776 Y108.001 E0.690\nG1 X21.945 Y107.581 E0.690\nG1 X24.105 Y107.117 E0.690\nG1 X26.255 Y106.61 E0.690\nG1 X28.395 Y106.06 E0.690\nG1 X30.523 Y105.466 E0.690\nG1 X32.639 Y104.83 E0.690\nG1 X34.742 Y104.152 E0.690\nG1 X36.83 Y103.431 E0.690\nG1 X38.904 Y102.668 E0.691\nG1 X40.961 Y101.864 E0.690\nG1 X43.003 Y101.019 E0.691\nG1 X45.026 Y100.132 E0.690\nG1 X47.032 Y99.205 E0.691\nG1 X49.018 Y98.238 E0.690\nG1 X50.985 Y97.231 E0.691\nG1 X52.931 Y96.185 E0.690\nG1 X54.672 Y95.203 E0.625\nG92 E0.0\nG1 E-5 F3000 ; retract 5mm\nG1 X52.931 Y96.185 F1000 ; wipe\nG1 X50.985 Y97.231 F1000 ; wipe\nG1 X49.018 Y98.238 F1000 ; wipe\nG1 X0 Y109.798 F1000\nG1 E4.8 F1500; de-retract\nG92 E0.0 ; reset extrusion distance\nM221 S{if layer_height<0.075}100{else}95{endif} - -[printer:Anycubic Kossel Pulley (Linear)] -inherits = *common_akossel* -printer_model = AK -printer_variant = 0.4 -printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Anycubic\nPRINTER_MODEL_AK\nPRINTER_HAS_BOWDEN\n -bed_shape = 89.6575x7.84402,88.6327x15.6283,86.9333x23.2937,84.5723x30.7818,81.5677x38.0356,77.9423x45,73.7237x51.6219,68.944x57.8509,63.6396x63.6396,57.8509x68.944,51.6219x73.7237,45x77.9423,38.0356x81.5677,30.7818x84.5723,23.2937x86.9333,15.6283x88.6327,7.84402x89.6575,5.51091e-15x90,-7.84402x89.6575,-15.6283x88.6327,-23.2937x86.9333,-30.7818x84.5723,-38.0356x81.5677,-45x77.9423,-51.6219x73.7237,-57.8509x68.944,-63.6396x63.6396,-68.944x57.8509,-73.7237x51.6219,-77.9423x45,-81.5677x38.0356,-84.5723x30.7818,-86.9333x23.2937,-88.6327x15.6283,-89.6575x7.84402,-90x1.10218e-14,-89.6575x-7.84402,-88.6327x-15.6283,-86.9333x-23.2937,-84.5723x-30.7818,-81.5677x-38.0356,-77.9423x-45,-73.7237x-51.6219,-68.944x-57.8509,-63.6396x-63.6396,-57.8509x-68.944,-51.6219x-73.7237,-45x-77.9423,-38.0356x-81.5677,-30.7818x-84.5723,-23.2937x-86.9333,-15.6283x-88.6327,-7.84402x-89.6575,-1.65327e-14x-90,7.84402x-89.6575,15.6283x-88.6327,23.2937x-86.9333,30.7818x-84.5723,38.0356x-81.5677,45x-77.9423,51.6219x-73.7237,57.8509x-68.944,63.6396x-63.6396,68.944x-57.8509,73.7237x-51.6219,77.9423x-45,81.5677x-38.0356,84.5723x-30.7818,86.9333x-23.2937,88.6327x-15.6283,89.6575x-7.84402,90x-2.20436e-14 -start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home\nG1 X-39.672 Y69.712 Z0.3 F9000\nG92 E0.0\nG1 F1000\nG1 X-38.457 Y70.397 E0.209\nG1 X-37.043 Y71.157 E0.241\nG1 X-35.614 Y71.889 E0.241\nG1 X-34.171 Y72.591 E0.241\nG1 X-32.714 Y73.265 E0.241\nG1 X-31.244 Y73.909 E0.241\nG1 X-29.761 Y74.523 E0.241\nG1 X-28.266 Y75.108 E0.241\nG1 X-26.759 Y75.662 E0.241\nG1 X-25.242 Y76.185 E0.241\nG1 X-23.714 Y76.678 E0.241\nG1 X-22.177 Y77.14 E0.241\nG1 X-20.63 Y77.571 E0.241\nG1 X-19.076 Y77.971 E0.241\nG1 X-17.514 Y78.34 E0.241\nG1 X-15.944 Y78.677 E0.241\nG1 X-14.368 Y78.982 E0.241\nG1 X-12.786 Y79.255 E0.241\nG1 X-11.199 Y79.497 E0.241\nG1 X-9.608 Y79.706 E0.241\nG1 X-8.013 Y79.884 E0.241\nG1 X-6.414 Y80.029 E0.241\nG1 X-4.813 Y80.142 E0.241\nG1 X-3.21 Y80.223 E0.241\nG1 X-1.605 Y80.271 E0.241\nG1 X0 Y80.287 E0.241\nG1 X1.605 Y80.271 E0.502\nG1 X3.21 Y80.223 E0.502\nG1 X4.813 Y80.142 E0.502\nG1 X6.414 Y80.029 E0.502\nG1 X8.013 Y79.884 E0.502\nG1 X9.608 Y79.706 E0.502\nG1 X11.199 Y79.497 E0.501\nG1 X12.786 Y79.255 E0.502\nG1 X14.368 Y78.982 E0.502\nG1 X15.944 Y78.677 E0.502\nG1 X17.514 Y78.34 E0.502\nG1 X19.076 Y77.971 E0.502\nG1 X20.63 Y77.571 E0.501\nG1 X22.177 Y77.14 E0.502\nG1 X23.714 Y76.678 E0.502\nG1 X25.242 Y76.185 E0.502\nG1 X26.759 Y75.662 E0.501\nG1 X28.266 Y75.108 E0.502\nG1 X29.761 Y74.523 E0.502\nG1 X31.244 Y73.909 E0.502\nG1 X32.714 Y73.265 E0.502\nG1 X34.171 Y72.591 E0.502\nG1 X35.614 Y71.889 E0.501\nG1 X37.043 Y71.157 E0.502\nG1 X38.457 Y70.397 E0.502\nG1 X39.672 Y69.712 E0.436\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif} - -## Anycubic MEGA ZERO -## Author: https://github.com/kad -## Initial PR: https://github.com/prusa3d/PrusaSlicer/pull/4057 - -# Common print preset -[print:*common_mega0*] -avoid_crossing_perimeters = 1 -bridge_angle = 0 -bridge_flow_ratio = 0.7 -bridge_speed = 25 -brim_width = 0 -clip_multipart_objects = 1 -compatible_printers = -complete_objects = 0 -dont_support_bridges = 1 -elefant_foot_compensation = 0 -ensure_vertical_shell_thickness = 1 -external_fill_pattern = rectilinear -external_perimeters_first = 0 -external_perimeter_extrusion_width = 0.45 -extra_perimeters = 0 -extruder_clearance_height = 25 -extruder_clearance_radius = 45 -extrusion_width = 0.45 -fill_angle = 45 -fill_density = 20% -fill_pattern = grid -first_layer_extrusion_width = 0.42 -first_layer_height = 0.2 -first_layer_speed = 20 -gap_fill_speed = 30 -gcode_comments = 0 -infill_every_layers = 1 -infill_extruder = 1 -infill_extrusion_width = 0.45 -infill_first = 0 -infill_only_where_needed = 0 -infill_overlap = 25% -interface_shells = 0 -max_print_speed = 100 -max_volumetric_extrusion_rate_slope_negative = 0 -max_volumetric_extrusion_rate_slope_positive = 0 -max_volumetric_speed = 0 -min_skirt_length = 4 -notes = -overhangs = 1 -only_retract_when_crossing_perimeters = 0 -ooze_prevention = 0 -output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode -perimeters = 2 -perimeter_extruder = 1 -perimeter_extrusion_width = 0.45 -post_process = -print_settings_id = -raft_layers = 0 -resolution = 0 -seam_position = nearest -single_extruder_multi_material_priming = 1 -skirts = 2 -skirt_distance = 2 -skirt_height = 2 -small_perimeter_speed = 25 -solid_infill_below_area = 0 -solid_infill_every_layers = 0 -solid_infill_extruder = 1 -solid_infill_extrusion_width = 0.45 -spiral_vase = 0 -standby_temperature_delta = -5 -support_material = 0 -support_material_extruder = 0 -support_material_extrusion_width = 0.4 -support_material_interface_extruder = 0 -support_material_angle = 0 -support_material_buildplate_only = 0 -support_material_enforce_layers = 0 -support_material_contact_distance = 0.15 -support_material_interface_contact_loops = 0 -support_material_interface_layers = 2 -support_material_interface_spacing = 0.2 -support_material_interface_speed = 100% -support_material_pattern = rectilinear -support_material_spacing = 2 -support_material_speed = 40 -support_material_synchronize_layers = 0 -support_material_threshold = 45 -support_material_with_sheath = 0 -support_material_xy_spacing = 60% -thin_walls = 0 -top_infill_extrusion_width = 0.45 -top_solid_infill_speed = 40 -travel_speed = 100 -wipe_tower = 0 -wipe_tower_bridging = 10 -wipe_tower_rotation_angle = 0 -wipe_tower_width = 60 -wipe_tower_x = 170 -wipe_tower_y = 140 -xy_size_compensation = 0 - -[print:*0.10mm_mega0*] -inherits = *common_mega0* -perimeter_speed = 40 -external_perimeter_speed = 25 -infill_speed = 50 -solid_infill_speed = 40 -layer_height = 0.10 -perimeters = 3 -top_infill_extrusion_width = 0.4 -bottom_solid_layers = 6 -top_solid_layers = 7 - -[print:*0.20mm_mega0*] -inherits = *common_mega0* -perimeter_speed = 40 -external_perimeter_speed = 25 -infill_speed = 50 -solid_infill_speed = 40 -layer_height = 0.20 -top_infill_extrusion_width = 0.4 -bottom_solid_layers = 4 -top_solid_layers = 5 - -[print:*0.30mm_mega0*] -inherits = *common_mega0* -perimeter_speed = 40 -external_perimeter_speed = 25 -infill_speed = 50 -solid_infill_speed = 40 -layer_height = 0.24 -top_infill_extrusion_width = 0.45 -bottom_solid_layers = 3 -top_solid_layers = 4 - -[print:0.10mm DETAIL @MEGA0] -inherits = *0.10mm_mega0* -travel_speed = 120 -infill_speed = 50 -solid_infill_speed = 40 -top_solid_infill_speed = 30 -support_material_extrusion_width = 0.38 -compatible_printers_condition = printer_model=="MEGA0" and nozzle_diameter[0]==0.4 - -[print:0.20mm NORMAL @MEGA0] -inherits = *0.20mm_mega0* -travel_speed = 120 -infill_speed = 50 -solid_infill_speed = 40 -top_solid_infill_speed = 30 -support_material_extrusion_width = 0.38 -compatible_printers_condition = printer_model=="MEGA0" and nozzle_diameter[0]==0.4 - -[print:0.30mm DRAFT @MEGA0] -inherits = *0.30mm_mega0* -travel_speed = 120 -infill_speed = 50 -solid_infill_speed = 40 -top_solid_infill_speed = 30 -support_material_extrusion_width = 0.38 -compatible_printers_condition = printer_model=="MEGA0" and nozzle_diameter[0]==0.4 - -# Common filament preset -[filament:*common_mega0*] -cooling = 0 -compatible_printers = -extrusion_multiplier = 1 -filament_cost = 0 -filament_density = 0 -filament_diameter = 1.75 -filament_notes = "" -filament_settings_id = "" -filament_soluble = 0 -min_print_speed = 15 -slowdown_below_layer_time = 20 -compatible_printers_condition = printer_model=="MEGA0" - -[filament:*PLA_mega0*] -inherits = *common_mega0* -bed_temperature = 40 -fan_below_layer_time = 100 -filament_colour = #FF3232 -filament_max_volumetric_speed = 15 -filament_type = PLA -filament_density = 1.24 -filament_cost = 20 -first_layer_bed_temperature = 40 -first_layer_temperature = 215 -fan_always_on = 1 -cooling = 1 -max_fan_speed = 100 -min_fan_speed = 100 -bridge_fan_speed = 100 -disable_fan_first_layers = 1 -temperature = 210 - -[filament:*PET_mega0*] -inherits = *common_mega0* -bed_temperature = 70 -cooling = 1 -disable_fan_first_layers = 3 -fan_below_layer_time = 20 -filament_colour = #FF8000 -filament_max_volumetric_speed = 8 -filament_type = PETG -filament_density = 1.27 -filament_cost = 30 -first_layer_bed_temperature =70 -first_layer_temperature = 240 -fan_always_on = 1 -max_fan_speed = 50 -min_fan_speed = 20 -bridge_fan_speed = 100 -temperature = 240 - -[filament:*ABS_mega0*] -inherits = *common_mega0* -bed_temperature = 100 -cooling = 0 -disable_fan_first_layers = 3 -fan_below_layer_time = 20 -filament_colour = #3A80CA -filament_max_volumetric_speed = 11 -filament_type = ABS -filament_density = 1.04 -filament_cost = 20 -first_layer_bed_temperature = 100 -first_layer_temperature = 245 -fan_always_on = 0 -max_fan_speed = 0 -min_fan_speed = 0 -bridge_fan_speed = 30 -top_fan_speed = 0 -temperature = 245 - -[filament:Generic PLA @MEGA0] -inherits = *PLA_mega0* -filament_vendor = Generic - -[filament:Generic PETG @MEGA0] -inherits = *PET_mega0* -filament_vendor = Generic - -[filament:Generic ABS @MEGA0] -inherits = *ABS_mega0* -filament_vendor = Generic - -[filament:Anycubic PLA @MEGA0] -inherits = *PLA_mega0* -filament_vendor = Anycubic -temperature = 190 -first_layer_temperature = 195 -filament_cost = 24.99 -filament_density = 1.25 - -[filament:Prusament PLA @MEGA0] -inherits = *PLA_mega0* -filament_vendor = Prusa Polymers -temperature = 215 -bed_temperature = 40 -first_layer_temperature = 215 -filament_cost = 24.99 -filament_density = 1.24 - -[filament:Prusament PETG @MEGA0] -inherits = *PET_mega0* -filament_vendor = Prusa Polymers -temperature = 245 -bed_temperature = 70 -first_layer_temperature = 245 -filament_cost = 24.99 -filament_density = 1.27 - -# Common printer preset -[printer:*common_mega0*] -printer_technology = FFF -bed_shape = 0x0,220x0,220x220,0x220 -before_layer_gcode = ; BEFORE_LAYER_CHANGE [layer_num] @ [layer_z]mm -between_objects_gcode = -deretract_speed = 0 -extruder_colour = #FFFF00 -extruder_offset = 0x0 -gcode_flavor = marlin -silent_mode = 0 -remaining_times = 0 -machine_max_acceleration_e = 10000 -machine_max_acceleration_extruding = 2000 -machine_max_acceleration_retracting = 1500 -machine_max_acceleration_x = 3000 -machine_max_acceleration_y = 3000 -machine_max_acceleration_z = 500 -machine_max_feedrate_e = 120 -machine_max_feedrate_x = 500 -machine_max_feedrate_y = 500 -machine_max_feedrate_z = 12 -machine_max_jerk_e = 2.5 -machine_max_jerk_x = 20 -machine_max_jerk_y = 20 -machine_max_jerk_z = 0.4 -machine_min_extruding_rate = 0 -machine_min_travel_rate = 0 -layer_gcode = ; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm -max_layer_height = 0.3 -min_layer_height = 0.1 -max_print_height = 200 -nozzle_diameter = 0.4 -printer_notes = -printer_settings_id = -retract_before_travel = 1 -retract_before_wipe = 0% -retract_layer_change = 1 -retract_length = 6 -retract_length_toolchange = 1 -retract_lift = 0 -retract_lift_above = 0 -retract_lift_below = 0 -retract_restart_extra = 0 -retract_restart_extra_toolchange = 0 -retract_speed = 30 -single_extruder_multi_material = 0 -start_gcode = G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nM117 Homing X/Y ...\nG28 X0 Y0 ;move X/Y to min endstops\nM117 Homing Z ...\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F240 ;move the platform down 15mm\nM117 Heating ...\nM104 S[first_layer_temperature]\n ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature]\n ; wait for extruder temp\nM117 Start cleaning ...\nG92 E0 ;zero the extruded length\nG1 F200 E10 ;extrude 10mm of feed stock\nG92 E0 ;zero the extruded length again\nM117 Intro line ...\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z[first_layer_height] F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z[first_layer_height] F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z[first_layer_height] F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3[first_layer_height] F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 E-1 F500 ; Retract filiment by 1 mm\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F240 ; Move over to prevent blob squish\nG92 E0 ; Reset Extruder\nM117 Printing...\n -end_gcode = M117 Cooling down...\nM104 S0 ; turn off extruder\nM140 S0 ; turn off heatbed\nM107 ; Fan off\nM84 ; disable motors\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F240 ;move Z up a bit and retract filament even more\nG28 X0 ;move X to min endstops, so the head is out of the way\nG90 ;Absolute positionning\nG1 Y200 F3000 ;Present print\nM84 ;steppers off\nM300 P300 S4000\nM117 Finished.\n -toolchange_gcode = -use_firmware_retraction = 0 -use_relative_e_distances = 1 -use_volumetric_e = 0 -variable_layer_height = 1 -wipe = 1 -z_offset = 0 -printer_model = -default_print_profile = -default_filament_profile = - -[printer:Anycubic Mega Zero] -inherits = *common_mega0* -printer_model = MEGA0 -printer_variant = 0.4 -max_layer_height = 0.3 -min_layer_height = 0.1 -printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_MEGA0 -bed_shape = 0x0,220x0,220x220,0x220 -max_print_height = 250 -machine_max_acceleration_e = 5000 -machine_max_acceleration_extruding = 500 -machine_max_acceleration_retracting = 500 -machine_max_acceleration_x = 500 -machine_max_acceleration_y = 500 -machine_max_acceleration_z = 100 -machine_max_feedrate_e = 25 -machine_max_feedrate_x = 500 -machine_max_feedrate_y = 500 -machine_max_feedrate_z = 5 -machine_max_jerk_e = 5 -machine_max_jerk_x = 10 -machine_max_jerk_y = 10 -machine_max_jerk_z = 0.4 -machine_min_extruding_rate = 0 -machine_min_travel_rate = 0 -nozzle_diameter = 0.4 -retract_before_travel = 2 -retract_layer_change = 0 -retract_length = 7 -retract_speed = 30 -retract_lift = 0.2 -deretract_speed = 30 -retract_before_wipe = 70% -default_print_profile = 0.20mm NORMAL @MEGA0 -default_filament_profile = Anycubic PLA @MEGA0 -start_gcode = G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nM117 Homing X/Y ...\nG28 X0 Y0 ;move X/Y to min endstops\nM117 Homing Z ...\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F240 ;move the platform down 15mm\nM117 Heating ...\nM104 S[first_layer_temperature]\n ; set extruder temp\nM109 S[first_layer_temperature]\n ; wait for extruder temp\nM117 Start cleaning ...\nG92 E0 ;zero the extruded length\nG1 F200 E10 ;extrude 10mm of feed stock\nG92 E0 ;zero the extruded length again\nM117 Intro line ...\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z[first_layer_height] F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z[first_layer_height] F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z[first_layer_height] F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3[first_layer_height] F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 E-1 F500 ; Retract filiment by 1 mm\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F240 ; Move over to prevent blob squish\nG92 E0 ; Reset Extruder\nM117 Printing...\n -end_gcode = M117 Cooling down...\nM104 S0 ; turn off extruder\nM107 ; Fan off\nM84 ; disable motors\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F240 ;move Z up a bit and retract filament even more\nG28 X0 ;move X to min endstops, so the head is out of the way\nG90 ;Absolute positionning\nG1 Y200 F3000 ;Present print\nM84 ;steppers off\nM300 P300 S4000\nM117 Finished.\n - -## Anycubic i3 Mega and i3 Mega S -## Author: https://github.com/Igami -## Initial PR: https://github.com/prusa3d/PrusaSlicer/pull/4619 - -[print:*common_mega*] -bottom_solid_min_thickness = 0.5 -bridge_acceleration = 1800 -bridge_flow_ratio = 0.8 -bridge_speed = 30 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/ and nozzle_diameter[0]==0.4 -default_acceleration = 1800 -ensure_vertical_shell_thickness = 1 -external_perimeter_extrusion_width = 0.6 -external_perimeter_speed = 40 -extruder_clearance_height = 35 -extruder_clearance_radius = 60 -extrusion_width = 0.45 -fill_density = 15% -fill_pattern = gyroid -first_layer_acceleration = 1800 -first_layer_extrusion_width = 0.42 -first_layer_height = 0.2 -gap_fill_speed = 40 -gcode_comments = 1 -infill_acceleration = 1800 -infill_extrusion_width = 0.45 -infill_speed = 60 -only_retract_when_crossing_perimeters = 0 -output_filename_format = {input_filename_base}_{nozzle_diameter[0]}n_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode -perimeter_acceleration = 1800 -perimeter_extrusion_width = 0.45 -perimeters = 2 -seam_position = nearest -skirts = 0 -slice_closing_radius = 0.05 -small_perimeter_speed = 30 -solid_infill_below_area = 0 -solid_infill_speed = 60 -support_material_buildplate_only = 1 -support_material_contact_distance = 0.1 -support_material_extrusion_width = 0.35 -support_material_interface_layers = 2 -support_material_interface_spacing = 0.2 -support_material_spacing = 2 -support_material_threshold = 55 -support_material_with_sheath = 0 -thin_walls = 0 -top_infill_extrusion_width = 0.4 -top_solid_infill_speed = 40 -top_solid_min_thickness = 0.6 -travel_speed = 180 - -[print:*supported_mega*] -raft_layers = 2 -support_material = 1 - -# XXXXXXXXXXXXXXXXXXXX -# XXX--- 0.15mm ---XXX -# XXXXXXXXXXXXXXXXXXXX - -[print:*0.15mm_mega*] -inherits = *common_mega* -bottom_solid_layers = 5 -layer_height = 0.15 -top_solid_layers = 7 - -[print:0.15mm QUALITY @MEGA] -inherits = *0.15mm_mega* - -[print:0.15mm QUALITY SUPPORTED @MEGA] -inherits = *0.15mm_mega*;*supported_mega* - -# XXXXXXXXXXXXXXXXXXXX -# XXX--- 0.20mm ---XXX -# XXXXXXXXXXXXXXXXXXXX - -[print:*0.20mm_mega*] -inherits = *common_mega* -bottom_solid_layers = 4 -layer_height = 0.2 -top_solid_layers = 5 - -[print:0.20mm QUALITY @MEGA] -inherits = *0.20mm_mega* - -[print:0.20mm QUALITY SUPPORTED @MEGA] -inherits = *0.20mm_mega*;*supported_mega* - -# XXXXXXXXXXXXXXXXXXXX -# XXX--- 0.30mm ---XXX -# XXXXXXXXXXXXXXXXXXXX - -[print:*0.30mm_mega*] -inherits = *common_mega* -bottom_solid_layers = 4 -bridge_flow_ratio = 0.95 -top_solid_layers = 4 - -[print:0.30mm DRAFT @MEGA] -inherits = *0.30mm_mega* - -[print:0.30mm DRAFT SUPPORTED @MEGA] -inherits = *0.30mm_mega*;*supported_mega* - -# XXXXXXXXXXXXXXXXXXXXXX -# XXX--- filament ---XXX -# XXXXXXXXXXXXXXXXXXXXXX - -[filament:*common_mega*] -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/ -end_filament_gcode = "; Filament-specific end gcode" -fan_always_on = 1 -fan_below_layer_time = 100 -filament_colour = #FF8000 -filament_vendor = Generic -min_print_speed = 15 -slowdown_below_layer_time = 20 - -[filament:*ABS_mega*] - inherits = *common_mega* - bed_temperature = 110 - bridge_fan_speed = 25 - cooling = 0 - fan_always_on = 0 - fan_below_layer_time = 20 - filament_colour = #FFF2EC - filament_cost = 27.82 - filament_density = 1.04 - filament_max_volumetric_speed = 11 - filament_ramming_parameters = "120 100 5.70968 6.03226 7 8.25806 9 9.19355 9.3871 9.77419 10.129 10.3226 10.4516 10.5161| 0.05 5.69677 0.45 6.15484 0.95 8.76774 1.45 9.20323 1.95 9.95806 2.45 10.3871 2.95 10.5677 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" - filament_type = ABS - first_layer_bed_temperature = 100 - first_layer_temperature = 255 - max_fan_speed = 30 - min_fan_speed = 20 - temperature = 255 - -[filament:Generic ABS @MEGA] -inherits = *ABS_mega* - -[filament:*FLEX_mega*] -inherits = *common_mega* -bed_temperature = 50 -bridge_fan_speed = 80 -cooling = 0 -extrusion_multiplier = 1.15 -fan_always_on = 0 -filament_colour = #008000 -filament_cost = 82.00 -filament_density = 1.22 -filament_deretract_speed = 25 -filament_max_volumetric_speed = 1.2 -filament_retract_length = 0.8 -filament_type = FLEX -first_layer_bed_temperature = 50 -first_layer_temperature = 240 -max_fan_speed = 90 -min_fan_speed = 70 -temperature = 240 - -[filament:Generic FLEX @MEGA] -inherits = *FLEX_mega* - -[filament:*PETG_mega*] -inherits = *common_mega* -bed_temperature = 90 -bridge_fan_speed = 50 -fan_below_layer_time = 20 -filament_cost = 27.82 -filament_density = 1.27 -filament_max_volumetric_speed = 8 -filament_type = PETG -first_layer_bed_temperature = 85 -first_layer_temperature = 230 -max_fan_speed = 50 -min_fan_speed = 30 -temperature = 240 - -[filament:Generic PETG @MEGA] -inherits = *PETG_mega* - -[filament:*PLA_mega*] -inherits = *common_mega* -bed_temperature = 60 -disable_fan_first_layers = 1 -filament_cost = 25.40 -filament_density = 1.24 -filament_max_volumetric_speed = 10 -first_layer_bed_temperature = 60 -first_layer_temperature = 215 -min_fan_speed = 100 -temperature = 210 - -[filament:Generic PLA @MEGA] -inherits = *PLA_mega* - -[filament:*3Dmensionals PLA_mega*] -inherits = *PLA_mega* -filament_vendor = 3Dmensionals -filament_cost = 23.35 - -[filament:3Dmensionals PLA @MEGA] -inherits = *3Dmensionals PLA_mega* - -[filament:3Dmensionals PLA blue @MEGA] -inherits = *3Dmensionals PLA_mega* -filament_colour = #4155FB - -[filament:3Dmensionals PLA silver @MEGA] -inherits = *3Dmensionals PLA_mega* -filament_colour = #B9B5B4 - -[filament:3Dmensionals PLA white @MEGA] -inherits = *3Dmensionals PLA_mega* -filament_colour = #FEFEFD - -[filament:*Verbatim PLA_mega*] -inherits = *PLA_mega* -filament_vendor = Verbatim -filament_cost = 23.88 - -[filament:Verbatim PLA @MEGA] -inherits = *Verbatim PLA_mega* - -[filament:Verbatim PLA black @MEGA] -inherits = *Verbatim PLA_mega* -filament_colour = #333333 - -[printer:*common_mega*] -printer_technology = FFF -bed_shape = 0x0,210x0,210x210,0x210 -before_layer_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z] -default_filament_profile = Generic PLA @MEGA -default_print_profile = 0.15mm QUALITY @MEGA -deretract_speed = 50 -end_gcode = G4 ; wait\nG92 E0\nG1{if max_layer_z < max_print_height} Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; move print head up\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y200 F3000 ; home X axis\nM84 ; disable motors -extruder_colour = #808080 -gcode_flavor = marlin -layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z] -max_layer_height = 0.36 -max_print_height = 205 -retract_before_wipe = 60% -retract_layer_change = 1 -retract_length = 6 -retract_lift = 0.075 -retract_lift_below = 204 -silent_mode = 0 -start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting]\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all\nG1 Y0 Z1 F100 ; move print head up\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG92 E0\nG1 Z0.2 F360\nG1 X60 E9 F700 ; intro line\nG1 X100 E12.5 F700 ; intro line\nG92 E0 -use_relative_e_distances = 1 -wipe = 1 -machine_max_acceleration_e = 5000 -machine_max_acceleration_extruding = 1250 -machine_max_acceleration_retracting = 1250 -machine_max_acceleration_x = 1000 -machine_max_acceleration_y = 1000 -machine_max_acceleration_z = 200 -machine_max_feedrate_e = 60 -machine_max_feedrate_x = 200 -machine_max_feedrate_y = 200 -machine_max_feedrate_z = 6 -machine_max_jerk_e = 5 -machine_max_jerk_x = 8 -machine_max_jerk_y = 8 -machine_max_jerk_z = 0.4 - -[printer:Anycubic i3 Mega] -inherits = *common_mega* -printer_model = I3MEGA -printer_variant = 0.4 -printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_I3_MEGA\nPRINTER_HAS_BOWDEN - -[printer:Anycubic i3 Mega S] -inherits = *common_mega* -printer_model = I3MEGAS -printer_variant = 0.4 -printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_I3_MEGA_S\nPRINTER_HAS_BOWDEN -machine_max_feedrate_z = 8 - - -## Anycubic PREDATOR -## Author: https://github.com/tillverka3d -## Initial PR: https://github.com/prusa3d/PrusaSlicer/pull/4960 - -######################################### -###### begin common print presets ####### -######################################### - -# Common print preset -[print:*common predator*] -spiral_vase = 0 -top_solid_min_thickness = 0.8 -bottom_solid_min_thickness = 0.6 -extra_perimeters = 0 -ensure_vertical_shell_thickness = 1 -avoid_crossing_perimeters = 0 -thin_walls = 0 -overhangs = 1 -seam_position = nearest -external_perimeters_first = 0 -fill_density = 20% -external_fill_pattern = rectilinear -infill_every_layers = 1 -infill_only_where_needed = 0 -solid_infill_every_layers = 0 -fill_angle = 45 -solid_infill_below_area = 20 -bridge_angle = 0 -only_retract_when_crossing_perimeters = 0 -infill_first = 0 -skirts = 1 -skirt_distance = 4 -skirt_height = 1 -min_skirt_length = 8 -brim_width = 0 -support_material = 0 -support_material_auto = 1 -support_material_threshold = 50 -support_material_enforce_layers = 0 -raft_layers = 0 -support_material_contact_distance = 0.1 -support_material_pattern = rectilinear -support_material_with_sheath = 0 -support_material_spacing = 2 -support_material_angle = 0 -support_material_interface_layers = 2 -support_material_interface_spacing = 0.2 -support_material_interface_contact_loops = 0 -support_material_buildplate_only = 0 -support_material_xy_spacing = 60% -dont_support_bridges = 1 -support_material_synchronize_layers = 0 -travel_speed = 94 -first_layer_speed = 15 -perimeter_acceleration = 0 -infill_acceleration = 0 -bridge_acceleration = 0 -first_layer_acceleration = 0 -default_acceleration = 0 -max_volumetric_speed = 15 -perimeter_extruder = 1 -infill_extruder = 1 -solid_infill_extruder = 1 -support_material_extruder = 0 -support_material_interface_extruder = 0 -ooze_prevention = 0 -standby_temperature_delta = -5 -wipe_tower = 0 -wipe_tower_x = 170 -wipe_tower_y = 140 -wipe_tower_width = 60 -wipe_tower_rotation_angle = 0 -wipe_tower_bridging = 10 -interface_shells = 0 -bridge_flow_ratio = 0.8 -resolution = 0 -xy_size_compensation = 0 -elefant_foot_compensation = 0.2 -clip_multipart_objects = 1 -complete_objects = 0 -extruder_clearance_radius = 45 -extruder_clearance_height = 25 -gcode_comments = 0 -output_filename_format = {input_filename_base}.gcode -post_process = -notes = -max_volumetric_extrusion_rate_slope_negative = 0 -max_volumetric_extrusion_rate_slope_positive = 0 -print_settings_id = - -# Common print preset -[print:*common predator 0.4 nozzle*] -inherits = *common predator* -first_layer_height = 0.16 -infill_overlap = 25% -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_PREDATOR.*/ and printer_notes=~/.*PRINTER_HAS_BOWDEN.*/ and nozzle_diameter[0]==0.4 - -# Common print preset -[print:*common predator 0.6 nozzle*] -inherits = *common predator* -first_layer_height = 0.24 -infill_overlap = 27% -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_PREDATOR.*/ and printer_notes=~/.*PRINTER_HAS_BOWDEN.*/ and nozzle_diameter[0]==0.6 - -# Common print preset -[print:*common predator 0.8 nozzle*] -inherits = *common predator* -first_layer_height = 0.32 -infill_overlap = 30% -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_PREDATOR.*/ and printer_notes=~/.*PRINTER_HAS_BOWDEN.*/ and nozzle_diameter[0]==0.8 - -# Common print preset -[print:*common predator quality*] -perimeter_speed = 50 -small_perimeter_speed = 15 -external_perimeter_speed = 70% -infill_speed = 65 -solid_infill_speed = 85% -top_solid_infill_speed = 85% -support_material_speed = 30 -support_material_interface_speed = 85% -bridge_speed = 30 -gap_fill_speed = 40 -ironing_speed = 15 - -# Common print preset -[print:*common predator speed*] -perimeter_speed = 70 -small_perimeter_speed = 15 -external_perimeter_speed = 70% -infill_speed = 85 -solid_infill_speed = 85% -top_solid_infill_speed = 85% -support_material_speed = 30 -support_material_interface_speed = 85% -bridge_speed = 30 -gap_fill_speed = 40 -ironing_speed = 15 - -# Common print preset -[print:*common predator 0.4 nozzle detailed*] -inherits = *common predator 0.4 nozzle* -extrusion_width = 0.42 -first_layer_extrusion_width = 0.41 -perimeter_extrusion_width = 0.42 -external_perimeter_extrusion_width = 0.42 -infill_extrusion_width = 0.4 -solid_infill_extrusion_width = 0.4 -top_infill_extrusion_width = 0.4 -support_material_extrusion_width = 0.38 - -# Common print preset -[print:*common predator 0.4 nozzle coarse*] -inherits = *common predator 0.4 nozzle* -extrusion_width = 0.44 -first_layer_extrusion_width = 0.42 -perimeter_extrusion_width = 0.5 -external_perimeter_extrusion_width = 0.5 -infill_extrusion_width = 0.5 -solid_infill_extrusion_width = 0.5 -top_infill_extrusion_width = 0.4 -support_material_extrusion_width = 0.38 - -# Common print preset -[print:*common predator 0.6 nozzle detailed*] -inherits = *common predator 0.6 nozzle* -extrusion_width = 0.64 -first_layer_extrusion_width = 0.62 -perimeter_extrusion_width = 0.64 -external_perimeter_extrusion_width = 0.64 -infill_extrusion_width = 0.6 -solid_infill_extrusion_width = 0.6 -top_infill_extrusion_width = 0.6 -support_material_extrusion_width = 0.56 - -# Common print preset -[print:*common predator 0.6 nozzle coarse*] -inherits = *common predator 0.6 nozzle* -extrusion_width = 0.67 -first_layer_extrusion_width = 0.64 -perimeter_extrusion_width = 0.7 -external_perimeter_extrusion_width = 0.7 -infill_extrusion_width = 0.7 -solid_infill_extrusion_width = 0.7 -top_infill_extrusion_width = 0.6 -support_material_extrusion_width = 0.56 - -# Common print preset -[print:*common predator 0.8 nozzle detailed*] -inherits = *common predator 0.8 nozzle* -extrusion_width = 0.84 -first_layer_extrusion_width = 0.82 -perimeter_extrusion_width = 0.84 -external_perimeter_extrusion_width = 0.84 -infill_extrusion_width = 0.8 -solid_infill_extrusion_width = 0.8 -top_infill_extrusion_width = 0.8 -support_material_extrusion_width = 0.72 - -# Common print preset -[print:*common predator 0.8 nozzle coarse*] -inherits = *common predator 0.8 nozzle* -extrusion_width = 0.87 -first_layer_extrusion_width = 0.84 -perimeter_extrusion_width = 0.9 -external_perimeter_extrusion_width = 0.9 -infill_extrusion_width = 0.9 -solid_infill_extrusion_width = 0.9 -top_infill_extrusion_width = 0.8 -support_material_extrusion_width = 0.72 - -######################################### -####### end common print presets ######## -######################################### - -######################################### -########## begin print presets ########## -######################################### - -[print:0.08mm 0.4 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.4 nozzle detailed*; *common predator quality* -layer_height = 0.08 -max_print_speed = 50 -perimeters = 3 -fill_pattern = grid - -[print:0.16mm 0.4 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.4 nozzle detailed*; *common predator quality* -layer_height = 0.16 -max_print_speed = 60 -perimeters = 3 -fill_pattern = grid - -[print:0.16mm 0.4 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.4 nozzle coarse*; *common predator quality* -layer_height = 0.16 -max_print_speed = 60 -perimeters = 3 -fill_pattern = grid - -[print:0.24mm 0.4 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.4 nozzle detailed*; *common predator quality* -layer_height = 0.24 -max_print_speed = 70 -perimeters = 3 -fill_pattern = grid - -[print:0.24mm 0.4 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.4 nozzle coarse*; *common predator quality* -layer_height = 0.24 -max_print_speed = 70 -perimeters = 3 -fill_pattern = grid - -[print:0.32mm 0.4 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.4 nozzle detailed*; *common predator quality* -layer_height = 0.32 -max_print_speed = 70 -perimeters = 3 -fill_pattern = grid - -[print:0.32mm 0.4 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.4 nozzle coarse*; *common predator quality* -layer_height = 0.32 -max_print_speed = 70 -perimeters = 3 -fill_pattern = grid - -[print:0.16mm 0.6 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.6 nozzle detailed*; *common predator quality* -layer_height = 0.16 -max_print_speed = 70 -perimeters = 2 -fill_pattern = gyroid - -[print:0.16mm 0.6 nozzle DETAILED SPEED @PREDATOR] -inherits = *common predator 0.6 nozzle detailed*; *common predator speed* -layer_height = 0.16 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.16mm 0.6 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.6 nozzle coarse*; *common predator quality* -layer_height = 0.16 -max_print_speed = 70 -perimeters = 2 -fill_pattern = gyroid - -[print:0.16mm 0.6 nozzle COARSE SPEED @PREDATOR] -inherits = *common predator 0.6 nozzle coarse*; *common predator speed* -layer_height = 0.16 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.24mm 0.6 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.6 nozzle detailed*; *common predator quality* -layer_height = 0.24 -max_print_speed = 70 -perimeters = 2 -fill_pattern = gyroid - -[print:0.24mm 0.6 nozzle DETAILED SPEED @PREDATOR] -inherits = *common predator 0.6 nozzle detailed*; *common predator speed* -layer_height = 0.24 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.24mm 0.6 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.6 nozzle coarse*; *common predator quality* -layer_height = 0.24 -max_print_speed = 70 -perimeters = 2 -fill_pattern = gyroid - -[print:0.24mm 0.6 nozzle COARSE SPEED @PREDATOR] -inherits = *common predator 0.6 nozzle coarse*; *common predator speed* -layer_height = 0.24 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.32mm 0.6 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.6 nozzle detailed*; *common predator quality* -layer_height = 0.32 -max_print_speed = 70 -perimeters = 2 -fill_pattern = gyroid - -[print:0.32mm 0.6 nozzle DETAILED SPEED @PREDATOR] -inherits = *common predator 0.6 nozzle detailed*; *common predator speed* -layer_height = 0.32 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.32mm 0.6 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.6 nozzle coarse*; *common predator quality* -layer_height = 0.32 -max_print_speed = 70 -perimeters = 2 -fill_pattern = gyroid - -[print:0.32mm 0.6 nozzle COARSE SPEED @PREDATOR] -inherits = *common predator 0.6 nozzle coarse*; *common predator speed* -layer_height = 0.32 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.4mm 0.6 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.6 nozzle detailed*; *common predator quality* -layer_height = 0.4 -max_print_speed = 70 -perimeters = 2 -fill_pattern = gyroid - -[print:0.4mm 0.6 nozzle DETAILED SPEED @PREDATOR] -inherits = *common predator 0.6 nozzle detailed*; *common predator speed* -layer_height = 0.4 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.4mm 0.6 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.6 nozzle coarse*; *common predator quality* -layer_height = 0.4 -max_print_speed = 70 -perimeters = 2 -fill_pattern = gyroid - -[print:0.4mm 0.6 nozzle COARSE SPEED @PREDATOR] -inherits = *common predator 0.6 nozzle coarse*; *common predator speed* -layer_height = 0.4 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.24mm 0.8 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.8 nozzle detailed*; *common predator quality* -layer_height = 0.24 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.24mm 0.8 nozzle DETAILED SPEED @PREDATOR] -inherits = *common predator 0.8 nozzle detailed*; *common predator speed* -layer_height = 0.24 -max_print_speed = 90 -perimeters = 2 -fill_pattern = gyroid - -[print:0.24mm 0.8 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.8 nozzle coarse*; *common predator quality* -layer_height = 0.24 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.24mm 0.8 nozzle COARSE SPEED @PREDATOR] -inherits = *common predator 0.8 nozzle coarse*; *common predator speed* -layer_height = 0.24 -max_print_speed = 90 -perimeters = 2 -fill_pattern = gyroid - -[print:0.32mm 0.8 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.8 nozzle detailed*; *common predator quality* -layer_height = 0.32 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.32mm 0.8 nozzle DETAILED SPEED @PREDATOR] -inherits = *common predator 0.8 nozzle detailed*; *common predator speed* -layer_height = 0.32 -max_print_speed = 90 -perimeters = 2 -fill_pattern = gyroid - -[print:0.32mm 0.8 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.8 nozzle coarse*; *common predator quality* -layer_height = 0.32 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.32mm 0.8 nozzle COARSE SPEED @PREDATOR] -inherits = *common predator 0.8 nozzle coarse*; *common predator speed* -layer_height = 0.32 -max_print_speed = 90 -perimeters = 2 -fill_pattern = gyroid - -[print:0.4mm 0.8 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.8 nozzle detailed*; *common predator quality* -layer_height = 0.4 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.4mm 0.8 nozzle DETAILED SPEED @PREDATOR] -inherits = *common predator 0.8 nozzle detailed*; *common predator speed* -layer_height = 0.4 -max_print_speed = 90 -perimeters = 2 -fill_pattern = gyroid - -[print:0.4mm 0.8 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.8 nozzle coarse*; *common predator quality* -layer_height = 0.4 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.4mm 0.8 nozzle COARSE SPEED @PREDATOR] -inherits = *common predator 0.8 nozzle coarse*; *common predator speed* -layer_height = 0.4 -max_print_speed = 90 -perimeters = 2 -fill_pattern = gyroid - -[print:0.48mm 0.8 nozzle DETAILED QUALITY @PREDATOR] -inherits = *common predator 0.8 nozzle detailed*; *common predator quality* -layer_height = 0.48 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.48mm 0.8 nozzle DETAILED SPEED @PREDATOR] -inherits = *common predator 0.8 nozzle detailed*; *common predator speed* -layer_height = 0.48 -max_print_speed = 90 -perimeters = 2 -fill_pattern = gyroid - -[print:0.48mm 0.8 nozzle COARSE QUALITY @PREDATOR] -inherits = *common predator 0.8 nozzle coarse*; *common predator quality* -layer_height = 0.48 -max_print_speed = 80 -perimeters = 2 -fill_pattern = gyroid - -[print:0.48mm 0.8 nozzle COARSE SPEED @PREDATOR] -inherits = *common predator 0.8 nozzle coarse*; *common predator speed* -layer_height = 0.48 -max_print_speed = 90 -perimeters = 2 -fill_pattern = gyroid - -######################################### -########### end print presets ########### -######################################### - -######################################### -######## begin filament presets ######### -######################################### - -# Common filament preset -[filament:*common predator*] -cooling = 0 -compatible_printers = -extrusion_multiplier = 1 -filament_cost = 0 -filament_density = 0 -filament_diameter = 1.75 -filament_notes = "" -filament_settings_id = "" -filament_soluble = 0 -min_print_speed = 15 -slowdown_below_layer_time = 20 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_PREDATOR.*/ - -[filament:*PLA predator*] -inherits = *common predator* -bed_temperature = 60 -fan_below_layer_time = 100 -filament_colour = #FF3232 -filament_max_volumetric_speed = 10 -filament_type = PLA -filament_density = 1.24 -filament_cost = 20 -first_layer_bed_temperature = 60 -first_layer_temperature = 200 -fan_always_on = 1 -cooling = 1 -max_fan_speed = 100 -min_fan_speed = 100 -bridge_fan_speed = 100 -disable_fan_first_layers = 1 -temperature = 200 - -[filament:*PET predator*] -inherits = *common predator* -bed_temperature = 70 -cooling = 1 -disable_fan_first_layers = 3 -fan_below_layer_time = 20 -filament_colour = #FF8000 -filament_max_volumetric_speed = 8 -filament_type = PETG -filament_density = 1.27 -filament_cost = 30 -first_layer_bed_temperature =70 -first_layer_temperature = 240 -fan_always_on = 1 -max_fan_speed = 50 -min_fan_speed = 20 -bridge_fan_speed = 100 -temperature = 240 - -[filament:*ABS predator*] -inherits = *common predator* -bed_temperature = 100 -cooling = 0 -disable_fan_first_layers = 3 -fan_below_layer_time = 20 -filament_colour = #3A80CA -filament_max_volumetric_speed = 10 -filament_type = ABS -filament_density = 1.04 -filament_cost = 20 -first_layer_bed_temperature = 100 -first_layer_temperature = 245 -fan_always_on = 0 -max_fan_speed = 0 -min_fan_speed = 0 -bridge_fan_speed = 30 -top_fan_speed = 0 -temperature = 245 - -[filament:Generic PLA @PREDATOR] -inherits = *PLA predator* -filament_vendor = Generic - -[filament:Generic PETG @PREDATOR] -inherits = *PET predator* -filament_vendor = Generic - -[filament:Generic ABS @PREDATOR] -inherits = *ABS predator* -filament_vendor = Generic - -######################################### -######### end filament presets ########## -######################################### - -######################################### -######### begin printer presets ######### -######################################### - -# Anycubic predator common printer preset -[printer:*common predator*] -printer_vendor = Anycubic -printer_model = Predator -printer_technology = FFF -printer_variant = 0.4 -thumbnails = 16x16,220x124 -bed_shape = 188.779x16.516,186.621x32.9063,183.043x49.0462,178.072x64.8128,171.745x80.0862,164.112x94.75,155.229x108.693,145.165x121.808,133.997x133.997,121.808x145.165,108.693x155.229,94.75x164.112,80.0862x171.745,64.8128x178.072,49.0462x183.043,32.9063x186.621,16.516x188.779,1.16035e-14x189.5,-16.516x188.779,-32.9063x186.621,-49.0462x183.043,-64.8128x178.072,-80.0862x171.745,-94.75x164.112,-108.693x155.229,-121.808x145.165,-133.997x133.997,-145.165x121.808,-155.229x108.693,-164.112x94.75,-171.745x80.0862,-178.072x64.8128,-183.043x49.0462,-186.621x32.9063,-188.779x16.516,-189.5x2.32071e-14,-188.779x-16.516,-186.621x-32.9063,-183.043x-49.0462,-178.072x-64.8128,-171.745x-80.0862,-164.112x-94.75,-155.229x-108.693,-145.165x-121.808,-133.997x-133.997,-121.808x-145.165,-108.693x-155.229,-94.75x-164.112,-80.0862x-171.745,-64.8128x-178.072,-49.0462x-183.043,-32.9063x-186.621,-16.516x-188.779,-3.48106e-14x-189.5,16.516x-188.779,32.9063x-186.621,49.0462x-183.043,64.8128x-178.072,80.0862x-171.745,94.75x-164.112,108.693x-155.229,121.808x-145.165,133.997x-133.997,145.165x-121.808,155.229x-108.693,164.112x-94.75,171.745x-80.0862,178.072x-64.8128,183.043x-49.0462,186.621x-32.9063,188.779x-16.516,189.5x-4.64141e-14 -max_print_height = 445 -z_offset = 0 -single_extruder_multi_material = 0 -gcode_flavor = reprap -silent_mode = 0 -remaining_times = 0 -use_relative_e_distances = 0 -use_firmware_retraction = 0 -use_volumetric_e = 0 -variable_layer_height = 1 -start_gcode = ; start_gcode | start\n\n; v11 2020-11-14_11-27 tillverka\n\n; set metric values\n\nG21\n\n; use absolute positioning\n\nG90\n\n; set extruder to absolute mode\n\nM82\n\n; start with fan off\n\nM107\n\n; set temps\n\nM104 S[first_layer_temperature]\nM140 S[first_layer_bed_temperature]\n\n; home xy\n\nG28 X0 Y0\n\n; home z\n\nG28 Z0\n\n; move the head down to Z 94mm\n\nG1 Z94.0 F2394\n\n; set and wait for temps\n\nM109 S[first_layer_temperature]\nM190 S[first_layer_bed_temperature]\n\n; zero the extruded length\n\nG92 E0\n\n; extrude 3mm of feed stock\n\nG1 F200 E3\n\n; zero the extruded length again\n\nG92 E0\n\n; set speed\n\nG1 F{travel_speed}\n\n; print preskirt\n\nG92 E0\nG1 E3.94000 F2520.00000\n\nG1 X125.464 Y-139.310\nG1 Z0.329 F3994.000\n\nG1 F994.000\n\nG1 X125.464 Y-139.310 E4.19679\nG1 X130.218 Y-134.876 E4.70359\nG1 X132.569 Y-132.567 E4.96053\nG1 X137.099 Y-127.877 E5.46890\nG1 X139.325 Y-125.447 E5.72585\nG1 X141.507 Y-122.981 E5.98254\nG1 X145.685 Y-118.002 E6.48934\nG1 X149.741 Y-112.810 E7.00296\nG1 X153.561 Y-107.552 E7.50975\nG1 X155.440 Y-104.819 E7.76827\nG1 X158.980 Y-99.367 E8.27506\nG1 X160.702 Y-96.558 E8.53201\nG1 X163.962 Y-90.911 E9.04038\nG1 X165.535 Y-88.015 E9.29732\nG1 X168.496 Y-82.205 E9.80570\nG1 X169.915 Y-79.231 E10.06264\nG1 X171.280 Y-76.235 E10.31934\nG1 X173.819 Y-70.251 E10.82613\nG1 X176.180 Y-64.101 E11.33975\nG1 X178.297 Y-57.955 E11.84654\nG1 X179.294 Y-54.793 E12.10507\nG1 X181.085 Y-48.544 E12.61186\nG1 X181.911 Y-45.354 E12.86880\nG1 X183.378 Y-39.001 E13.37718\nG1 X184.035 Y-35.771 E13.63412\nG1 X185.168 Y-29.350 E14.14250\nG1 X185.655 Y-26.091 E14.39944\nG1 X186.084 Y-22.826 E14.65614\nG1 X186.764 Y-16.362 E15.16293\nG1 X187.223 Y-9.790 E15.67655\nG1 X187.450 Y-3.294 E16.18334\nG1 X187.479 Y0.002 E16.44028\nG1 X187.450 Y3.294 E16.69698\nG1 X187.223 Y9.810 E17.20529\nG1 X187.021 Y13.100 E17.46229\nG1 X186.454 Y19.575 E17.96909\nG1 X186.079 Y22.870 E18.22761\nG1 X185.174 Y29.307 E18.73440\nG1 X184.031 Y35.794 E19.24802\nG1 X182.679 Y42.152 E19.75481\nG1 X181.910 Y45.357 E20.01176\nG1 X180.223 Y51.655 E20.52013\nG1 X179.287 Y54.815 E20.77708\nG1 X177.272 Y61.017 E21.28545\nG1 X176.172 Y64.123 E21.54239\nG1 X175.019 Y67.207 E21.79909\nG1 X172.584 Y73.234 E22.30588\nG1 X169.905 Y79.252 E22.81950\nG1 X167.055 Y85.094 E23.32629\nG1 X165.524 Y88.035 E23.58482\nG1 X162.373 Y93.721 E24.09161\nG1 X160.700 Y96.560 E24.34855\nG1 X157.245 Y102.090 E24.85693\nG1 X155.427 Y104.838 E25.11387\nG1 X151.687 Y110.180 E25.62225\nG1 X149.727 Y112.829 E25.87919\nG1 X147.722 Y115.441 E26.13588\nG1 X143.631 Y120.493 E26.64268\nG1 X139.310 Y125.464 E27.15629\nG1 X134.876 Y130.218 E27.66309\nG1 X132.567 Y132.569 E27.92003\nG1 X127.877 Y137.099 E28.42840\nG1 X125.447 Y139.325 E28.68535\nG1 X122.981 Y141.507 E28.94204\nG1 X118.002 Y145.685 E29.44883\nG1 X112.810 Y149.741 E29.96245\nG1 X107.552 Y153.561 E30.46924\nG1 X104.819 Y155.440 E30.72777\nG1 X99.367 Y158.980 E31.23456\nG1 X96.558 Y160.702 E31.49151\nG1 X90.911 Y163.962 E31.99988\nG1 X88.015 Y165.535 E32.25682\nG1 X82.205 Y168.496 E32.76520\nG1 X79.231 Y169.915 E33.02214\nG1 X76.235 Y171.280 E33.27884\nG1 X70.251 Y173.819 E33.78563\nG1 X64.101 Y176.180 E34.29925\nG1 X57.955 Y178.297 E34.80604\nG1 X54.793 Y179.294 E35.06457\nG1 X48.544 Y181.085 E35.57136\nG1 X45.354 Y181.911 E35.82830\nG1 X39.001 Y183.378 E36.33668\nG1 X35.771 Y184.035 E36.59362\nG1 X29.350 Y185.168 E37.10200\nG1 X26.091 Y185.655 E37.35894\nG1 X22.826 Y186.084 E37.61563\nG1 X16.362 Y186.764 E38.12242\nG1 X9.790 Y187.223 E38.63605\nG1 X3.294 Y187.450 E39.14283\nG1 X-0.002 Y187.479 E39.39978\nG1 X-3.294 Y187.450 E39.65648\nG1 X-9.810 Y187.223 E40.16479\nG1 X-13.100 Y187.021 E40.42179\nG1 X-19.575 Y186.454 E40.92858\nG1 X-22.870 Y186.079 E41.18711\nG1 X-29.307 Y185.174 E41.69390\nG1 X-35.794 Y184.031 E42.20752\nG1 X-42.152 Y182.679 E42.71431\nG1 X-45.357 Y181.910 E42.97126\nG1 X-51.655 Y180.223 E43.47963\nG1 X-54.815 Y179.287 E43.73657\nG1 X-61.017 Y177.272 E44.24495\nG1 X-64.123 Y176.172 E44.50189\nG1 X-67.207 Y175.019 E44.75859\nG1 X-73.234 Y172.584 E45.26538\nG1 X-79.252 Y169.905 E45.77900\nG1 X-85.094 Y167.055 E46.28579\nG1 X-88.035 Y165.524 E46.54432\nG1 X-93.721 Y162.373 E47.05111\nG1 X-96.560 Y160.700 E47.30805\nG1 X-102.090 Y157.245 E47.81643\nG1 X-104.838 Y155.427 E48.07337\nG1 X-110.180 Y151.687 E48.58174\nG1 X-112.829 Y149.727 E48.83869\nG1 X-115.441 Y147.722 E49.09538\nG1 X-120.493 Y143.631 E49.60218\nG1 X-125.464 Y139.310 E50.11579\nG1 X-130.218 Y134.876 E50.62259\nG1 X-132.569 Y132.567 E50.87953\nG1 X-137.099 Y127.877 E51.38790\nG1 X-139.325 Y125.447 E51.64485\nG1 X-141.507 Y122.981 E51.90154\nG1 X-145.685 Y118.002 E52.40833\nG1 X-149.741 Y112.810 E52.92195\nG1 X-153.561 Y107.552 E53.42874\nG1 X-155.440 Y104.819 E53.68727\nG1 X-158.980 Y99.367 E54.19406\nG1 X-160.702 Y96.558 E54.45101\nG1 X-163.962 Y90.911 E54.95938\nG1 X-165.535 Y88.015 E55.21632\nG1 X-168.496 Y82.205 E55.72470\nG1 X-169.915 Y79.231 E55.98164\nG1 X-171.280 Y76.235 E56.23834\nG1 X-173.819 Y70.251 E56.74513\nG1 X-176.180 Y64.101 E57.25875\nG1 X-178.297 Y57.955 E57.76554\nG1 X-179.294 Y54.793 E58.02407\nG1 X-181.085 Y48.544 E58.53086\nG1 X-181.911 Y45.354 E58.78780\nG1 X-183.378 Y39.001 E59.29618\nG1 X-184.035 Y35.771 E59.55312\nG1 X-185.168 Y29.350 E60.06149\nG1 X-185.655 Y26.091 E60.31844\nG1 X-186.084 Y22.826 E60.57513\nG1 X-186.764 Y16.362 E61.08192\nG1 X-187.223 Y9.790 E61.59554\nG1 X-187.450 Y3.294 E62.10233\nG1 X-187.479 Y-0.002 E62.35928\nG1 X-187.450 Y-3.294 E62.61598\nG1 X-187.223 Y-9.810 E63.12429\nG1 X-187.021 Y-13.100 E63.38129\nG1 X-186.454 Y-19.575 E63.88808\nG1 X-186.079 Y-22.870 E64.14661\nG1 X-185.174 Y-29.307 E64.65340\nG1 X-184.031 Y-35.794 E65.16702\nG1 X-182.679 Y-42.152 E65.67381\nG1 X-181.910 Y-45.357 E65.93076\nG1 X-180.223 Y-51.655 E66.43913\nG1 X-179.287 Y-54.815 E66.69607\nG1 X-177.272 Y-61.017 E67.20445\nG1 X-176.172 Y-64.123 E67.46139\nG1 X-175.019 Y-67.207 E67.71809\nG1 X-172.584 Y-73.234 E68.22488\nG1 X-169.905 Y-79.252 E68.73850\nG1 X-167.055 Y-85.094 E69.24529\nG1 X-165.524 Y-88.035 E69.50382\nG1 X-162.373 Y-93.721 E70.01061\nG1 X-160.700 Y-96.560 E70.26755\nG1 X-157.245 Y-102.090 E70.77593\nG1 X-155.427 Y-104.838 E71.03287\nG1 X-151.687 Y-110.180 E71.54124\nG1 X-149.727 Y-112.829 E71.79819\nG1 X-147.722 Y-115.441 E72.05488\nG1 X-143.631 Y-120.493 E72.56167\nG1 X-139.310 Y-125.464 E73.07529\nG1 X-134.876 Y-130.218 E73.58209\nG1 X-132.567 Y-132.569 E73.83903\nG1 X-127.877 Y-137.099 E74.34740\nG1 X-125.447 Y-139.325 E74.60435\nG1 X-122.981 Y-141.507 E74.86104\nG1 X-118.002 Y-145.685 E75.36783\nG1 X-112.810 Y-149.741 E75.88145\nG1 X-107.552 Y-153.561 E76.38824\nG1 X-104.819 Y-155.440 E76.64677\nG1 X-99.367 Y-158.980 E77.15356\nG1 X-96.558 Y-160.702 E77.41051\nG1 X-90.911 Y-163.962 E77.91888\nG1 X-88.015 Y-165.535 E78.17582\nG1 X-82.205 Y-168.496 E78.68420\nG1 X-79.231 Y-169.915 E78.94114\nG1 X-76.235 Y-171.280 E79.19784\nG1 X-70.251 Y-173.819 E79.70463\nG1 X-64.101 Y-176.180 E80.21825\nG1 X-57.955 Y-178.297 E80.72504\nG1 X-54.793 Y-179.294 E80.98356\nG1 X-48.544 Y-181.085 E81.49036\nG1 X-45.354 Y-181.911 E81.74730\nG1 X-39.001 Y-183.378 E82.25568\nG1 X-35.771 Y-184.035 E82.51262\nG1 X-29.350 Y-185.168 E83.02099\nG1 X-26.091 Y-185.655 E83.27794\nG1 X-22.826 Y-186.084 E83.53463\nG1 X-16.362 Y-186.764 E84.04142\nG1 X-9.790 Y-187.223 E84.55504\nG1 X-3.294 Y-187.450 E85.06183\nG1 X0.006 Y-187.479 E85.31908\nG1 X6.521 Y-187.366 E85.82715\nG1 X9.810 Y-187.223 E86.08379\nG1 X13.100 Y-187.021 E86.34079\nG1 X19.575 Y-186.454 E86.84758\nG1 X22.870 Y-186.079 E87.10611\nG1 X29.307 Y-185.174 E87.61290\nG1 X35.794 Y-184.031 E88.12652\nG1 X42.152 Y-182.679 E88.63331\nG1 X45.357 Y-181.910 E88.89025\nG1 X51.655 Y-180.223 E89.39863\nG1 X54.815 Y-179.287 E89.65557\nG1 X61.017 Y-177.272 E90.16395\nG1 X64.123 Y-176.172 E90.42089\nG1 X67.207 Y-175.019 E90.67759\nG1 X73.234 Y-172.584 E91.18438\nG1 X79.252 Y-169.905 E91.69800\nG1 X85.094 Y-167.055 E92.20479\nG1 X88.035 Y-165.524 E92.46332\nG1 X93.721 Y-162.373 E92.97011\nG1 X96.560 Y-160.700 E93.22705\nG1 X102.090 Y-157.245 E93.73543\nG1 X104.838 Y-155.427 E93.99237\nG1 X110.180 Y-151.687 E94.50074\nG1 X112.829 Y-149.727 E94.75768\nG1 X115.441 Y-147.722 E95.01438\nG1 X120.493 Y-143.631 E95.52117\nG1 X122.911 Y-141.529 E95.77098\n\n; end preskirt\n; start_gcode | end -end_gcode = ; end_gcode | start\n\n; v11 2020-11-14_11-27 tillverka\n\n; use relative positioning\n\nG91\n\n; retract the filament a bit before lifting the nozzle to release some of the pressure\n\nG1 E-1 F300\n\n; home\n\nG28\n\n; use absolute positioning\n\nG90\n\n; cooldown\n\nM104 S0\nM140 S0\n\n; end_gcode | end\n -before_layer_gcode = -layer_gcode = -toolchange_gcode = -between_objects_gcode = -retract_length = 4 -retract_lift = 0.3 -retract_lift_above = 0 -retract_lift_below = 449 -retract_speed = 30 -deretract_speed = 0 -retract_restart_extra = 0 -retract_before_travel = 2 -retract_layer_change = 1 -wipe = 1 -retract_before_wipe = 70% -retract_length_toolchange = 10 -retract_restart_extra_toolchange = 0 -extruder_colour = #1193FF -machine_max_acceleration_e = 3000 -machine_max_acceleration_extruding = 1000 -machine_max_acceleration_retracting = 1000 -machine_max_acceleration_x = 1500 -machine_max_acceleration_y = 1500 -machine_max_acceleration_z = 1500 -machine_max_feedrate_e = 60 -machine_max_feedrate_x = 200 -machine_max_feedrate_y = 200 -machine_max_feedrate_z = 200 -machine_max_jerk_e = 5 -machine_max_jerk_x = 5 -machine_max_jerk_y = 5 -machine_max_jerk_z = 5 -machine_min_extruding_rate = 0 -machine_min_travel_rate = 0 -printer_settings_id = -printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_PREDATOR\nPRINTER_HAS_BOWDEN\n -default_filament_profile = Generic PLA @PREDATOR - -[printer:Anycubic Predator 0.4 nozzle] -inherits = *common predator* -printer_model = PREDATOR -printer_variant = 0.4 -nozzle_diameter = 0.4 -min_layer_height = 0.08 -max_layer_height = 0.32 -default_print_profile = 0.16mm 0.4 nozzle DETAILED QUALITY @PREDATOR - -[printer:Anycubic Predator 0.6 nozzle] -inherits = *common predator* -printer_model = PREDATOR -printer_variant = 0.6 -nozzle_diameter = 0.6 -min_layer_height = 0.12 -max_layer_height = 0.4 -default_print_profile = 0.24mm 0.8 nozzle DETAILED QUALITY @PREDATOR - -[printer:Anycubic Predator 0.8 nozzle] -inherits = *common predator* -printer_model = PREDATOR -printer_variant = 0.8 -nozzle_diameter = 0.8 -min_layer_height = 0.16 -max_layer_height = 0.48 -default_print_profile = 0.24mm 0.8 nozzle DETAILED QUALITY @PREDATOR - -######################################### -########## end printer presets ########## -######################################### +# Print profiles for the Anycubic printers. + +[vendor] +# Vendor name will be shown by the Config Wizard. +name = Anycubic +# Configuration version of this file. Config file will only be installed, if the config_version differs. +# This means, the server may force the PrusaSlicer configuration to be downgraded. +config_version = 0.0.10 +# Where to get the updates from? +config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Anycubic/ +# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% + +# The printer models will be shown by the Configuration Wizard in this order, +# also the first model installed & the first nozzle installed will be activated after install. +# Printer model name will be shown by the installation wizard. + +[printer_model:AKLP] +name = Anycubic Kossel Linear Plus +variants = 0.4 +technology = FFF +family = KOSSEL +bed_model = AKLP_Bed.stl +bed_texture = AK.svg +default_materials = Generic PLA @AKOSSEL; Generic PETG @AKOSSEL; Generic ABS @AKOSSEL + +[printer_model:AK] +name = Anycubic Kossel Pulley (Linear) +variants = 0.4 +technology = FFF +family = KOSSEL +bed_model = AK_Bed.stl +bed_texture = AK.svg +default_materials = Generic PLA @AKOSSEL; Generic PETG @AKOSSEL; Generic ABS @AKOSSEL + +[printer_model:MEGA0] +name = Anycubic Mega Zero +variants = 0.4 +technology = FFF +family = MEGA +bed_model = mega0_bed.stl +bed_texture = mega0.svg +default_materials = Generic PLA @MEGA0; Generic PETG @MEGA0; Anycubic PLA @MEGA0; Prusament PLA @MEGA0; Prusament PETG @MEGA0 + +[printer_model:I3MEGA] +name = Anycubic i3 Mega +variants = 0.4 +technology = FFF +family = MEGA + +[printer_model:I3MEGAS] +name = Anycubic i3 Mega S +variants = 0.4 +technology = FFF +family = MEGA + +[printer_model:PREDATOR] +name = Anycubic Predator +variants = 0.4; 0.6; 0.8 +technology = FFF +family = PREDATOR +default_materials = Generic PLA @PREDATOR; Generic PETG @PREDATOR; Generic ABS @PREDATOR + +# All presets starting with asterisk, for example *common*, are intermediate and they will +# not make it into the user interface. + +## Anycubic KOSSEL +## Author: https://github.com/tc0fh +## Initial PR: https://github.com/prusa3d/PrusaSlicer/pull/4220 + +# Common print preset +[print:*common_akossel*] +avoid_crossing_perimeters = 0 +bottom_solid_min_thickness = 0.5 +bridge_angle = 0 +bridge_flow_ratio = 0.8 +bridge_speed = 30 +brim_width = 0 +clip_multipart_objects = 1 +compatible_printers = +complete_objects = 0 +dont_support_bridges = 1 +elefant_foot_compensation = 0 +ensure_vertical_shell_thickness = 1 +external_fill_pattern = rectilinear +external_perimeters_first = 0 +external_perimeter_extrusion_width = 0.45 +extra_perimeters = 0 +extruder_clearance_height = 25 +extruder_clearance_radius = 45 +extrusion_width = 0.45 +fill_angle = 45 +fill_density = 20% +fill_pattern = grid +first_layer_extrusion_width = 0.42 +first_layer_height = 0.2 +first_layer_speed = 20 +gap_fill_speed = 40 +gcode_comments = 0 +infill_every_layers = 1 +infill_extruder = 1 +infill_extrusion_width = 0.45 +infill_first = 0 +infill_only_where_needed = 0 +infill_overlap = 25% +interface_shells = 0 +max_print_speed = 200 +max_volumetric_extrusion_rate_slope_negative = 0 +max_volumetric_extrusion_rate_slope_positive = 0 +max_volumetric_speed = 0 +min_skirt_length = 4 +notes = +overhangs = 0 +only_retract_when_crossing_perimeters = 0 +ooze_prevention = 0 +output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode +perimeters = 2 +perimeter_extruder = 1 +perimeter_extrusion_width = 0.45 +perimeter_speed = 45 +post_process = +print_settings_id = +raft_layers = 0 +resolution = 0 +seam_position = nearest +single_extruder_multi_material_priming = 0 +skirts = 2 +skirt_distance = 5 +skirt_height = 1 +small_perimeter_speed = 25 +solid_infill_below_area = 0 +solid_infill_every_layers = 0 +solid_infill_extruder = 1 +solid_infill_extrusion_width = 0.45 +spiral_vase = 0 +standby_temperature_delta = -5 +support_material = 0 +support_material_extruder = 0 +support_material_extrusion_width = 0.38 +support_material_interface_extruder = 0 +support_material_angle = 0 +support_material_buildplate_only = 0 +support_material_enforce_layers = 0 +support_material_contact_distance = 0.15 +support_material_interface_contact_loops = 0 +support_material_interface_layers = 2 +support_material_interface_spacing = 0.2 +support_material_interface_speed = 100% +support_material_pattern = rectilinear +support_material_spacing = 2 +support_material_speed = 50 +support_material_synchronize_layers = 0 +support_material_threshold = 45 +support_material_with_sheath = 0 +support_material_xy_spacing = 60% +thin_walls = 0 +top_infill_extrusion_width = 0.4 +top_solid_infill_speed = 40 +top_solid_min_thickness = 0.6 +travel_speed = 180 +wipe_tower = 1 +wipe_tower_bridging = 10 +wipe_tower_rotation_angle = 0 +wipe_tower_width = 60 +wipe_tower_x = 170 +wipe_tower_y = 140 +xy_size_compensation = 0 +bridge_acceleration = 1000 +default_acceleration = 1500 +first_layer_acceleration = 1000 +infill_acceleration = 1500 +perimeter_acceleration = 800 + +[print:*0.08mm_akossel*] +inherits = *common_akossel* +bottom_solid_layers = 10 +bridge_acceleration = 300 +bridge_flow_ratio = 0.7 +bridge_speed = 20 +external_perimeter_speed = 20 +first_layer_acceleration = 500 +gap_fill_speed = 20 +infill_acceleration = 800 +infill_speed = 40 +layer_height = 0.08 +max_print_speed = 80 +perimeter_acceleration = 300 +perimeter_speed = 30 +perimeters = 3 +small_perimeter_speed = 20 +solid_infill_speed = 40 +support_material_extrusion_width = 0.3 +support_material_spacing = 1.5 +support_material_speed = 40 +top_solid_infill_speed = 30 +top_solid_layers = 12 + +[print:*0.16mm_akossel*] +inherits = *common_akossel* +bottom_solid_layers = 5 +layer_height = 0.16 +top_solid_layers = 6 + +[print:*0.20mm_akossel*] +inherits = *common_akossel* +bottom_solid_layers = 4 +bridge_flow_ratio = 0.95 +layer_height = 0.20 +top_solid_layers = 5 + +[print:*0.24mm_akossel*] +inherits = *common_akossel* +bottom_solid_layers = 4 +bridge_flow_ratio = 0.95 +layer_height = 0.24 +perimeter_speed = 50 +external_perimeter_speed = 35 +top_solid_layers = 4 +infill_speed = 100 +solid_infill_speed = 100 +top_solid_infill_speed = 40 + +[print:*0.30mm_akossel*] +inherits = *common_akossel* +bottom_solid_layers = 3 +bridge_flow_ratio = 0.95 +external_perimeter_extrusion_width = 0.6 +external_perimeter_speed = 35 +extrusion_width = 0.5 +infill_extrusion_width = 0.5 +infill_speed = 70 +layer_height = 0.30 +perimeter_extrusion_width = 0.5 +perimeter_speed = 50 +small_perimeter_speed = 30 +solid_infill_extrusion_width = 0.5 +solid_infill_speed = 70 +support_material_speed = 45 +top_infill_extrusion_width = 0.45 +top_solid_infill_speed = 50 +top_solid_layers = 3 + +[print:0.08mm ULTRADETAIL @AKOSSEL] +inherits = *0.08mm_akossel* +fill_density = 15% +fill_pattern = gyroid +compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 + +[print:0.16mm QUALITY @AKOSSEL] +inherits = *0.16mm_akossel* +external_perimeter_speed = 25 +fill_density = 15% +fill_pattern = gyroid +infill_speed = 80 +compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 + +[print:0.16mm SPEED @AKOSSEL] +inherits = *0.16mm_akossel* +external_perimeter_speed = 35 +infill_speed = 120 +perimeter_speed = 60 +solid_infill_speed = 120 +top_solid_infill_speed = 50 +compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 + +[print:0.20mm QUALITY @AKOSSEL] +inherits = *0.20mm_akossel* +external_perimeter_speed = 25 +fill_density = 15% +fill_pattern = gyroid +infill_speed = 80 +compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 + +[print:0.20mm SPEED @AKOSSEL] +inherits = *0.20mm_akossel* +external_perimeter_speed = 35 +infill_speed = 120 +perimeter_speed = 60 +solid_infill_speed = 120 +top_solid_infill_speed = 50 +compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 + +[print:0.24mm DRAFT @AKOSSEL] +inherits = *0.24mm_akossel* +compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 + +[print:0.30mm FAST @AKOSSEL] +inherits = *0.30mm_akossel* +compatible_printers_condition = printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ and nozzle_diameter[0]==0.4 + +# Common filament preset +[filament:*common_akossel*] +cooling = 0 +compatible_printers = +extrusion_multiplier = 1 +filament_cost = 0 +filament_density = 0 +filament_diameter = 1.75 +filament_notes = "" +filament_settings_id = "" +filament_soluble = 0 +min_print_speed = 15 +slowdown_below_layer_time = 20 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_Anycubic.*/ and printer_notes=~/.*PRINTER_MODEL_AK(|LP).*/ + +[filament:*PLA_akossel*] +inherits = *common_akossel* +bed_temperature = 60 +fan_below_layer_time = 100 +filament_colour = #FF3232 +filament_max_volumetric_speed = 10 +filament_type = PLA +filament_density = 1.24 +filament_cost = 20 +first_layer_bed_temperature = 60 +first_layer_temperature = 200 +fan_always_on = 1 +cooling = 1 +max_fan_speed = 100 +min_fan_speed = 100 +bridge_fan_speed = 100 +disable_fan_first_layers = 1 +temperature = 200 + +[filament:*PET_akossel*] +inherits = *common_akossel* +bed_temperature = 70 +cooling = 1 +disable_fan_first_layers = 3 +fan_below_layer_time = 20 +filament_colour = #FF8000 +filament_max_volumetric_speed = 8 +filament_type = PETG +filament_density = 1.27 +filament_cost = 30 +first_layer_bed_temperature =70 +first_layer_temperature = 240 +fan_always_on = 1 +max_fan_speed = 50 +min_fan_speed = 20 +bridge_fan_speed = 100 +temperature = 240 + +[filament:*ABS_akossel*] +inherits = *common_akossel* +bed_temperature = 100 +cooling = 0 +disable_fan_first_layers = 3 +fan_below_layer_time = 20 +filament_colour = #3A80CA +filament_max_volumetric_speed = 10 +filament_type = ABS +filament_density = 1.04 +filament_cost = 20 +first_layer_bed_temperature = 100 +first_layer_temperature = 245 +fan_always_on = 0 +max_fan_speed = 0 +min_fan_speed = 0 +bridge_fan_speed = 30 +top_fan_speed = 0 +temperature = 245 + +[filament:Generic PLA @AKOSSEL] +inherits = *PLA_akossel* +filament_vendor = Generic + +[filament:Generic PETG @AKOSSEL] +inherits = *PET_akossel* +filament_vendor = Generic + +[filament:Generic ABS @AKOSSEL] +inherits = *ABS_akossel* +filament_vendor = Generic + +# Common printer preset +[printer:*common_akossel*] +printer_technology = FFF +bed_shape = +before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z] +between_objects_gcode = +deretract_speed = 40 +extruder_colour = #FFFF00 +extruder_offset = 0x0 +gcode_flavor = marlin +silent_mode = 0 +remaining_times = 0 +machine_max_acceleration_e = 3000 +machine_max_acceleration_extruding = 1000 +machine_max_acceleration_retracting = 1000 +machine_max_acceleration_x = 1500 +machine_max_acceleration_y = 1500 +machine_max_acceleration_z = 1500 +machine_max_feedrate_e = 60 +machine_max_feedrate_x = 200 +machine_max_feedrate_y = 200 +machine_max_feedrate_z = 200 +machine_max_jerk_e = 5 +machine_max_jerk_x = 5 +machine_max_jerk_y = 5 +machine_max_jerk_z = 5 +machine_min_extruding_rate = 0 +machine_min_travel_rate = 0 +layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z] +max_layer_height = 0.3 +min_layer_height = 0.08 +max_print_height = 300 +nozzle_diameter = 0.4 +printer_notes = +printer_settings_id = +retract_before_travel = 2 +retract_before_wipe = 70% +retract_layer_change = 1 +retract_length = 5 +retract_length_toolchange = 1 +retract_lift = 0 +retract_lift_above = 0 +retract_lift_below = 0 +retract_restart_extra = 0 +retract_restart_extra_toolchange = 0 +retract_speed = 60 +single_extruder_multi_material = 0 +start_gcode = +end_gcode = M104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG28 ; home\nM84 ; disable motors +toolchange_gcode = +use_firmware_retraction = 0 +use_relative_e_distances = 1 +use_volumetric_e = 0 +variable_layer_height = 1 +wipe = 1 +z_offset = 0 +default_print_profile = 0.20mm QUALITY @AKOSSEL +default_filament_profile = Generic PLA @AKOSSEL + +[printer:Anycubic Kossel Linear Plus] +inherits = *common_akossel* +printer_model = AKLP +printer_variant = 0.4 +printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Anycubic\nPRINTER_MODEL_AKLP\nPRINTER_HAS_BOWDEN\n +bed_shape = 114.562x10.0229,113.253x19.9695,111.081x29.7642,108.065x39.3323,104.225x48.6011,99.5929x57.5,94.2025x65.9613,88.0951x73.9206,81.3173x81.3173,73.9206x88.0951,65.9613x94.2025,57.5x99.5929,48.6011x104.225,39.3323x108.065,29.7642x111.081,19.9695x113.253,10.0229x114.562,7.04172e-15x115,-10.0229x114.562,-19.9695x113.253,-29.7642x111.081,-39.3323x108.065,-48.6011x104.225,-57.5x99.5929,-65.9613x94.2025,-73.9206x88.0951,-81.3173x81.3173,-88.0951x73.9206,-94.2025x65.9613,-99.5929x57.5,-104.225x48.6011,-108.065x39.3323,-111.081x29.7642,-113.253x19.9695,-114.562x10.0229,-115x1.40834e-14,-114.562x-10.0229,-113.253x-19.9695,-111.081x-29.7642,-108.065x-39.3323,-104.225x-48.6011,-99.5929x-57.5,-94.2025x-65.9613,-88.0951x-73.9206,-81.3173x-81.3173,-73.9206x-88.0951,-65.9613x-94.2025,-57.5x-99.5929,-48.6011x-104.225,-39.3323x-108.065,-29.7642x-111.081,-19.9695x-113.253,-10.0229x-114.562,-2.11252e-14x-115,10.0229x-114.562,19.9695x-113.253,29.7642x-111.081,39.3323x-108.065,48.6011x-104.225,57.5x-99.5929,65.9613x-94.2025,73.9206x-88.0951,81.3173x-81.3173,88.0951x-73.9206,94.2025x-65.9613,99.5929x-57.5,104.225x-48.6011,108.065x-39.3323,111.081x-29.7642,113.253x-19.9695,114.562x-10.0229,115x-2.81669e-14 +start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home\nG1 X-54.672 Y95.203 Z0.3 F9000\nG92 E0.0\nG1 F1000\nG1 X-52.931 Y96.185 E0.300\nG1 X-50.985 Y97.231 E0.331\nG1 X-49.018 Y98.238 E0.331\nG1 X-47.032 Y99.205 E0.331\nG1 X-45.026 Y100.132 E0.331\nG1 X-43.003 Y101.019 E0.331\nG1 X-40.961 Y101.864 E0.331\nG1 X-38.904 Y102.668 E0.331\nG1 X-36.83 Y103.431 E0.331\nG1 X-34.742 Y104.152 E0.331\nG1 X-32.639 Y104.83 E0.331\nG1 X-30.523 Y105.466 E0.331\nG1 X-28.395 Y106.06 E0.331\nG1 X-26.255 Y106.61 E0.331\nG1 X-24.105 Y107.117 E0.331\nG1 X-21.945 Y107.581 E0.331\nG1 X-19.776 Y108.001 E0.331\nG1 X-17.599 Y108.377 E0.331\nG1 X-15.415 Y108.71 E0.331\nG1 X-13.224 Y108.998 E0.331\nG1 X-11.028 Y109.242 E0.331\nG1 X-8.828 Y109.442 E0.331\nG1 X-6.624 Y109.598 E0.331\nG1 X-4.418 Y109.709 E0.331\nG1 X-2.209 Y109.776 E0.332\nG1 X0 Y109.798 E0.331\nG1 X2.209 Y109.776 E0.690\nG1 X4.418 Y109.709 E0.691\nG1 X6.624 Y109.598 E0.690\nG1 X8.828 Y109.442 E0.690\nG1 X11.028 Y109.242 E0.690\nG1 X13.224 Y108.998 E0.690\nG1 X15.415 Y108.71 E0.691\nG1 X17.599 Y108.377 E0.690\nG1 X19.776 Y108.001 E0.690\nG1 X21.945 Y107.581 E0.690\nG1 X24.105 Y107.117 E0.690\nG1 X26.255 Y106.61 E0.690\nG1 X28.395 Y106.06 E0.690\nG1 X30.523 Y105.466 E0.690\nG1 X32.639 Y104.83 E0.690\nG1 X34.742 Y104.152 E0.690\nG1 X36.83 Y103.431 E0.690\nG1 X38.904 Y102.668 E0.691\nG1 X40.961 Y101.864 E0.690\nG1 X43.003 Y101.019 E0.691\nG1 X45.026 Y100.132 E0.690\nG1 X47.032 Y99.205 E0.691\nG1 X49.018 Y98.238 E0.690\nG1 X50.985 Y97.231 E0.691\nG1 X52.931 Y96.185 E0.690\nG1 X54.672 Y95.203 E0.625\nG92 E0.0\nG1 E-5 F3000 ; retract 5mm\nG1 X52.931 Y96.185 F1000 ; wipe\nG1 X50.985 Y97.231 F1000 ; wipe\nG1 X49.018 Y98.238 F1000 ; wipe\nG1 X0 Y109.798 F1000\nG1 E4.8 F1500; de-retract\nG92 E0.0 ; reset extrusion distance\nM221 S{if layer_height<0.075}100{else}95{endif} + +[printer:Anycubic Kossel Pulley (Linear)] +inherits = *common_akossel* +printer_model = AK +printer_variant = 0.4 +printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_Anycubic\nPRINTER_MODEL_AK\nPRINTER_HAS_BOWDEN\n +bed_shape = 89.6575x7.84402,88.6327x15.6283,86.9333x23.2937,84.5723x30.7818,81.5677x38.0356,77.9423x45,73.7237x51.6219,68.944x57.8509,63.6396x63.6396,57.8509x68.944,51.6219x73.7237,45x77.9423,38.0356x81.5677,30.7818x84.5723,23.2937x86.9333,15.6283x88.6327,7.84402x89.6575,5.51091e-15x90,-7.84402x89.6575,-15.6283x88.6327,-23.2937x86.9333,-30.7818x84.5723,-38.0356x81.5677,-45x77.9423,-51.6219x73.7237,-57.8509x68.944,-63.6396x63.6396,-68.944x57.8509,-73.7237x51.6219,-77.9423x45,-81.5677x38.0356,-84.5723x30.7818,-86.9333x23.2937,-88.6327x15.6283,-89.6575x7.84402,-90x1.10218e-14,-89.6575x-7.84402,-88.6327x-15.6283,-86.9333x-23.2937,-84.5723x-30.7818,-81.5677x-38.0356,-77.9423x-45,-73.7237x-51.6219,-68.944x-57.8509,-63.6396x-63.6396,-57.8509x-68.944,-51.6219x-73.7237,-45x-77.9423,-38.0356x-81.5677,-30.7818x-84.5723,-23.2937x-86.9333,-15.6283x-88.6327,-7.84402x-89.6575,-1.65327e-14x-90,7.84402x-89.6575,15.6283x-88.6327,23.2937x-86.9333,30.7818x-84.5723,38.0356x-81.5677,45x-77.9423,51.6219x-73.7237,57.8509x-68.944,63.6396x-63.6396,68.944x-57.8509,73.7237x-51.6219,77.9423x-45,81.5677x-38.0356,84.5723x-30.7818,86.9333x-23.2937,88.6327x-15.6283,89.6575x-7.84402,90x-2.20436e-14 +start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home\nG1 X-39.672 Y69.712 Z0.3 F9000\nG92 E0.0\nG1 F1000\nG1 X-38.457 Y70.397 E0.209\nG1 X-37.043 Y71.157 E0.241\nG1 X-35.614 Y71.889 E0.241\nG1 X-34.171 Y72.591 E0.241\nG1 X-32.714 Y73.265 E0.241\nG1 X-31.244 Y73.909 E0.241\nG1 X-29.761 Y74.523 E0.241\nG1 X-28.266 Y75.108 E0.241\nG1 X-26.759 Y75.662 E0.241\nG1 X-25.242 Y76.185 E0.241\nG1 X-23.714 Y76.678 E0.241\nG1 X-22.177 Y77.14 E0.241\nG1 X-20.63 Y77.571 E0.241\nG1 X-19.076 Y77.971 E0.241\nG1 X-17.514 Y78.34 E0.241\nG1 X-15.944 Y78.677 E0.241\nG1 X-14.368 Y78.982 E0.241\nG1 X-12.786 Y79.255 E0.241\nG1 X-11.199 Y79.497 E0.241\nG1 X-9.608 Y79.706 E0.241\nG1 X-8.013 Y79.884 E0.241\nG1 X-6.414 Y80.029 E0.241\nG1 X-4.813 Y80.142 E0.241\nG1 X-3.21 Y80.223 E0.241\nG1 X-1.605 Y80.271 E0.241\nG1 X0 Y80.287 E0.241\nG1 X1.605 Y80.271 E0.502\nG1 X3.21 Y80.223 E0.502\nG1 X4.813 Y80.142 E0.502\nG1 X6.414 Y80.029 E0.502\nG1 X8.013 Y79.884 E0.502\nG1 X9.608 Y79.706 E0.502\nG1 X11.199 Y79.497 E0.501\nG1 X12.786 Y79.255 E0.502\nG1 X14.368 Y78.982 E0.502\nG1 X15.944 Y78.677 E0.502\nG1 X17.514 Y78.34 E0.502\nG1 X19.076 Y77.971 E0.502\nG1 X20.63 Y77.571 E0.501\nG1 X22.177 Y77.14 E0.502\nG1 X23.714 Y76.678 E0.502\nG1 X25.242 Y76.185 E0.502\nG1 X26.759 Y75.662 E0.501\nG1 X28.266 Y75.108 E0.502\nG1 X29.761 Y74.523 E0.502\nG1 X31.244 Y73.909 E0.502\nG1 X32.714 Y73.265 E0.502\nG1 X34.171 Y72.591 E0.502\nG1 X35.614 Y71.889 E0.501\nG1 X37.043 Y71.157 E0.502\nG1 X38.457 Y70.397 E0.502\nG1 X39.672 Y69.712 E0.436\nG92 E0.0\nM221 S{if layer_height<0.075}100{else}95{endif} + +## Anycubic MEGA ZERO +## Author: https://github.com/kad +## Initial PR: https://github.com/prusa3d/PrusaSlicer/pull/4057 + +# Common print preset +[print:*common_mega0*] +avoid_crossing_perimeters = 1 +bridge_angle = 0 +bridge_flow_ratio = 0.7 +bridge_speed = 25 +brim_width = 0 +clip_multipart_objects = 1 +compatible_printers = +complete_objects = 0 +dont_support_bridges = 1 +elefant_foot_compensation = 0 +ensure_vertical_shell_thickness = 1 +external_fill_pattern = rectilinear +external_perimeters_first = 0 +external_perimeter_extrusion_width = 0.45 +extra_perimeters = 0 +extruder_clearance_height = 25 +extruder_clearance_radius = 45 +extrusion_width = 0.45 +fill_angle = 45 +fill_density = 20% +fill_pattern = grid +first_layer_extrusion_width = 0.42 +first_layer_height = 0.2 +first_layer_speed = 20 +gap_fill_speed = 30 +gcode_comments = 0 +infill_every_layers = 1 +infill_extruder = 1 +infill_extrusion_width = 0.45 +infill_first = 0 +infill_only_where_needed = 0 +infill_overlap = 25% +interface_shells = 0 +max_print_speed = 100 +max_volumetric_extrusion_rate_slope_negative = 0 +max_volumetric_extrusion_rate_slope_positive = 0 +max_volumetric_speed = 0 +min_skirt_length = 4 +notes = +overhangs = 1 +only_retract_when_crossing_perimeters = 0 +ooze_prevention = 0 +output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode +perimeters = 2 +perimeter_extruder = 1 +perimeter_extrusion_width = 0.45 +post_process = +print_settings_id = +raft_layers = 0 +resolution = 0 +seam_position = nearest +single_extruder_multi_material_priming = 1 +skirts = 2 +skirt_distance = 2 +skirt_height = 2 +small_perimeter_speed = 25 +solid_infill_below_area = 0 +solid_infill_every_layers = 0 +solid_infill_extruder = 1 +solid_infill_extrusion_width = 0.45 +spiral_vase = 0 +standby_temperature_delta = -5 +support_material = 0 +support_material_extruder = 0 +support_material_extrusion_width = 0.4 +support_material_interface_extruder = 0 +support_material_angle = 0 +support_material_buildplate_only = 0 +support_material_enforce_layers = 0 +support_material_contact_distance = 0.15 +support_material_interface_contact_loops = 0 +support_material_interface_layers = 2 +support_material_interface_spacing = 0.2 +support_material_interface_speed = 100% +support_material_pattern = rectilinear +support_material_spacing = 2 +support_material_speed = 40 +support_material_synchronize_layers = 0 +support_material_threshold = 45 +support_material_with_sheath = 0 +support_material_xy_spacing = 60% +thin_walls = 0 +top_infill_extrusion_width = 0.45 +top_solid_infill_speed = 40 +travel_speed = 100 +wipe_tower = 0 +wipe_tower_bridging = 10 +wipe_tower_rotation_angle = 0 +wipe_tower_width = 60 +wipe_tower_x = 170 +wipe_tower_y = 140 +xy_size_compensation = 0 + +[print:*0.10mm_mega0*] +inherits = *common_mega0* +perimeter_speed = 40 +external_perimeter_speed = 25 +infill_speed = 50 +solid_infill_speed = 40 +layer_height = 0.10 +perimeters = 3 +top_infill_extrusion_width = 0.4 +bottom_solid_layers = 6 +top_solid_layers = 7 + +[print:*0.20mm_mega0*] +inherits = *common_mega0* +perimeter_speed = 40 +external_perimeter_speed = 25 +infill_speed = 50 +solid_infill_speed = 40 +layer_height = 0.20 +top_infill_extrusion_width = 0.4 +bottom_solid_layers = 4 +top_solid_layers = 5 + +[print:*0.30mm_mega0*] +inherits = *common_mega0* +perimeter_speed = 40 +external_perimeter_speed = 25 +infill_speed = 50 +solid_infill_speed = 40 +layer_height = 0.24 +top_infill_extrusion_width = 0.45 +bottom_solid_layers = 3 +top_solid_layers = 4 + +[print:0.10mm DETAIL @MEGA0] +inherits = *0.10mm_mega0* +travel_speed = 120 +infill_speed = 50 +solid_infill_speed = 40 +top_solid_infill_speed = 30 +support_material_extrusion_width = 0.38 +compatible_printers_condition = printer_model=="MEGA0" and nozzle_diameter[0]==0.4 + +[print:0.20mm NORMAL @MEGA0] +inherits = *0.20mm_mega0* +travel_speed = 120 +infill_speed = 50 +solid_infill_speed = 40 +top_solid_infill_speed = 30 +support_material_extrusion_width = 0.38 +compatible_printers_condition = printer_model=="MEGA0" and nozzle_diameter[0]==0.4 + +[print:0.30mm DRAFT @MEGA0] +inherits = *0.30mm_mega0* +travel_speed = 120 +infill_speed = 50 +solid_infill_speed = 40 +top_solid_infill_speed = 30 +support_material_extrusion_width = 0.38 +compatible_printers_condition = printer_model=="MEGA0" and nozzle_diameter[0]==0.4 + +# Common filament preset +[filament:*common_mega0*] +cooling = 0 +compatible_printers = +extrusion_multiplier = 1 +filament_cost = 0 +filament_density = 0 +filament_diameter = 1.75 +filament_notes = "" +filament_settings_id = "" +filament_soluble = 0 +min_print_speed = 15 +slowdown_below_layer_time = 20 +compatible_printers_condition = printer_model=="MEGA0" + +[filament:*PLA_mega0*] +inherits = *common_mega0* +bed_temperature = 40 +fan_below_layer_time = 100 +filament_colour = #FF3232 +filament_max_volumetric_speed = 15 +filament_type = PLA +filament_density = 1.24 +filament_cost = 20 +first_layer_bed_temperature = 40 +first_layer_temperature = 215 +fan_always_on = 1 +cooling = 1 +max_fan_speed = 100 +min_fan_speed = 100 +bridge_fan_speed = 100 +disable_fan_first_layers = 1 +temperature = 210 + +[filament:*PET_mega0*] +inherits = *common_mega0* +bed_temperature = 70 +cooling = 1 +disable_fan_first_layers = 3 +fan_below_layer_time = 20 +filament_colour = #FF8000 +filament_max_volumetric_speed = 8 +filament_type = PETG +filament_density = 1.27 +filament_cost = 30 +first_layer_bed_temperature =70 +first_layer_temperature = 240 +fan_always_on = 1 +max_fan_speed = 50 +min_fan_speed = 20 +bridge_fan_speed = 100 +temperature = 240 + +[filament:*ABS_mega0*] +inherits = *common_mega0* +bed_temperature = 100 +cooling = 0 +disable_fan_first_layers = 3 +fan_below_layer_time = 20 +filament_colour = #3A80CA +filament_max_volumetric_speed = 11 +filament_type = ABS +filament_density = 1.04 +filament_cost = 20 +first_layer_bed_temperature = 100 +first_layer_temperature = 245 +fan_always_on = 0 +max_fan_speed = 0 +min_fan_speed = 0 +bridge_fan_speed = 30 +top_fan_speed = 0 +temperature = 245 + +[filament:Generic PLA @MEGA0] +inherits = *PLA_mega0* +filament_vendor = Generic + +[filament:Generic PETG @MEGA0] +inherits = *PET_mega0* +filament_vendor = Generic + +[filament:Generic ABS @MEGA0] +inherits = *ABS_mega0* +filament_vendor = Generic + +[filament:Anycubic PLA @MEGA0] +inherits = *PLA_mega0* +filament_vendor = Anycubic +temperature = 190 +first_layer_temperature = 195 +filament_cost = 24.99 +filament_density = 1.25 + +[filament:Prusament PLA @MEGA0] +inherits = *PLA_mega0* +filament_vendor = Prusa Polymers +temperature = 215 +bed_temperature = 40 +first_layer_temperature = 215 +filament_cost = 24.99 +filament_density = 1.24 + +[filament:Prusament PETG @MEGA0] +inherits = *PET_mega0* +filament_vendor = Prusa Polymers +temperature = 245 +bed_temperature = 70 +first_layer_temperature = 245 +filament_cost = 24.99 +filament_density = 1.27 + +# Common printer preset +[printer:*common_mega0*] +printer_technology = FFF +bed_shape = 0x0,220x0,220x220,0x220 +before_layer_gcode = ; BEFORE_LAYER_CHANGE [layer_num] @ [layer_z]mm +between_objects_gcode = +deretract_speed = 0 +extruder_colour = #FFFF00 +extruder_offset = 0x0 +gcode_flavor = marlin +silent_mode = 0 +remaining_times = 0 +machine_max_acceleration_e = 10000 +machine_max_acceleration_extruding = 2000 +machine_max_acceleration_retracting = 1500 +machine_max_acceleration_x = 3000 +machine_max_acceleration_y = 3000 +machine_max_acceleration_z = 500 +machine_max_feedrate_e = 120 +machine_max_feedrate_x = 500 +machine_max_feedrate_y = 500 +machine_max_feedrate_z = 12 +machine_max_jerk_e = 2.5 +machine_max_jerk_x = 20 +machine_max_jerk_y = 20 +machine_max_jerk_z = 0.4 +machine_min_extruding_rate = 0 +machine_min_travel_rate = 0 +layer_gcode = ; AFTER_LAYER_CHANGE [layer_num] @ [layer_z]mm +max_layer_height = 0.3 +min_layer_height = 0.1 +max_print_height = 200 +nozzle_diameter = 0.4 +printer_notes = +printer_settings_id = +retract_before_travel = 1 +retract_before_wipe = 0% +retract_layer_change = 1 +retract_length = 6 +retract_length_toolchange = 1 +retract_lift = 0 +retract_lift_above = 0 +retract_lift_below = 0 +retract_restart_extra = 0 +retract_restart_extra_toolchange = 0 +retract_speed = 30 +single_extruder_multi_material = 0 +start_gcode = G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nM117 Homing X/Y ...\nG28 X0 Y0 ;move X/Y to min endstops\nM117 Homing Z ...\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F240 ;move the platform down 15mm\nM117 Heating ...\nM104 S[first_layer_temperature]\n ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature]\n ; wait for extruder temp\nM117 Start cleaning ...\nG92 E0 ;zero the extruded length\nG1 F200 E10 ;extrude 10mm of feed stock\nG92 E0 ;zero the extruded length again\nM117 Intro line ...\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z[first_layer_height] F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z[first_layer_height] F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z[first_layer_height] F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3[first_layer_height] F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 E-1 F500 ; Retract filiment by 1 mm\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F240 ; Move over to prevent blob squish\nG92 E0 ; Reset Extruder\nM117 Printing...\n +end_gcode = M117 Cooling down...\nM104 S0 ; turn off extruder\nM140 S0 ; turn off heatbed\nM107 ; Fan off\nM84 ; disable motors\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F240 ;move Z up a bit and retract filament even more\nG28 X0 ;move X to min endstops, so the head is out of the way\nG90 ;Absolute positionning\nG1 Y200 F3000 ;Present print\nM84 ;steppers off\nM300 P300 S4000\nM117 Finished.\n +toolchange_gcode = +use_firmware_retraction = 0 +use_relative_e_distances = 1 +use_volumetric_e = 0 +variable_layer_height = 1 +wipe = 1 +z_offset = 0 +printer_model = +default_print_profile = +default_filament_profile = + +[printer:Anycubic Mega Zero] +inherits = *common_mega0* +printer_model = MEGA0 +printer_variant = 0.4 +max_layer_height = 0.3 +min_layer_height = 0.1 +printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_MEGA0 +bed_shape = 0x0,220x0,220x220,0x220 +max_print_height = 250 +machine_max_acceleration_e = 5000 +machine_max_acceleration_extruding = 500 +machine_max_acceleration_retracting = 500 +machine_max_acceleration_x = 500 +machine_max_acceleration_y = 500 +machine_max_acceleration_z = 100 +machine_max_feedrate_e = 25 +machine_max_feedrate_x = 500 +machine_max_feedrate_y = 500 +machine_max_feedrate_z = 5 +machine_max_jerk_e = 5 +machine_max_jerk_x = 10 +machine_max_jerk_y = 10 +machine_max_jerk_z = 0.4 +machine_min_extruding_rate = 0 +machine_min_travel_rate = 0 +nozzle_diameter = 0.4 +retract_before_travel = 2 +retract_layer_change = 0 +retract_length = 7 +retract_speed = 30 +retract_lift = 0.2 +deretract_speed = 30 +retract_before_wipe = 70% +default_print_profile = 0.20mm NORMAL @MEGA0 +default_filament_profile = Anycubic PLA @MEGA0 +start_gcode = G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nM117 Homing X/Y ...\nG28 X0 Y0 ;move X/Y to min endstops\nM117 Homing Z ...\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F240 ;move the platform down 15mm\nM117 Heating ...\nM104 S[first_layer_temperature]\n ; set extruder temp\nM109 S[first_layer_temperature]\n ; wait for extruder temp\nM117 Start cleaning ...\nG92 E0 ;zero the extruded length\nG1 F200 E10 ;extrude 10mm of feed stock\nG92 E0 ;zero the extruded length again\nM117 Intro line ...\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X0.1 Y20 Z[first_layer_height] F5000.0 ; Move to start position\nG1 X0.1 Y200.0 Z[first_layer_height] F1500.0 E15 ; Draw the first line\nG1 X0.4 Y200.0 Z[first_layer_height] F5000.0 ; Move to side a little\nG1 X0.4 Y20 Z0.3[first_layer_height] F1500.0 E30 ; Draw the second line\nG92 E0 ; Reset Extruder\nG1 E-1 F500 ; Retract filiment by 1 mm\nG1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed\nG1 X5 Y20 Z0.3 F240 ; Move over to prevent blob squish\nG92 E0 ; Reset Extruder\nM117 Printing...\n +end_gcode = M117 Cooling down...\nM104 S0 ; turn off extruder\nM107 ; Fan off\nM84 ; disable motors\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F240 ;move Z up a bit and retract filament even more\nG28 X0 ;move X to min endstops, so the head is out of the way\nG90 ;Absolute positionning\nG1 Y200 F3000 ;Present print\nM84 ;steppers off\nM300 P300 S4000\nM117 Finished.\n + +## Anycubic i3 Mega and i3 Mega S +## Author: https://github.com/Igami +## Initial PR: https://github.com/prusa3d/PrusaSlicer/pull/4619 + +[print:*common_mega*] +bottom_solid_min_thickness = 0.5 +bridge_acceleration = 1000 +bridge_flow_ratio = 0.95 +bridge_speed = 30 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/ and nozzle_diameter[0]==0.4 +default_acceleration = 1000 +ensure_vertical_shell_thickness = 1 +external_perimeter_extrusion_width = 0.45 +external_perimeter_speed = 25 +extruder_clearance_height = 35 +extruder_clearance_radius = 60 +extrusion_width = 0.45 +fill_density = 15% +fill_pattern = gyroid +first_layer_acceleration = 1000 +first_layer_extrusion_width = 0.42 +first_layer_height = 0.2 +first_layer_speed = 20 +gap_fill_speed = 40 +gcode_comments = 1 +infill_acceleration = 1000 +infill_anchor = 2.5 +infill_anchor_max = 12 +infill_extrusion_width = 0.45 +max_print_speed = 200 +min_skirt_length = 4 +only_retract_when_crossing_perimeters = 0 +output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode +perimeter_acceleration = 800 +perimeter_extrusion_width = 0.45 +perimeter_speed = 45 +perimeters = 2 +seam_position = nearest +skirt_distance = 2 +skirt_height = 3 +skirts = 1 +small_perimeter_speed = 25 +solid_infill_below_area = 0 +solid_infill_extrusion_width = 0.45 +solid_infill_speed = 80 +support_material_buildplate_only = 1 +support_material_contact_distance = 0.1 +support_material_extrusion_width = 0.35 +support_material_interface_layers = 2 +support_material_interface_spacing = 0.2 +support_material_spacing = 2 +support_material_speed = 50 +support_material_threshold = 55 +thin_walls = 0 +top_infill_extrusion_width = 0.4 +top_solid_infill_speed = 40 +top_solid_layers = 5 +top_solid_min_thickness = 0.6 +travel_speed = 180 + +[print:*supported_mega*] +support_material = 1 + +# XXXXXXXXXXXXXXXXXXXX +# XXX--- 0.15mm ---XXX +# XXXXXXXXXXXXXXXXXXXX + +[print:*0.15mm_mega*] +inherits = *common_mega* +bottom_solid_layers = 5 +layer_height = 0.15 +top_solid_layers = 7 + +[print:0.15mm QUALITY @MEGA] +inherits = *0.15mm_mega* + +[print:0.15mm QUALITY SUPPORTED @MEGA] +inherits = *0.15mm_mega*;*supported_mega* + +# XXXXXXXXXXXXXXXXXXXX +# XXX--- 0.20mm ---XXX +# XXXXXXXXXXXXXXXXXXXX + +[print:*0.20mm_mega*] +inherits = *common_mega* +bottom_solid_layers = 4 +layer_height = 0.2 +top_solid_layers = 5 + +[print:0.20mm QUALITY @MEGA] +inherits = *0.20mm_mega* + +[print:0.20mm QUALITY SUPPORTED @MEGA] +inherits = *0.20mm_mega*;*supported_mega* + +# XXXXXXXXXXXXXXXXXXXX +# XXX--- 0.30mm ---XXX +# XXXXXXXXXXXXXXXXXXXX + +[print:*0.30mm_mega*] +inherits = *common_mega* +bottom_solid_layers = 4 +external_perimeter_extrusion_width = 0.6 +external_perimeter_speed = 35 +extrusion_width = 0.5 +fill_pattern = grid +infill_extrusion_width = 0.5 +infill_speed = 85 +layer_height = 0.3 +perimeter_extrusion_width = 0.5 +perimeter_speed = 50 +small_perimeter_speed = 30 +solid_infill_extrusion_width = 0.5 +support_material_extrusion_width = 0.38 +support_material_speed = 45 +top_solid_layers = 4 + +[print:0.30mm DRAFT @MEGA] +inherits = *0.30mm_mega* + +[print:0.30mm DRAFT SUPPORTED @MEGA] +inherits = *0.30mm_mega*;*supported_mega* + +# XXXXXXXXXXXXXXXXXXXXXX +# XXX--- filament ---XXX +# XXXXXXXXXXXXXXXXXXXXXX + +[filament:*common_mega*] +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/ +end_filament_gcode = "; Filament-specific end gcode" +fan_always_on = 1 +fan_below_layer_time = 100 +filament_vendor = Generic +min_print_speed = 15 +slowdown_below_layer_time = 20 + +[filament:*ABS_mega*] + inherits = *common_mega* + bed_temperature = 110 + bridge_fan_speed = 25 + cooling = 0 + fan_always_on = 0 + fan_below_layer_time = 20 + filament_colour = #3A80CA + filament_cost = 27.82 + filament_density = 1.04 + filament_max_volumetric_speed = 11 + filament_ramming_parameters = "120 100 5.70968 6.03226 7 8.25806 9 9.19355 9.3871 9.77419 10.129 10.3226 10.4516 10.5161| 0.05 5.69677 0.45 6.15484 0.95 8.76774 1.45 9.20323 1.95 9.95806 2.45 10.3871 2.95 10.5677 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + filament_type = ABS + first_layer_bed_temperature = 105 + first_layer_temperature = 255 + max_fan_speed = 30 + min_fan_speed = 20 + temperature = 255 + +[filament:Generic ABS @MEGA] +inherits = *ABS_mega* + +[filament:*FLEX_mega*] +inherits = *common_mega* +bed_temperature = 50 +bridge_fan_speed = 80 +cooling = 0 +extrusion_multiplier = 1.15 +fan_always_on = 0 +filament_colour = #008000 +filament_cost = 82.00 +filament_density = 1.22 +filament_deretract_speed = 25 +filament_max_volumetric_speed = 1.2 +filament_retract_length = 0.8 +filament_type = FLEX +first_layer_bed_temperature = 55 +first_layer_temperature = 240 +max_fan_speed = 90 +min_fan_speed = 70 +temperature = 240 + +[filament:Generic FLEX @MEGA] +inherits = *FLEX_mega* + +[filament:SainSmart TPU @MEGA] +inherits = *FLEX_mega* +filament_vendor = SainSmart +bed_temperature = 50 +bridge_fan_speed = 100 +cooling = 1 +disable_fan_first_layers = 4 +filament_cost = 39.99 +filament_density = 1.21 +filament_deretract_speed = 15 +filament_max_volumetric_speed = 1.8 +filament_notes = "SainSmart TPU gains popularity among 3D Printing community for its balance of rigidity and flexibility. In addition, with a 95A Shore Hardness and improved bed adhesion, it is easier to print even with a stock elementary 3D Printer like the Creality Ender 3. SainSmart TPU will not disappoint if you are looking for flexible filament. From drone parts, phone cases, to small toys, all can be printed with ease.\n\nhttps://www.sainsmart.com/collections/tpu-filament/products/all-colors-tpu-flexible-filament-1-75mm-0-8kg-1-76lb" +filament_retract_before_travel = 5 +filament_retract_length = 4 +filament_retract_speed = 40 +filament_unloading_speed = 90 +first_layer_bed_temperature = 55 +first_layer_temperature = 235 +full_fan_speed_layer = 6 +max_fan_speed = 80 +min_fan_speed = 80 +slowdown_below_layer_time = 10 +temperature = 235 + +[filament:*PETG_mega*] +inherits = *common_mega* +bed_temperature = 90 +bridge_fan_speed = 50 +fan_below_layer_time = 20 +filament_colour = #FF8000 +filament_cost = 27.82 +filament_density = 1.27 +filament_max_volumetric_speed = 8 +filament_type = PETG +first_layer_bed_temperature = 90 +first_layer_temperature = 230 +max_fan_speed = 50 +min_fan_speed = 30 +temperature = 240 + +[filament:Generic PETG @MEGA] +inherits = *PETG_mega* + +[filament:ColorFabb XT-CF20 @MEGA] +inherits = *PETG_mega* +compatible_printers_condition = nozzle_diameter[0]>=0.4 and printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/ +extrusion_multiplier = 1.05 +filament_colour = #804040 +filament_cost = 66.60 +filament_density = 1.35 +filament_deretract_speed = 25 +filament_max_volumetric_speed = 2 +filament_notes = "Based on colorFabb_XT, XT-CF20 is a carbon fiber composite material. Loaded with no less than 20% specially sourced carbon fibers we have developed a very stiff and tough 3D printing filament made for functional parts. It is truly a professional printers go-to material, especially for users looking for high melt strength, high melt viscosity and good dimensional accuracy and stability.\n\nhttps://colorfabb.com/xt-cf20" +filament_retract_before_travel = 1 +filament_retract_length = 1.4 +filament_retract_speed = 40 +filament_spool_weight = 236 +filament_vendor = ColorFabb +first_layer_temperature = 260 +full_fan_speed_layer = 5 +slowdown_below_layer_time = 15 +temperature = 260 + +[filament:ERYONE PETG @MEGA] +inherits = *PETG_mega* +filament_vendor = ERYONE +filament_cost = 20.99 +filament_notes = "https://eryone.com/petg/show/10.html" + +[filament:FormFutura HDglass @MEGA] +inherits = *PETG_mega* +filament_vendor = FormFutura +filament_cost = 46.65 +filament_notes = "HDglass is a high performance PETG type of 3D printer with unsurpassed 3D printing properties and improved mechanical strength, flexibility, toughness and heat resistance.\n\nhttps://www.formfutura.com/shop/product/hdglass-2812" + +[filament:FormFutura ReForm rPET @MEGA] +inherits = *PETG_mega* +filament_vendor = FormFutura +filament_cost = 26.65 +filament_notes = "ReForm rPET is a recycled PETG type of 3D printer filament that is made from post-industrial waste streams of a nearby located plastic bottle manufacturer.\n\nhttps://www.formfutura.com/shop/product/reform-rpet-2836" +filament_spool_weight = 176 + +[filament:Janbex transparent PETG @MEGA] +inherits = *PETG_mega* +filament_vendor = Janbex +filament_cost = 31.99 +filament_spool_weight = 222 +first_layer_temperature = 215 +min_fan_speed = 100 +temperature = 210 + +[filament:*PLA_mega*] +inherits = *common_mega* +bed_temperature = 60 +disable_fan_first_layers = 1 +filament_colour = #FF3232 +filament_cost = 25.40 +filament_density = 1.24 +filament_max_volumetric_speed = 10 +first_layer_bed_temperature = 65 +first_layer_temperature = 215 +min_fan_speed = 100 +temperature = 210 + +[filament:Generic PLA @MEGA] +inherits = *PLA_mega* + +[filament:3Dmensionals PLA @MEGA] +inherits = *PLA_mega* +filament_vendor = 3Dmensionals +filament_cost = 22.90 +filament_notes = "Das 3DFilaments - PLA von 3Dmensionals ist ein sehr leicht zu druckendes 3D-Drucker Filament. Dabei handelt es sich um ein etwas härteres PLA mit einer exzellenten thermischen Stabilität. Das Filament zeichnet sich vor allem durch verzugfreies 3D-Drucken aus und weist minimale bis keine Verformung nach dem Abkühlen auf. Daher ist es besonders gut für den Druck größerer Objekte geeignet. Zudem bietet 3DFilaments - PLA über die gesamte Fadenläge eine hervorragende Durchmesser- und Rundheitstoleranz.\n\nhttps://www.3dmensionals.de/3dfilaments?number=PSU3DM001V" + +[filament:3D Warhorse PLA @MEGA] +inherits = *PLA_mega* +filament_vendor = 3D Warhorse +filament_cost = 19.99 + +[filament:AMOLEN wood PLA] +inherits = *PLA_mega* +filament_vendor = AMOLEN +compatible_printers_condition = nozzle_diameter[0]>0.35 and printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/ +extrusion_multiplier = 1.1 +filament_colour = #DFC287 +filament_cost = 33.99 +filament_density = 1.23 +filament_max_volumetric_speed = 9 +filament_notes = "https://amolen.com/collections/wood/products/amolen-pla-filament-1-75mm-wood-color-3d-printer-filament-1kg2-2lb" + +[filament:FormFutura EasyFil PLA @MEGA] +inherits = *PLA_mega* +filament_vendor = FormFutura +filament_cost = 39.93 +filament_notes = "EasyFil PLA is an easy to print PLA type of 3D printer filament that is available in a wide variety of colors. Its improved flowing behavior make 3D printed layers flow more into each other.\n\nhttps://www.formfutura.com/shop/product/easyfil-pla-2801" + +[filament:FormFutura ReForm rPLA @MEGA] +inherits = *PLA_mega* +filament_vendor = FormFutura +filament_cost = 26.65 +filament_notes = "ReForm is a sustainable initiative within Formfutura to efficiently manage residual extrusion waste streams and re-use them into high-end upcycled filaments. The ideology behind ReForm is to a make 3D printing more sustainable – without having to make compromises on material properties – and yet keep it affordable.\n\nhttps://www.formfutura.com/shop/product/reform-rpla-2838" + +[filament:GIANTARM PLA @MEGA] +inherits = *PLA_mega* +filament_vendor = GIANTARM +filament_cost = 24.99 + +[filament:Prusament PLA @MEGA] +inherits = *PLA_mega* +filament_vendor = Prusa Polymers +filament_cost = 30.24 +filament_notes = "Affordable filament for everyday printing in premium quality manufactured in-house by Josef Prusa" +filament_spool_weight = 201 +temperature = 215 + +[filament:Verbatim PLA @MEGA] +inherits = *PLA_mega* +filament_vendor = Verbatim +filament_cost = 23.88 + +[printer:*common_mega*] +printer_technology = FFF +bed_shape = 0x0,210x0,210x210,0x210 +before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z] +default_filament_profile = Generic PLA @MEGA +default_print_profile = 0.15mm QUALITY @MEGA +deretract_speed = 40 +end_gcode = G1 E-1.0 F2100 ; retract\nG92 E0.0\nG1{if max_layer_z < max_print_height} Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} E-34.0 F720 ; move print head up & retract filament\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y105 F3000 ; park print head\nM84 ; disable motors +extruder_colour = #808080 +gcode_flavor = marlin +layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z] +max_layer_height = 0.36 +max_print_height = 205 +remaining_times = 1 +retract_before_travel = 1.5 +retract_before_wipe = 60% +retract_layer_change = 1 +retract_length = 3.2 +retract_lift = 0.2 +retract_lift_below = 204 +retract_speed = 70 +silent_mode = 0 +start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting]\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all\nG1 Y1.0 Z0.3 F1000 ; move print head up\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG92 E0.0\n; initial load\nG1 X205.0 E19 F1000\nG1 Y1.6\nG1 X5.0 E19 F1000\nG92 E0.0\n; intro line\nG1 Y2.0 Z0.2 F1000\nG1 X65.0 E9.0 F1000\nG1 X105.0 E12.5 F1000\nG92 E0.0 +thumbnails = 16x16,220x124 +use_relative_e_distances = 1 +wipe = 1 +machine_max_acceleration_e = 10000 +machine_max_acceleration_extruding = 1250 +machine_max_acceleration_retracting = 1250 +machine_max_acceleration_x = 3000 +machine_max_acceleration_y = 2000 +machine_max_acceleration_z = 60 +machine_max_feedrate_e = 60 +machine_max_feedrate_x = 500 +machine_max_feedrate_y = 500 +machine_max_feedrate_z = 6 +machine_max_jerk_e = 5 +machine_max_jerk_x = 10 +machine_max_jerk_y = 10 +machine_max_jerk_z = 0.4 + +[printer:Anycubic i3 Mega] +inherits = *common_mega* +printer_model = I3MEGA +printer_variant = 0.4 +printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_I3_MEGA\nPRINTER_HAS_BOWDEN + +[printer:Anycubic i3 Mega S] +inherits = *common_mega* +printer_model = I3MEGAS +printer_variant = 0.4 +printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_I3_MEGA_S\nPRINTER_HAS_BOWDEN +machine_max_feedrate_e = 30 +machine_max_feedrate_z = 8 + + +## Anycubic PREDATOR +## Author: https://github.com/tillverka3d +## Initial PR: https://github.com/prusa3d/PrusaSlicer/pull/4960 + +######################################### +###### begin common print presets ####### +######################################### + +# Common print preset +[print:*common predator*] +spiral_vase = 0 +top_solid_min_thickness = 0.8 +bottom_solid_min_thickness = 0.6 +extra_perimeters = 0 +ensure_vertical_shell_thickness = 1 +avoid_crossing_perimeters = 0 +thin_walls = 0 +overhangs = 1 +seam_position = nearest +external_perimeters_first = 0 +fill_density = 20% +external_fill_pattern = rectilinear +infill_every_layers = 1 +infill_only_where_needed = 0 +solid_infill_every_layers = 0 +fill_angle = 45 +solid_infill_below_area = 20 +bridge_angle = 0 +only_retract_when_crossing_perimeters = 0 +infill_first = 0 +skirts = 1 +skirt_distance = 4 +skirt_height = 1 +min_skirt_length = 8 +brim_width = 0 +support_material = 0 +support_material_auto = 1 +support_material_threshold = 50 +support_material_enforce_layers = 0 +raft_layers = 0 +support_material_contact_distance = 0.1 +support_material_pattern = rectilinear +support_material_with_sheath = 0 +support_material_spacing = 2 +support_material_angle = 0 +support_material_interface_layers = 2 +support_material_interface_spacing = 0.2 +support_material_interface_contact_loops = 0 +support_material_buildplate_only = 0 +support_material_xy_spacing = 60% +dont_support_bridges = 1 +support_material_synchronize_layers = 0 +travel_speed = 94 +first_layer_speed = 15 +perimeter_acceleration = 0 +infill_acceleration = 0 +bridge_acceleration = 0 +first_layer_acceleration = 0 +default_acceleration = 0 +max_volumetric_speed = 15 +perimeter_extruder = 1 +infill_extruder = 1 +solid_infill_extruder = 1 +support_material_extruder = 0 +support_material_interface_extruder = 0 +ooze_prevention = 0 +standby_temperature_delta = -5 +wipe_tower = 0 +wipe_tower_x = 170 +wipe_tower_y = 140 +wipe_tower_width = 60 +wipe_tower_rotation_angle = 0 +wipe_tower_bridging = 10 +interface_shells = 0 +bridge_flow_ratio = 0.8 +resolution = 0 +xy_size_compensation = 0 +elefant_foot_compensation = 0.2 +clip_multipart_objects = 1 +complete_objects = 0 +extruder_clearance_radius = 45 +extruder_clearance_height = 25 +gcode_comments = 0 +output_filename_format = {input_filename_base}.gcode +post_process = +notes = +max_volumetric_extrusion_rate_slope_negative = 0 +max_volumetric_extrusion_rate_slope_positive = 0 +print_settings_id = + +# Common print preset +[print:*common predator 0.4 nozzle*] +inherits = *common predator* +first_layer_height = 0.16 +infill_overlap = 25% +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_PREDATOR.*/ and printer_notes=~/.*PRINTER_HAS_BOWDEN.*/ and nozzle_diameter[0]==0.4 + +# Common print preset +[print:*common predator 0.6 nozzle*] +inherits = *common predator* +first_layer_height = 0.24 +infill_overlap = 27% +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_PREDATOR.*/ and printer_notes=~/.*PRINTER_HAS_BOWDEN.*/ and nozzle_diameter[0]==0.6 + +# Common print preset +[print:*common predator 0.8 nozzle*] +inherits = *common predator* +first_layer_height = 0.32 +infill_overlap = 30% +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_PREDATOR.*/ and printer_notes=~/.*PRINTER_HAS_BOWDEN.*/ and nozzle_diameter[0]==0.8 + +# Common print preset +[print:*common predator quality*] +perimeter_speed = 50 +small_perimeter_speed = 15 +external_perimeter_speed = 70% +infill_speed = 65 +solid_infill_speed = 85% +top_solid_infill_speed = 85% +support_material_speed = 30 +support_material_interface_speed = 85% +bridge_speed = 30 +gap_fill_speed = 40 +ironing_speed = 15 + +# Common print preset +[print:*common predator speed*] +perimeter_speed = 70 +small_perimeter_speed = 15 +external_perimeter_speed = 70% +infill_speed = 85 +solid_infill_speed = 85% +top_solid_infill_speed = 85% +support_material_speed = 30 +support_material_interface_speed = 85% +bridge_speed = 30 +gap_fill_speed = 40 +ironing_speed = 15 + +# Common print preset +[print:*common predator 0.4 nozzle detailed*] +inherits = *common predator 0.4 nozzle* +extrusion_width = 0.42 +first_layer_extrusion_width = 0.41 +perimeter_extrusion_width = 0.42 +external_perimeter_extrusion_width = 0.42 +infill_extrusion_width = 0.4 +solid_infill_extrusion_width = 0.4 +top_infill_extrusion_width = 0.4 +support_material_extrusion_width = 0.38 + +# Common print preset +[print:*common predator 0.4 nozzle coarse*] +inherits = *common predator 0.4 nozzle* +extrusion_width = 0.44 +first_layer_extrusion_width = 0.42 +perimeter_extrusion_width = 0.5 +external_perimeter_extrusion_width = 0.5 +infill_extrusion_width = 0.5 +solid_infill_extrusion_width = 0.5 +top_infill_extrusion_width = 0.4 +support_material_extrusion_width = 0.38 + +# Common print preset +[print:*common predator 0.6 nozzle detailed*] +inherits = *common predator 0.6 nozzle* +extrusion_width = 0.64 +first_layer_extrusion_width = 0.62 +perimeter_extrusion_width = 0.64 +external_perimeter_extrusion_width = 0.64 +infill_extrusion_width = 0.6 +solid_infill_extrusion_width = 0.6 +top_infill_extrusion_width = 0.6 +support_material_extrusion_width = 0.56 + +# Common print preset +[print:*common predator 0.6 nozzle coarse*] +inherits = *common predator 0.6 nozzle* +extrusion_width = 0.67 +first_layer_extrusion_width = 0.64 +perimeter_extrusion_width = 0.7 +external_perimeter_extrusion_width = 0.7 +infill_extrusion_width = 0.7 +solid_infill_extrusion_width = 0.7 +top_infill_extrusion_width = 0.6 +support_material_extrusion_width = 0.56 + +# Common print preset +[print:*common predator 0.8 nozzle detailed*] +inherits = *common predator 0.8 nozzle* +extrusion_width = 0.84 +first_layer_extrusion_width = 0.82 +perimeter_extrusion_width = 0.84 +external_perimeter_extrusion_width = 0.84 +infill_extrusion_width = 0.8 +solid_infill_extrusion_width = 0.8 +top_infill_extrusion_width = 0.8 +support_material_extrusion_width = 0.72 + +# Common print preset +[print:*common predator 0.8 nozzle coarse*] +inherits = *common predator 0.8 nozzle* +extrusion_width = 0.87 +first_layer_extrusion_width = 0.84 +perimeter_extrusion_width = 0.9 +external_perimeter_extrusion_width = 0.9 +infill_extrusion_width = 0.9 +solid_infill_extrusion_width = 0.9 +top_infill_extrusion_width = 0.8 +support_material_extrusion_width = 0.72 + +######################################### +####### end common print presets ######## +######################################### + +######################################### +########## begin print presets ########## +######################################### + +[print:0.08mm 0.4 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.4 nozzle detailed*; *common predator quality* +layer_height = 0.08 +max_print_speed = 50 +perimeters = 3 +fill_pattern = grid + +[print:0.16mm 0.4 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.4 nozzle detailed*; *common predator quality* +layer_height = 0.16 +max_print_speed = 60 +perimeters = 3 +fill_pattern = grid + +[print:0.16mm 0.4 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.4 nozzle coarse*; *common predator quality* +layer_height = 0.16 +max_print_speed = 60 +perimeters = 3 +fill_pattern = grid + +[print:0.24mm 0.4 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.4 nozzle detailed*; *common predator quality* +layer_height = 0.24 +max_print_speed = 70 +perimeters = 3 +fill_pattern = grid + +[print:0.24mm 0.4 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.4 nozzle coarse*; *common predator quality* +layer_height = 0.24 +max_print_speed = 70 +perimeters = 3 +fill_pattern = grid + +[print:0.32mm 0.4 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.4 nozzle detailed*; *common predator quality* +layer_height = 0.32 +max_print_speed = 70 +perimeters = 3 +fill_pattern = grid + +[print:0.32mm 0.4 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.4 nozzle coarse*; *common predator quality* +layer_height = 0.32 +max_print_speed = 70 +perimeters = 3 +fill_pattern = grid + +[print:0.16mm 0.6 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.6 nozzle detailed*; *common predator quality* +layer_height = 0.16 +max_print_speed = 70 +perimeters = 2 +fill_pattern = gyroid + +[print:0.16mm 0.6 nozzle DETAILED SPEED @PREDATOR] +inherits = *common predator 0.6 nozzle detailed*; *common predator speed* +layer_height = 0.16 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.16mm 0.6 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.6 nozzle coarse*; *common predator quality* +layer_height = 0.16 +max_print_speed = 70 +perimeters = 2 +fill_pattern = gyroid + +[print:0.16mm 0.6 nozzle COARSE SPEED @PREDATOR] +inherits = *common predator 0.6 nozzle coarse*; *common predator speed* +layer_height = 0.16 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.24mm 0.6 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.6 nozzle detailed*; *common predator quality* +layer_height = 0.24 +max_print_speed = 70 +perimeters = 2 +fill_pattern = gyroid + +[print:0.24mm 0.6 nozzle DETAILED SPEED @PREDATOR] +inherits = *common predator 0.6 nozzle detailed*; *common predator speed* +layer_height = 0.24 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.24mm 0.6 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.6 nozzle coarse*; *common predator quality* +layer_height = 0.24 +max_print_speed = 70 +perimeters = 2 +fill_pattern = gyroid + +[print:0.24mm 0.6 nozzle COARSE SPEED @PREDATOR] +inherits = *common predator 0.6 nozzle coarse*; *common predator speed* +layer_height = 0.24 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.32mm 0.6 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.6 nozzle detailed*; *common predator quality* +layer_height = 0.32 +max_print_speed = 70 +perimeters = 2 +fill_pattern = gyroid + +[print:0.32mm 0.6 nozzle DETAILED SPEED @PREDATOR] +inherits = *common predator 0.6 nozzle detailed*; *common predator speed* +layer_height = 0.32 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.32mm 0.6 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.6 nozzle coarse*; *common predator quality* +layer_height = 0.32 +max_print_speed = 70 +perimeters = 2 +fill_pattern = gyroid + +[print:0.32mm 0.6 nozzle COARSE SPEED @PREDATOR] +inherits = *common predator 0.6 nozzle coarse*; *common predator speed* +layer_height = 0.32 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.4mm 0.6 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.6 nozzle detailed*; *common predator quality* +layer_height = 0.4 +max_print_speed = 70 +perimeters = 2 +fill_pattern = gyroid + +[print:0.4mm 0.6 nozzle DETAILED SPEED @PREDATOR] +inherits = *common predator 0.6 nozzle detailed*; *common predator speed* +layer_height = 0.4 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.4mm 0.6 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.6 nozzle coarse*; *common predator quality* +layer_height = 0.4 +max_print_speed = 70 +perimeters = 2 +fill_pattern = gyroid + +[print:0.4mm 0.6 nozzle COARSE SPEED @PREDATOR] +inherits = *common predator 0.6 nozzle coarse*; *common predator speed* +layer_height = 0.4 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.24mm 0.8 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.8 nozzle detailed*; *common predator quality* +layer_height = 0.24 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.24mm 0.8 nozzle DETAILED SPEED @PREDATOR] +inherits = *common predator 0.8 nozzle detailed*; *common predator speed* +layer_height = 0.24 +max_print_speed = 90 +perimeters = 2 +fill_pattern = gyroid + +[print:0.24mm 0.8 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.8 nozzle coarse*; *common predator quality* +layer_height = 0.24 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.24mm 0.8 nozzle COARSE SPEED @PREDATOR] +inherits = *common predator 0.8 nozzle coarse*; *common predator speed* +layer_height = 0.24 +max_print_speed = 90 +perimeters = 2 +fill_pattern = gyroid + +[print:0.32mm 0.8 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.8 nozzle detailed*; *common predator quality* +layer_height = 0.32 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.32mm 0.8 nozzle DETAILED SPEED @PREDATOR] +inherits = *common predator 0.8 nozzle detailed*; *common predator speed* +layer_height = 0.32 +max_print_speed = 90 +perimeters = 2 +fill_pattern = gyroid + +[print:0.32mm 0.8 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.8 nozzle coarse*; *common predator quality* +layer_height = 0.32 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.32mm 0.8 nozzle COARSE SPEED @PREDATOR] +inherits = *common predator 0.8 nozzle coarse*; *common predator speed* +layer_height = 0.32 +max_print_speed = 90 +perimeters = 2 +fill_pattern = gyroid + +[print:0.4mm 0.8 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.8 nozzle detailed*; *common predator quality* +layer_height = 0.4 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.4mm 0.8 nozzle DETAILED SPEED @PREDATOR] +inherits = *common predator 0.8 nozzle detailed*; *common predator speed* +layer_height = 0.4 +max_print_speed = 90 +perimeters = 2 +fill_pattern = gyroid + +[print:0.4mm 0.8 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.8 nozzle coarse*; *common predator quality* +layer_height = 0.4 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.4mm 0.8 nozzle COARSE SPEED @PREDATOR] +inherits = *common predator 0.8 nozzle coarse*; *common predator speed* +layer_height = 0.4 +max_print_speed = 90 +perimeters = 2 +fill_pattern = gyroid + +[print:0.48mm 0.8 nozzle DETAILED QUALITY @PREDATOR] +inherits = *common predator 0.8 nozzle detailed*; *common predator quality* +layer_height = 0.48 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.48mm 0.8 nozzle DETAILED SPEED @PREDATOR] +inherits = *common predator 0.8 nozzle detailed*; *common predator speed* +layer_height = 0.48 +max_print_speed = 90 +perimeters = 2 +fill_pattern = gyroid + +[print:0.48mm 0.8 nozzle COARSE QUALITY @PREDATOR] +inherits = *common predator 0.8 nozzle coarse*; *common predator quality* +layer_height = 0.48 +max_print_speed = 80 +perimeters = 2 +fill_pattern = gyroid + +[print:0.48mm 0.8 nozzle COARSE SPEED @PREDATOR] +inherits = *common predator 0.8 nozzle coarse*; *common predator speed* +layer_height = 0.48 +max_print_speed = 90 +perimeters = 2 +fill_pattern = gyroid + +######################################### +########### end print presets ########### +######################################### + +######################################### +######## begin filament presets ######### +######################################### + +# Common filament preset +[filament:*common predator*] +cooling = 0 +compatible_printers = +extrusion_multiplier = 1 +filament_cost = 0 +filament_density = 0 +filament_diameter = 1.75 +filament_notes = "" +filament_settings_id = "" +filament_soluble = 0 +min_print_speed = 15 +slowdown_below_layer_time = 20 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_PREDATOR.*/ + +[filament:*PLA predator*] +inherits = *common predator* +bed_temperature = 60 +fan_below_layer_time = 100 +filament_colour = #FF3232 +filament_max_volumetric_speed = 10 +filament_type = PLA +filament_density = 1.24 +filament_cost = 20 +first_layer_bed_temperature = 60 +first_layer_temperature = 200 +fan_always_on = 1 +cooling = 1 +max_fan_speed = 100 +min_fan_speed = 100 +bridge_fan_speed = 100 +disable_fan_first_layers = 1 +temperature = 200 + +[filament:*PET predator*] +inherits = *common predator* +bed_temperature = 70 +cooling = 1 +disable_fan_first_layers = 3 +fan_below_layer_time = 20 +filament_colour = #FF8000 +filament_max_volumetric_speed = 8 +filament_type = PETG +filament_density = 1.27 +filament_cost = 30 +first_layer_bed_temperature =70 +first_layer_temperature = 240 +fan_always_on = 1 +max_fan_speed = 50 +min_fan_speed = 20 +bridge_fan_speed = 100 +temperature = 240 + +[filament:*ABS predator*] +inherits = *common predator* +bed_temperature = 100 +cooling = 0 +disable_fan_first_layers = 3 +fan_below_layer_time = 20 +filament_colour = #3A80CA +filament_max_volumetric_speed = 10 +filament_type = ABS +filament_density = 1.04 +filament_cost = 20 +first_layer_bed_temperature = 100 +first_layer_temperature = 245 +fan_always_on = 0 +max_fan_speed = 0 +min_fan_speed = 0 +bridge_fan_speed = 30 +top_fan_speed = 0 +temperature = 245 + +[filament:Generic PLA @PREDATOR] +inherits = *PLA predator* +filament_vendor = Generic + +[filament:Generic PETG @PREDATOR] +inherits = *PET predator* +filament_vendor = Generic + +[filament:Generic ABS @PREDATOR] +inherits = *ABS predator* +filament_vendor = Generic + +######################################### +######### end filament presets ########## +######################################### + +######################################### +######### begin printer presets ######### +######################################### + +# Anycubic predator common printer preset +[printer:*common predator*] +printer_vendor = Anycubic +printer_model = Predator +printer_technology = FFF +printer_variant = 0.4 +thumbnails = 16x16,220x124 +bed_shape = 188.779x16.516,186.621x32.9063,183.043x49.0462,178.072x64.8128,171.745x80.0862,164.112x94.75,155.229x108.693,145.165x121.808,133.997x133.997,121.808x145.165,108.693x155.229,94.75x164.112,80.0862x171.745,64.8128x178.072,49.0462x183.043,32.9063x186.621,16.516x188.779,1.16035e-14x189.5,-16.516x188.779,-32.9063x186.621,-49.0462x183.043,-64.8128x178.072,-80.0862x171.745,-94.75x164.112,-108.693x155.229,-121.808x145.165,-133.997x133.997,-145.165x121.808,-155.229x108.693,-164.112x94.75,-171.745x80.0862,-178.072x64.8128,-183.043x49.0462,-186.621x32.9063,-188.779x16.516,-189.5x2.32071e-14,-188.779x-16.516,-186.621x-32.9063,-183.043x-49.0462,-178.072x-64.8128,-171.745x-80.0862,-164.112x-94.75,-155.229x-108.693,-145.165x-121.808,-133.997x-133.997,-121.808x-145.165,-108.693x-155.229,-94.75x-164.112,-80.0862x-171.745,-64.8128x-178.072,-49.0462x-183.043,-32.9063x-186.621,-16.516x-188.779,-3.48106e-14x-189.5,16.516x-188.779,32.9063x-186.621,49.0462x-183.043,64.8128x-178.072,80.0862x-171.745,94.75x-164.112,108.693x-155.229,121.808x-145.165,133.997x-133.997,145.165x-121.808,155.229x-108.693,164.112x-94.75,171.745x-80.0862,178.072x-64.8128,183.043x-49.0462,186.621x-32.9063,188.779x-16.516,189.5x-4.64141e-14 +max_print_height = 445 +z_offset = 0 +single_extruder_multi_material = 0 +gcode_flavor = reprap +silent_mode = 0 +remaining_times = 0 +use_relative_e_distances = 0 +use_firmware_retraction = 0 +use_volumetric_e = 0 +variable_layer_height = 1 +start_gcode = ; start_gcode | start\n\n; v11 2020-11-14_11-27 tillverka\n\n; set metric values\n\nG21\n\n; use absolute positioning\n\nG90\n\n; set extruder to absolute mode\n\nM82\n\n; start with fan off\n\nM107\n\n; set temps\n\nM104 S[first_layer_temperature]\nM140 S[first_layer_bed_temperature]\n\n; home xy\n\nG28 X0 Y0\n\n; home z\n\nG28 Z0\n\n; move the head down to Z 94mm\n\nG1 Z94.0 F2394\n\n; set and wait for temps\n\nM109 S[first_layer_temperature]\nM190 S[first_layer_bed_temperature]\n\n; zero the extruded length\n\nG92 E0\n\n; extrude 3mm of feed stock\n\nG1 F200 E3\n\n; zero the extruded length again\n\nG92 E0\n\n; set speed\n\nG1 F{travel_speed}\n\n; print preskirt\n\nG92 E0\nG1 E3.94000 F2520.00000\n\nG1 X125.464 Y-139.310\nG1 Z0.329 F3994.000\n\nG1 F994.000\n\nG1 X125.464 Y-139.310 E4.19679\nG1 X130.218 Y-134.876 E4.70359\nG1 X132.569 Y-132.567 E4.96053\nG1 X137.099 Y-127.877 E5.46890\nG1 X139.325 Y-125.447 E5.72585\nG1 X141.507 Y-122.981 E5.98254\nG1 X145.685 Y-118.002 E6.48934\nG1 X149.741 Y-112.810 E7.00296\nG1 X153.561 Y-107.552 E7.50975\nG1 X155.440 Y-104.819 E7.76827\nG1 X158.980 Y-99.367 E8.27506\nG1 X160.702 Y-96.558 E8.53201\nG1 X163.962 Y-90.911 E9.04038\nG1 X165.535 Y-88.015 E9.29732\nG1 X168.496 Y-82.205 E9.80570\nG1 X169.915 Y-79.231 E10.06264\nG1 X171.280 Y-76.235 E10.31934\nG1 X173.819 Y-70.251 E10.82613\nG1 X176.180 Y-64.101 E11.33975\nG1 X178.297 Y-57.955 E11.84654\nG1 X179.294 Y-54.793 E12.10507\nG1 X181.085 Y-48.544 E12.61186\nG1 X181.911 Y-45.354 E12.86880\nG1 X183.378 Y-39.001 E13.37718\nG1 X184.035 Y-35.771 E13.63412\nG1 X185.168 Y-29.350 E14.14250\nG1 X185.655 Y-26.091 E14.39944\nG1 X186.084 Y-22.826 E14.65614\nG1 X186.764 Y-16.362 E15.16293\nG1 X187.223 Y-9.790 E15.67655\nG1 X187.450 Y-3.294 E16.18334\nG1 X187.479 Y0.002 E16.44028\nG1 X187.450 Y3.294 E16.69698\nG1 X187.223 Y9.810 E17.20529\nG1 X187.021 Y13.100 E17.46229\nG1 X186.454 Y19.575 E17.96909\nG1 X186.079 Y22.870 E18.22761\nG1 X185.174 Y29.307 E18.73440\nG1 X184.031 Y35.794 E19.24802\nG1 X182.679 Y42.152 E19.75481\nG1 X181.910 Y45.357 E20.01176\nG1 X180.223 Y51.655 E20.52013\nG1 X179.287 Y54.815 E20.77708\nG1 X177.272 Y61.017 E21.28545\nG1 X176.172 Y64.123 E21.54239\nG1 X175.019 Y67.207 E21.79909\nG1 X172.584 Y73.234 E22.30588\nG1 X169.905 Y79.252 E22.81950\nG1 X167.055 Y85.094 E23.32629\nG1 X165.524 Y88.035 E23.58482\nG1 X162.373 Y93.721 E24.09161\nG1 X160.700 Y96.560 E24.34855\nG1 X157.245 Y102.090 E24.85693\nG1 X155.427 Y104.838 E25.11387\nG1 X151.687 Y110.180 E25.62225\nG1 X149.727 Y112.829 E25.87919\nG1 X147.722 Y115.441 E26.13588\nG1 X143.631 Y120.493 E26.64268\nG1 X139.310 Y125.464 E27.15629\nG1 X134.876 Y130.218 E27.66309\nG1 X132.567 Y132.569 E27.92003\nG1 X127.877 Y137.099 E28.42840\nG1 X125.447 Y139.325 E28.68535\nG1 X122.981 Y141.507 E28.94204\nG1 X118.002 Y145.685 E29.44883\nG1 X112.810 Y149.741 E29.96245\nG1 X107.552 Y153.561 E30.46924\nG1 X104.819 Y155.440 E30.72777\nG1 X99.367 Y158.980 E31.23456\nG1 X96.558 Y160.702 E31.49151\nG1 X90.911 Y163.962 E31.99988\nG1 X88.015 Y165.535 E32.25682\nG1 X82.205 Y168.496 E32.76520\nG1 X79.231 Y169.915 E33.02214\nG1 X76.235 Y171.280 E33.27884\nG1 X70.251 Y173.819 E33.78563\nG1 X64.101 Y176.180 E34.29925\nG1 X57.955 Y178.297 E34.80604\nG1 X54.793 Y179.294 E35.06457\nG1 X48.544 Y181.085 E35.57136\nG1 X45.354 Y181.911 E35.82830\nG1 X39.001 Y183.378 E36.33668\nG1 X35.771 Y184.035 E36.59362\nG1 X29.350 Y185.168 E37.10200\nG1 X26.091 Y185.655 E37.35894\nG1 X22.826 Y186.084 E37.61563\nG1 X16.362 Y186.764 E38.12242\nG1 X9.790 Y187.223 E38.63605\nG1 X3.294 Y187.450 E39.14283\nG1 X-0.002 Y187.479 E39.39978\nG1 X-3.294 Y187.450 E39.65648\nG1 X-9.810 Y187.223 E40.16479\nG1 X-13.100 Y187.021 E40.42179\nG1 X-19.575 Y186.454 E40.92858\nG1 X-22.870 Y186.079 E41.18711\nG1 X-29.307 Y185.174 E41.69390\nG1 X-35.794 Y184.031 E42.20752\nG1 X-42.152 Y182.679 E42.71431\nG1 X-45.357 Y181.910 E42.97126\nG1 X-51.655 Y180.223 E43.47963\nG1 X-54.815 Y179.287 E43.73657\nG1 X-61.017 Y177.272 E44.24495\nG1 X-64.123 Y176.172 E44.50189\nG1 X-67.207 Y175.019 E44.75859\nG1 X-73.234 Y172.584 E45.26538\nG1 X-79.252 Y169.905 E45.77900\nG1 X-85.094 Y167.055 E46.28579\nG1 X-88.035 Y165.524 E46.54432\nG1 X-93.721 Y162.373 E47.05111\nG1 X-96.560 Y160.700 E47.30805\nG1 X-102.090 Y157.245 E47.81643\nG1 X-104.838 Y155.427 E48.07337\nG1 X-110.180 Y151.687 E48.58174\nG1 X-112.829 Y149.727 E48.83869\nG1 X-115.441 Y147.722 E49.09538\nG1 X-120.493 Y143.631 E49.60218\nG1 X-125.464 Y139.310 E50.11579\nG1 X-130.218 Y134.876 E50.62259\nG1 X-132.569 Y132.567 E50.87953\nG1 X-137.099 Y127.877 E51.38790\nG1 X-139.325 Y125.447 E51.64485\nG1 X-141.507 Y122.981 E51.90154\nG1 X-145.685 Y118.002 E52.40833\nG1 X-149.741 Y112.810 E52.92195\nG1 X-153.561 Y107.552 E53.42874\nG1 X-155.440 Y104.819 E53.68727\nG1 X-158.980 Y99.367 E54.19406\nG1 X-160.702 Y96.558 E54.45101\nG1 X-163.962 Y90.911 E54.95938\nG1 X-165.535 Y88.015 E55.21632\nG1 X-168.496 Y82.205 E55.72470\nG1 X-169.915 Y79.231 E55.98164\nG1 X-171.280 Y76.235 E56.23834\nG1 X-173.819 Y70.251 E56.74513\nG1 X-176.180 Y64.101 E57.25875\nG1 X-178.297 Y57.955 E57.76554\nG1 X-179.294 Y54.793 E58.02407\nG1 X-181.085 Y48.544 E58.53086\nG1 X-181.911 Y45.354 E58.78780\nG1 X-183.378 Y39.001 E59.29618\nG1 X-184.035 Y35.771 E59.55312\nG1 X-185.168 Y29.350 E60.06149\nG1 X-185.655 Y26.091 E60.31844\nG1 X-186.084 Y22.826 E60.57513\nG1 X-186.764 Y16.362 E61.08192\nG1 X-187.223 Y9.790 E61.59554\nG1 X-187.450 Y3.294 E62.10233\nG1 X-187.479 Y-0.002 E62.35928\nG1 X-187.450 Y-3.294 E62.61598\nG1 X-187.223 Y-9.810 E63.12429\nG1 X-187.021 Y-13.100 E63.38129\nG1 X-186.454 Y-19.575 E63.88808\nG1 X-186.079 Y-22.870 E64.14661\nG1 X-185.174 Y-29.307 E64.65340\nG1 X-184.031 Y-35.794 E65.16702\nG1 X-182.679 Y-42.152 E65.67381\nG1 X-181.910 Y-45.357 E65.93076\nG1 X-180.223 Y-51.655 E66.43913\nG1 X-179.287 Y-54.815 E66.69607\nG1 X-177.272 Y-61.017 E67.20445\nG1 X-176.172 Y-64.123 E67.46139\nG1 X-175.019 Y-67.207 E67.71809\nG1 X-172.584 Y-73.234 E68.22488\nG1 X-169.905 Y-79.252 E68.73850\nG1 X-167.055 Y-85.094 E69.24529\nG1 X-165.524 Y-88.035 E69.50382\nG1 X-162.373 Y-93.721 E70.01061\nG1 X-160.700 Y-96.560 E70.26755\nG1 X-157.245 Y-102.090 E70.77593\nG1 X-155.427 Y-104.838 E71.03287\nG1 X-151.687 Y-110.180 E71.54124\nG1 X-149.727 Y-112.829 E71.79819\nG1 X-147.722 Y-115.441 E72.05488\nG1 X-143.631 Y-120.493 E72.56167\nG1 X-139.310 Y-125.464 E73.07529\nG1 X-134.876 Y-130.218 E73.58209\nG1 X-132.567 Y-132.569 E73.83903\nG1 X-127.877 Y-137.099 E74.34740\nG1 X-125.447 Y-139.325 E74.60435\nG1 X-122.981 Y-141.507 E74.86104\nG1 X-118.002 Y-145.685 E75.36783\nG1 X-112.810 Y-149.741 E75.88145\nG1 X-107.552 Y-153.561 E76.38824\nG1 X-104.819 Y-155.440 E76.64677\nG1 X-99.367 Y-158.980 E77.15356\nG1 X-96.558 Y-160.702 E77.41051\nG1 X-90.911 Y-163.962 E77.91888\nG1 X-88.015 Y-165.535 E78.17582\nG1 X-82.205 Y-168.496 E78.68420\nG1 X-79.231 Y-169.915 E78.94114\nG1 X-76.235 Y-171.280 E79.19784\nG1 X-70.251 Y-173.819 E79.70463\nG1 X-64.101 Y-176.180 E80.21825\nG1 X-57.955 Y-178.297 E80.72504\nG1 X-54.793 Y-179.294 E80.98356\nG1 X-48.544 Y-181.085 E81.49036\nG1 X-45.354 Y-181.911 E81.74730\nG1 X-39.001 Y-183.378 E82.25568\nG1 X-35.771 Y-184.035 E82.51262\nG1 X-29.350 Y-185.168 E83.02099\nG1 X-26.091 Y-185.655 E83.27794\nG1 X-22.826 Y-186.084 E83.53463\nG1 X-16.362 Y-186.764 E84.04142\nG1 X-9.790 Y-187.223 E84.55504\nG1 X-3.294 Y-187.450 E85.06183\nG1 X0.006 Y-187.479 E85.31908\nG1 X6.521 Y-187.366 E85.82715\nG1 X9.810 Y-187.223 E86.08379\nG1 X13.100 Y-187.021 E86.34079\nG1 X19.575 Y-186.454 E86.84758\nG1 X22.870 Y-186.079 E87.10611\nG1 X29.307 Y-185.174 E87.61290\nG1 X35.794 Y-184.031 E88.12652\nG1 X42.152 Y-182.679 E88.63331\nG1 X45.357 Y-181.910 E88.89025\nG1 X51.655 Y-180.223 E89.39863\nG1 X54.815 Y-179.287 E89.65557\nG1 X61.017 Y-177.272 E90.16395\nG1 X64.123 Y-176.172 E90.42089\nG1 X67.207 Y-175.019 E90.67759\nG1 X73.234 Y-172.584 E91.18438\nG1 X79.252 Y-169.905 E91.69800\nG1 X85.094 Y-167.055 E92.20479\nG1 X88.035 Y-165.524 E92.46332\nG1 X93.721 Y-162.373 E92.97011\nG1 X96.560 Y-160.700 E93.22705\nG1 X102.090 Y-157.245 E93.73543\nG1 X104.838 Y-155.427 E93.99237\nG1 X110.180 Y-151.687 E94.50074\nG1 X112.829 Y-149.727 E94.75768\nG1 X115.441 Y-147.722 E95.01438\nG1 X120.493 Y-143.631 E95.52117\nG1 X122.911 Y-141.529 E95.77098\n\n; end preskirt\n; start_gcode | end +end_gcode = ; end_gcode | start\n\n; v11 2020-11-14_11-27 tillverka\n\n; use relative positioning\n\nG91\n\n; retract the filament a bit before lifting the nozzle to release some of the pressure\n\nG1 E-1 F300\n\n; home\n\nG28\n\n; use absolute positioning\n\nG90\n\n; cooldown\n\nM104 S0\nM140 S0\n\n; end_gcode | end\n +before_layer_gcode = +layer_gcode = +toolchange_gcode = +between_objects_gcode = +retract_length = 4 +retract_lift = 0.3 +retract_lift_above = 0 +retract_lift_below = 449 +retract_speed = 30 +deretract_speed = 0 +retract_restart_extra = 0 +retract_before_travel = 2 +retract_layer_change = 1 +wipe = 1 +retract_before_wipe = 70% +retract_length_toolchange = 10 +retract_restart_extra_toolchange = 0 +extruder_colour = #1193FF +machine_max_acceleration_e = 3000 +machine_max_acceleration_extruding = 1000 +machine_max_acceleration_retracting = 1000 +machine_max_acceleration_x = 1500 +machine_max_acceleration_y = 1500 +machine_max_acceleration_z = 1500 +machine_max_feedrate_e = 60 +machine_max_feedrate_x = 200 +machine_max_feedrate_y = 200 +machine_max_feedrate_z = 200 +machine_max_jerk_e = 5 +machine_max_jerk_x = 5 +machine_max_jerk_y = 5 +machine_max_jerk_z = 5 +machine_min_extruding_rate = 0 +machine_min_travel_rate = 0 +printer_settings_id = +printer_notes = Do not remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_ANYCUBIC\nPRINTER_MODEL_PREDATOR\nPRINTER_HAS_BOWDEN\n +default_filament_profile = Generic PLA @PREDATOR + +[printer:Anycubic Predator 0.4 nozzle] +inherits = *common predator* +printer_model = PREDATOR +printer_variant = 0.4 +nozzle_diameter = 0.4 +min_layer_height = 0.08 +max_layer_height = 0.32 +default_print_profile = 0.16mm 0.4 nozzle DETAILED QUALITY @PREDATOR + +[printer:Anycubic Predator 0.6 nozzle] +inherits = *common predator* +printer_model = PREDATOR +printer_variant = 0.6 +nozzle_diameter = 0.6 +min_layer_height = 0.12 +max_layer_height = 0.4 +default_print_profile = 0.24mm 0.8 nozzle DETAILED QUALITY @PREDATOR + +[printer:Anycubic Predator 0.8 nozzle] +inherits = *common predator* +printer_model = PREDATOR +printer_variant = 0.8 +nozzle_diameter = 0.8 +min_layer_height = 0.16 +max_layer_height = 0.48 +default_print_profile = 0.24mm 0.8 nozzle DETAILED QUALITY @PREDATOR + +######################################### +########## end printer presets ########## +######################################### From 51f33ddf986d7d078b6db8748c2faef14a4dccb0 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Wed, 16 Jun 2021 19:36:23 +0200 Subject: [PATCH 17/80] SL1S texture, bed, thumbnail --- .../profiles/PrusaResearch/SL1S_thumbnail.png | Bin 0 -> 85599 bytes resources/profiles/PrusaResearch/sl1s.svg | 64 ++++++++++++++++++ resources/profiles/PrusaResearch/sl1s_bed.stl | Bin 0 -> 180784 bytes 3 files changed, 64 insertions(+) create mode 100644 resources/profiles/PrusaResearch/SL1S_thumbnail.png create mode 100644 resources/profiles/PrusaResearch/sl1s.svg create mode 100644 resources/profiles/PrusaResearch/sl1s_bed.stl diff --git a/resources/profiles/PrusaResearch/SL1S_thumbnail.png b/resources/profiles/PrusaResearch/SL1S_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..8f02aefe4d7f3ebd04dcf76a0b71833cdd917e1e GIT binary patch literal 85599 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 Xo5%G-xTE9^{P$H_`AdzYN$~#x+$sXs literal 0 HcmV?d00001 diff --git a/resources/profiles/PrusaResearch/sl1s.svg b/resources/profiles/PrusaResearch/sl1s.svg new file mode 100644 index 000000000..f9301bae6 --- /dev/null +++ b/resources/profiles/PrusaResearch/sl1s.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/profiles/PrusaResearch/sl1s_bed.stl b/resources/profiles/PrusaResearch/sl1s_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..0c7479962bee023305bbef367dd879dcf96b5cc0 GIT binary patch literal 180784 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 Date: Thu, 3 Jun 2021 10:37:26 +0200 Subject: [PATCH 18/80] PrusaLink class --- src/libslic3r/PrintConfig.cpp | 4 ++- src/libslic3r/PrintConfig.hpp | 4 ++- src/slic3r/GUI/PhysicalPrinterDialog.cpp | 9 +++++ src/slic3r/GUI/PhysicalPrinterDialog.hpp | 2 +- src/slic3r/Utils/OctoPrint.cpp | 44 ++++++++++++++++++++++++ src/slic3r/Utils/OctoPrint.hpp | 25 ++++++++++++++ src/slic3r/Utils/PrintHost.cpp | 1 + 7 files changed, 86 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index b3084f550..a05299618 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1541,18 +1541,20 @@ void PrintConfigDef::init_fff_params() def->tooltip = L("Slic3r can upload G-code files to a printer host. This field must contain " "the kind of the host."); def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); + def->enum_values.push_back("prusalink"); def->enum_values.push_back("octoprint"); def->enum_values.push_back("duet"); def->enum_values.push_back("flashair"); def->enum_values.push_back("astrobox"); def->enum_values.push_back("repetier"); + def->enum_labels.push_back("PrusaLink"); def->enum_labels.push_back("OctoPrint"); def->enum_labels.push_back("Duet"); def->enum_labels.push_back("FlashAir"); def->enum_labels.push_back("AstroBox"); def->enum_labels.push_back("Repetier"); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionEnum(htOctoPrint)); + def->set_default_value(new ConfigOptionEnum(/*htOctoPrint*/htPrusaLink)); def = this->add("only_retract_when_crossing_perimeters", coBool); def->label = L("Only retract when crossing perimeters"); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index b5896891e..dc959e373 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -36,7 +36,7 @@ enum class MachineLimitsUsage { }; enum PrintHostType { - htOctoPrint, htDuet, htFlashAir, htAstroBox, htRepetier + htPrusaLink, htOctoPrint, htDuet, htFlashAir, htAstroBox, htRepetier }; enum AuthorizationType { @@ -122,11 +122,13 @@ template<> inline const t_config_enum_values& ConfigOptionEnum inline const t_config_enum_values& ConfigOptionEnum::get_enum_values() { static t_config_enum_values keys_map; if (keys_map.empty()) { + keys_map["prusalink"] = htPrusaLink; keys_map["octoprint"] = htOctoPrint; keys_map["duet"] = htDuet; keys_map["flashair"] = htFlashAir; keys_map["astrobox"] = htAstroBox; keys_map["repetier"] = htRepetier; + } return keys_map; } diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp index 620a3ddca..6f0262980 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp @@ -62,6 +62,8 @@ PresetForPrinter::PresetForPrinter(PhysicalPrinterDialog* parent, const std::str if (preset->name == edited_preset.name) preset = &edited_preset; + m_parent->selected_preset_changed(preset->name); + // if created physical printer doesn't have any settings, use the settings from the selected preset if (m_parent->get_printer()->has_empty_config()) { // update Print Host upload from the selected preset @@ -645,5 +647,12 @@ void PhysicalPrinterDialog::DeletePreset(PresetForPrinter* preset_for_printer) this->Fit(); } +void PhysicalPrinterDialog::selected_preset_changed(std::string preset_name) +{ + if (preset_name.rfind("Original Prusa i3 MK3", 0) == 0) + { + BOOST_LOG_TRIVIAL(debug) << "Original Prusa i3 MK3"; + } +} }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.hpp b/src/slic3r/GUI/PhysicalPrinterDialog.hpp index 7ee1f7d92..0ce9c2720 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.hpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.hpp @@ -95,7 +95,7 @@ public: PrinterTechnology get_printer_technology(); void DeletePreset(PresetForPrinter* preset_for_printer); - + void selected_preset_changed(std::string preset_name); protected: void on_dpi_changed(const wxRect& suggested_rect) override; void on_sys_color_changed() override {}; diff --git a/src/slic3r/Utils/OctoPrint.cpp b/src/slic3r/Utils/OctoPrint.cpp index fad45f822..d23d83a00 100644 --- a/src/slic3r/Utils/OctoPrint.cpp +++ b/src/slic3r/Utils/OctoPrint.cpp @@ -213,4 +213,48 @@ void SL1Host::set_auth(Http &http) const } } +// PrusaLink +PrusaLink::PrusaLink(DynamicPrintConfig* config) : + OctoPrint(config), + authorization_type(dynamic_cast*>(config->option("printhost_authorization_type"))->value), + username(config->opt_string("printhost_user")), + password(config->opt_string("printhost_password")) +{ +} + +const char* PrusaLink::get_name() const { return "PrusaLink"; } + +wxString PrusaLink::get_test_ok_msg() const +{ + return _(L("Connection to PrusaLink works correctly.")); +} + +wxString PrusaLink::get_test_failed_msg(wxString& msg) const +{ + return GUI::from_u8((boost::format("%s: %s") + % _utf8(L("Could not connect to PrusaLink")) + % std::string(msg.ToUTF8())).str()); +} + +bool PrusaLink::validate_version_text(const boost::optional& version_text) const +{ + return version_text ? boost::starts_with(*version_text, "PrusaLink") : false; +} + +void PrusaLink::set_auth(Http& http) const +{ + switch (authorization_type) { + case atKeyPassword: + http.header("X-Api-Key", get_apikey()); + break; + case atUserPassword: + http.auth_digest(username, password); + break; + } + + if (!get_cafile().empty()) { + http.ca_file(get_cafile()); + } +} + } diff --git a/src/slic3r/Utils/OctoPrint.hpp b/src/slic3r/Utils/OctoPrint.hpp index ed1c61bd6..025fd3da5 100644 --- a/src/slic3r/Utils/OctoPrint.hpp +++ b/src/slic3r/Utils/OctoPrint.hpp @@ -70,6 +70,31 @@ private: std::string password; }; +class PrusaLink : public OctoPrint +{ +public: + PrusaLink(DynamicPrintConfig* config); + ~PrusaLink() override = default; + + const char* get_name() const override; + + wxString get_test_ok_msg() const override; + wxString get_test_failed_msg(wxString& msg) const override; + bool can_start_print() const override { return false; } + +protected: + bool validate_version_text(const boost::optional& version_text) const override; + +private: + void set_auth(Http& http) const override; + + // Host authorization type. + AuthorizationType authorization_type; + // username and password for HTTP Digest Authentization (RFC RFC2617) + std::string username; + std::string password; +}; + } #endif diff --git a/src/slic3r/Utils/PrintHost.cpp b/src/slic3r/Utils/PrintHost.cpp index 589679e47..53200a4c9 100644 --- a/src/slic3r/Utils/PrintHost.cpp +++ b/src/slic3r/Utils/PrintHost.cpp @@ -50,6 +50,7 @@ PrintHost* PrintHost::get_print_host(DynamicPrintConfig *config) case htFlashAir: return new FlashAir(config); case htAstroBox: return new AstroBox(config); case htRepetier: return new Repetier(config); + case htPrusaLink: return new PrusaLink(config); default: return nullptr; } } else { From 80f4571cd7e6c664345b7ce86aca7e376ec2eb3a Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 4 Jun 2021 08:42:04 +0200 Subject: [PATCH 19/80] PhysicalPrinterDialog : Update of the HostType in respect to the selected printers --- src/slic3r/GUI/Field.cpp | 10 +++++- src/slic3r/GUI/PhysicalPrinterDialog.cpp | 45 +++++++++++++++++++++++- src/slic3r/GUI/PhysicalPrinterDialog.hpp | 1 + 3 files changed, 54 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index 88c833187..c516d8bb9 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -1111,6 +1111,10 @@ void Choice::set_value(const boost::any& value, bool change_event) } case coEnum: { int val = boost::any_cast(value); + if (m_opt_id.compare("host_type") == 0 && val != 0 && + m_opt.enum_values.size() > field->GetCount()) // for case, when PrusaLink isn't used as a HostType + val--; + if (m_opt_id == "top_fill_pattern" || m_opt_id == "bottom_fill_pattern" || m_opt_id == "fill_pattern") { if (!m_opt.enum_values.empty()) { @@ -1178,7 +1182,7 @@ void Choice::set_values(const wxArrayString &values) auto ww = dynamic_cast(window); auto value = ww->GetValue(); ww->Clear(); - ww->Append(""); +// ww->Append(""); for (const auto &el : values) ww->Append(el); ww->SetValue(value); @@ -1201,6 +1205,10 @@ boost::any& Choice::get_value() if (m_opt.type == coEnum) { int ret_enum = field->GetSelection(); + if (m_opt_id.compare("host_type") == 0 && + m_opt.enum_values.size() > field->GetCount()) // for case, when PrusaLink isn't used as a HostType + ret_enum++; + if (m_opt_id == "top_fill_pattern" || m_opt_id == "bottom_fill_pattern" || m_opt_id == "fill_pattern") { if (!m_opt.enum_values.empty()) { diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp index 6f0262980..9d609cdd7 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp @@ -466,6 +466,8 @@ void PhysicalPrinterDialog::update() m_optgroup->hide_field(opt_key); const auto opt = m_config->option>("host_type"); supports_multiple_printers = opt && opt->value == htRepetier; + + update_host_type(); } else { m_optgroup->set_value("host_type", int(PrintHostType::htOctoPrint), false); @@ -489,6 +491,44 @@ void PhysicalPrinterDialog::update() this->Layout(); } +void PhysicalPrinterDialog::update_host_type() +{ + bool all_presets_are_from_mk3_family = true; + + for (PresetForPrinter* preset : m_presets) { + std::string preset_name = preset->get_preset_name(); + if (Preset* preset = wxGetApp().preset_bundle->printers.find_preset(preset_name)) { + if (preset->vendor->name == "Prusa Research") { + const std::vector& models = preset->vendor->models; + std::string model_id = preset->config.opt_string("printer_model"); + auto it = std::find_if(models.begin(), models.end(), + [model_id](const VendorProfile::PrinterModel& model) { return model.id == model_id; }); + if (it != models.end() && it->family == "MK3") + continue; + } + } + all_presets_are_from_mk3_family = false; + break; + } + + Field* ht = m_optgroup->get_field("host_type"); + + wxArrayString types; + // Append localized enum_labels + assert(ht->m_opt.enum_labels.size() == ht->m_opt.enum_values.size()); + for (size_t i = 0; i < ht->m_opt.enum_labels.size(); i++) { + if (ht->m_opt.enum_values[i] == "prusalink" && !all_presets_are_from_mk3_family) + continue; + types.Add(_(ht->m_opt.enum_labels[i])); + } + + Choice* choice = dynamic_cast(ht); + int val = m_config->option("host_type")->getInt(); + choice->set_values(types); + val = m_config->option("host_type")->getInt(); + choice->set_value(m_config->option("host_type")->getInt()); +} + wxString PhysicalPrinterDialog::get_printer_name() { @@ -617,8 +657,9 @@ void PhysicalPrinterDialog::AddPreset(wxEvent& event) m_presets_sizer->Add(m_presets.back()->sizer(), 1, wxEXPAND | wxTOP, BORDER_W); update_full_printer_names(); - this->Fit(); + + update_host_type(); } void PhysicalPrinterDialog::DeletePreset(PresetForPrinter* preset_for_printer) @@ -645,6 +686,8 @@ void PhysicalPrinterDialog::DeletePreset(PresetForPrinter* preset_for_printer) this->Layout(); this->Fit(); + + update_host_type(); } void PhysicalPrinterDialog::selected_preset_changed(std::string preset_name) diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.hpp b/src/slic3r/GUI/PhysicalPrinterDialog.hpp index 0ce9c2720..8cee6a32e 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.hpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.hpp @@ -86,6 +86,7 @@ public: ~PhysicalPrinterDialog(); void update(); + void update_host_type(); void update_printhost_buttons(); void update_printers(); wxString get_printer_name(); From 246c5599163434c1da7aecbed3b55d41476bb48d Mon Sep 17 00:00:00 2001 From: David Kocik Date: Thu, 17 Jun 2021 10:46:00 +0200 Subject: [PATCH 20/80] prusalink: bug fixes of physical printer dialog, start print after upload, accept both OctoPrint and PrusaLink as validation string --- src/libslic3r/PrintConfig.cpp | 2 +- src/slic3r/GUI/PhysicalPrinterDialog.cpp | 76 ++++++++++++++---------- src/slic3r/GUI/PhysicalPrinterDialog.hpp | 7 ++- src/slic3r/Utils/OctoPrint.cpp | 2 +- src/slic3r/Utils/OctoPrint.hpp | 2 +- 5 files changed, 52 insertions(+), 37 deletions(-) diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index a05299618..a9761b6f7 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1554,7 +1554,7 @@ void PrintConfigDef::init_fff_params() def->enum_labels.push_back("AstroBox"); def->enum_labels.push_back("Repetier"); def->mode = comAdvanced; - def->set_default_value(new ConfigOptionEnum(/*htOctoPrint*/htPrusaLink)); + def->set_default_value(new ConfigOptionEnum(htOctoPrint)); def = this->add("only_retract_when_crossing_perimeters", coBool); def->label = L("Only retract when crossing perimeters"); diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.cpp b/src/slic3r/GUI/PhysicalPrinterDialog.cpp index 9d609cdd7..7ef013478 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.cpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.cpp @@ -62,14 +62,13 @@ PresetForPrinter::PresetForPrinter(PhysicalPrinterDialog* parent, const std::str if (preset->name == edited_preset.name) preset = &edited_preset; - m_parent->selected_preset_changed(preset->name); - // if created physical printer doesn't have any settings, use the settings from the selected preset if (m_parent->get_printer()->has_empty_config()) { // update Print Host upload from the selected preset m_parent->get_printer()->update_from_preset(*preset); // update values in parent (PhysicalPrinterDialog) - m_parent->update(); + m_parent->update(true); + } // update PrinterTechnology if it was changed @@ -155,7 +154,8 @@ void PresetForPrinter::msw_rescale() PhysicalPrinterDialog::PhysicalPrinterDialog(wxWindow* parent, wxString printer_name) : DPIDialog(parent, wxID_ANY, _L("Physical Printer"), wxDefaultPosition, wxSize(45 * wxGetApp().em_unit(), -1), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER), - m_printer("", wxGetApp().preset_bundle->physical_printers.default_config()) + m_printer("", wxGetApp().preset_bundle->physical_printers.default_config()), + had_all_mk3(!printer_name.empty()) { SetFont(wxGetApp().normal_font()); SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); @@ -451,7 +451,7 @@ void PhysicalPrinterDialog::update_printhost_buttons() m_printhost_browse_btn->Enable(host->has_auto_discovery()); } -void PhysicalPrinterDialog::update() +void PhysicalPrinterDialog::update(bool printer_change) { m_optgroup->reload_config(); @@ -459,15 +459,24 @@ void PhysicalPrinterDialog::update() // Only offer the host type selection for FFF, for SLA it's always the SL1 printer (at the moment) bool supports_multiple_printers = false; if (tech == ptFFF) { - m_optgroup->show_field("host_type"); - m_optgroup->hide_field("printhost_authorization_type"); - m_optgroup->show_field("printhost_apikey", true); - for (const std::string& opt_key : std::vector{ "printhost_user", "printhost_password" }) - m_optgroup->hide_field(opt_key); + update_host_type(printer_change); const auto opt = m_config->option>("host_type"); - supports_multiple_printers = opt && opt->value == htRepetier; - - update_host_type(); + m_optgroup->show_field("host_type"); + if (opt->value == htPrusaLink) + { + m_optgroup->show_field("printhost_authorization_type"); + AuthorizationType auth_type = m_config->option>("printhost_authorization_type")->value; + m_optgroup->show_field("printhost_apikey", auth_type == AuthorizationType::atKeyPassword); + for (const char* opt_key : { "printhost_user", "printhost_password" }) + m_optgroup->show_field(opt_key, auth_type == AuthorizationType::atUserPassword); + } else { + m_optgroup->hide_field("printhost_authorization_type"); + m_optgroup->show_field("printhost_apikey", true); + for (const std::string& opt_key : std::vector{ "printhost_user", "printhost_password" }) + m_optgroup->hide_field(opt_key); + supports_multiple_printers = opt && opt->value == htRepetier; + } + } else { m_optgroup->set_value("host_type", int(PrintHostType::htOctoPrint), false); @@ -491,21 +500,26 @@ void PhysicalPrinterDialog::update() this->Layout(); } -void PhysicalPrinterDialog::update_host_type() +void PhysicalPrinterDialog::update_host_type(bool printer_change) { + if (m_presets.empty()) + return; bool all_presets_are_from_mk3_family = true; - for (PresetForPrinter* preset : m_presets) { - std::string preset_name = preset->get_preset_name(); + for (PresetForPrinter* prstft : m_presets) { + std::string preset_name = prstft->get_preset_name(); if (Preset* preset = wxGetApp().preset_bundle->printers.find_preset(preset_name)) { - if (preset->vendor->name == "Prusa Research") { + std::string model_id = preset->config.opt_string("printer_model"); + if (preset->vendor && preset->vendor->name == "Prusa Research") { const std::vector& models = preset->vendor->models; - std::string model_id = preset->config.opt_string("printer_model"); auto it = std::find_if(models.begin(), models.end(), [model_id](const VendorProfile::PrinterModel& model) { return model.id == model_id; }); if (it != models.end() && it->family == "MK3") continue; + } else if (!preset->vendor && model_id.rfind("MK3", 0) == 0) { + continue; } + } all_presets_are_from_mk3_family = false; break; @@ -523,10 +537,18 @@ void PhysicalPrinterDialog::update_host_type() } Choice* choice = dynamic_cast(ht); - int val = m_config->option("host_type")->getInt(); choice->set_values(types); - val = m_config->option("host_type")->getInt(); - choice->set_value(m_config->option("host_type")->getInt()); + auto set_to_choice_and_config = [this, choice](PrintHostType type) { + choice->set_value(static_cast(type)); + m_config->set_key_value("host_type", new ConfigOptionEnum(type)); + }; + if ((printer_change && all_presets_are_from_mk3_family) || (!had_all_mk3 && all_presets_are_from_mk3_family)) + set_to_choice_and_config(htPrusaLink); + else if ((printer_change && !all_presets_are_from_mk3_family) || (!all_presets_are_from_mk3_family && m_config->option>("host_type")->value == htPrusaLink)) + set_to_choice_and_config(htOctoPrint); + else + choice->set_value(m_config->option("host_type")->getInt()); + had_all_mk3 = all_presets_are_from_mk3_family; } @@ -659,7 +681,7 @@ void PhysicalPrinterDialog::AddPreset(wxEvent& event) update_full_printer_names(); this->Fit(); - update_host_type(); + update_host_type(true); } void PhysicalPrinterDialog::DeletePreset(PresetForPrinter* preset_for_printer) @@ -687,15 +709,7 @@ void PhysicalPrinterDialog::DeletePreset(PresetForPrinter* preset_for_printer) this->Layout(); this->Fit(); - update_host_type(); -} - -void PhysicalPrinterDialog::selected_preset_changed(std::string preset_name) -{ - if (preset_name.rfind("Original Prusa i3 MK3", 0) == 0) - { - BOOST_LOG_TRIVIAL(debug) << "Original Prusa i3 MK3"; - } + update_host_type(true); } }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/PhysicalPrinterDialog.hpp b/src/slic3r/GUI/PhysicalPrinterDialog.hpp index 8cee6a32e..cb9a48b3e 100644 --- a/src/slic3r/GUI/PhysicalPrinterDialog.hpp +++ b/src/slic3r/GUI/PhysicalPrinterDialog.hpp @@ -85,8 +85,8 @@ public: PhysicalPrinterDialog(wxWindow* parent, wxString printer_name); ~PhysicalPrinterDialog(); - void update(); - void update_host_type(); + void update(bool printer_change = false); + void update_host_type(bool printer_change); void update_printhost_buttons(); void update_printers(); wxString get_printer_name(); @@ -96,10 +96,11 @@ public: PrinterTechnology get_printer_technology(); void DeletePreset(PresetForPrinter* preset_for_printer); - void selected_preset_changed(std::string preset_name); protected: void on_dpi_changed(const wxRect& suggested_rect) override; void on_sys_color_changed() override {}; + + bool had_all_mk3; }; diff --git a/src/slic3r/Utils/OctoPrint.cpp b/src/slic3r/Utils/OctoPrint.cpp index d23d83a00..f01e3ad41 100644 --- a/src/slic3r/Utils/OctoPrint.cpp +++ b/src/slic3r/Utils/OctoPrint.cpp @@ -238,7 +238,7 @@ wxString PrusaLink::get_test_failed_msg(wxString& msg) const bool PrusaLink::validate_version_text(const boost::optional& version_text) const { - return version_text ? boost::starts_with(*version_text, "PrusaLink") : false; + return version_text ? (boost::starts_with(*version_text, "PrusaLink") || boost::starts_with(*version_text, "OctoPrint")) : false; } void PrusaLink::set_auth(Http& http) const diff --git a/src/slic3r/Utils/OctoPrint.hpp b/src/slic3r/Utils/OctoPrint.hpp index 025fd3da5..c880819b8 100644 --- a/src/slic3r/Utils/OctoPrint.hpp +++ b/src/slic3r/Utils/OctoPrint.hpp @@ -80,7 +80,7 @@ public: wxString get_test_ok_msg() const override; wxString get_test_failed_msg(wxString& msg) const override; - bool can_start_print() const override { return false; } + bool can_start_print() const override { return true; } protected: bool validate_version_text(const boost::optional& version_text) const override; From d6084621b2aa0fde914948dfb15e8d2ed2885049 Mon Sep 17 00:00:00 2001 From: David Kocik Date: Fri, 11 Jun 2021 11:46:19 +0200 Subject: [PATCH 21/80] debug log in copy_file_linux --- src/libslic3r/utils.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index 1ac45f1b5..719d2f6fb 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -443,6 +443,8 @@ bool copy_file_linux(const boost::filesystem::path &from, const boost::filesyste ec.clear(); int err = 0; + BOOST_LOG_TRIVIAL(trace) << "copy_file_linux("< Date: Mon, 14 Jun 2021 09:42:43 +0200 Subject: [PATCH 22/80] more debug message for copy_file_linux() --- src/libslic3r/utils.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index 719d2f6fb..f89b08155 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -460,7 +460,7 @@ bool copy_file_linux(const boost::filesystem::path &from, const boost::filesyste } break; } - BOOST_LOG_TRIVIAL(trace) << "infile.fd"; + BOOST_LOG_TRIVIAL(trace) << "infile.fd " << infile.fd; struct ::stat from_stat; @@ -495,7 +495,7 @@ bool copy_file_linux(const boost::filesystem::path &from, const boost::filesyste } break; } - BOOST_LOG_TRIVIAL(trace) << "outfile.fd"; + BOOST_LOG_TRIVIAL(trace) << "outfile.fd " << outfile.fd; struct ::stat to_stat; if (::fstat(outfile.fd, &to_stat) != 0) @@ -532,7 +532,9 @@ bool copy_file_linux(const boost::filesystem::path &from, const boost::filesyste std::size_t size_to_copy = max_send_size; if (size_left < static_cast(max_send_size)) size_to_copy = static_cast(size_left); + BOOST_LOG_TRIVIAL(trace) << "sendfile " << outfile.fd << "; " << infile.fd << "; " << size_to_copy; ssize_t sz = ::sendfile(outfile.fd, infile.fd, nullptr, size_to_copy); + BOOST_LOG_TRIVIAL(trace) << sz; if (sz < 0) { err = errno; if (err == EINTR) From f60f08fc643d34a63837963fe898fefbc013e3da Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Mon, 14 Jun 2021 12:18:46 +0200 Subject: [PATCH 23/80] Workaround of boost::filesystem::copy_file() incompatibility on some file systems (eCrypt ...) Should fix #4716 #6588 --- src/libslic3r/utils.cpp | 60 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index f89b08155..d4b65da2f 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -424,6 +424,53 @@ std::error_code rename_file(const std::string &from, const std::string &to) } #ifdef __linux__ +// Copied from boost::filesystem. +// Called by copy_file_linux() in case linux sendfile() API is not supported. +int copy_file_linux_read_write(int infile, int outfile, uintmax_t file_size) +{ + std::vector buf( + // Prefer the buffer to be larger than the file size so that we don't have + // to perform an extra read if the file fits in the buffer exactly. + std::clamp(file_size + (file_size < ~static_cast(0u)), + // Min and max buffer sizes are selected to minimize the overhead from system calls. + // The values are picked based on coreutils cp(1) benchmarking data described here: + // https://github.com/coreutils/coreutils/blob/d1b0257077c0b0f0ee25087efd46270345d1dd1f/src/ioblksize.h#L23-L72 + 8u * 1024u, 256u * 1024u), + 0); + +#if defined(POSIX_FADV_SEQUENTIAL) + ::posix_fadvise(infile, 0, 0, POSIX_FADV_SEQUENTIAL); +#endif + + // Don't use file size to limit the amount of data to copy since some filesystems, like procfs or sysfs, + // provide files with generated content and indicate that their size is zero or 4096. Just copy as much data + // as we can read from the input file. + while (true) { + ssize_t sz_read = ::read(infile, buf.data(), buf.size()); + if (sz_read == 0) + break; + if (sz_read < 0) { + int err = errno; + if (err == EINTR) + continue; + return err; + } + // Allow for partial writes - see Advanced Unix Programming (2nd Ed.), + // Marc Rochkind, Addison-Wesley, 2004, page 94 + for (ssize_t sz_wrote = 0; sz_wrote < sz_read;) { + ssize_t sz = ::write(outfile, buf.data() + sz_wrote, static_cast(sz_read - sz_wrote)); + if (sz < 0) { + int err = errno; + if (err == EINTR) + continue; + return err; + } + sz_wrote += sz; + } + } + return 0; +} + // Copied from boost::filesystem, to support copying a file to a weird filesystem, which does not support changing file attributes, // for example ChromeOS Linux integration or FlashAIR WebDAV. // Copied and simplified from boost::filesystem::detail::copy_file() with option = overwrite_if_exists and with just the Linux path kept, @@ -537,6 +584,19 @@ bool copy_file_linux(const boost::filesystem::path &from, const boost::filesyste BOOST_LOG_TRIVIAL(trace) << sz; if (sz < 0) { err = errno; + if (offset == 0u) { + // sendfile may fail with EINVAL if the underlying filesystem does not support it. + // See https://patchwork.kernel.org/project/linux-nfs/patch/20190411183418.4510-1-olga.kornievskaia@gmail.com/ + // https://bugzilla.redhat.com/show_bug.cgi?id=1783554. + // https://github.com/boostorg/filesystem/commit/4b9052f1e0b2acf625e8247582f44acdcc78a4ce + if (err == EINVAL || err == EOPNOTSUPP) { + err = copy_file_linux_read_write(infile.fd, outfile.fd, from_stat.st_size); + if (err < 0) + goto fail; + // Succeeded. + break; + } + } if (err == EINTR) continue; if (err == 0) From 4146f1a62e2609cf972c9b5fb00c275a80f24bf3 Mon Sep 17 00:00:00 2001 From: David Kocik Date: Tue, 15 Jun 2021 16:12:55 +0200 Subject: [PATCH 24/80] fix of #6588 - using same copy function for updating presets as for exporting gcode --- src/libslic3r/utils.cpp | 22 ---------------------- src/slic3r/Utils/PresetUpdater.cpp | 15 +++++++-------- 2 files changed, 7 insertions(+), 30 deletions(-) diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index d4b65da2f..1f3079fba 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -490,8 +490,6 @@ bool copy_file_linux(const boost::filesystem::path &from, const boost::filesyste ec.clear(); int err = 0; - BOOST_LOG_TRIVIAL(trace) << "copy_file_linux("<(max_send_size)) size_to_copy = static_cast(size_left); - BOOST_LOG_TRIVIAL(trace) << "sendfile " << outfile.fd << "; " << infile.fd << "; " << size_to_copy; ssize_t sz = ::sendfile(outfile.fd, infile.fd, nullptr, size_to_copy); - BOOST_LOG_TRIVIAL(trace) << sz; if (sz < 0) { err = errno; if (offset == 0u) { @@ -606,9 +589,6 @@ bool copy_file_linux(const boost::filesystem::path &from, const boost::filesyste offset += sz; } } - - BOOST_LOG_TRIVIAL(trace) << "sendfile loop"; - // If we created a new file with an explicitly added S_IWUSR permission, // we may need to update its mode bits to match the source file. if (to_mode != from_mode && ::fchmod(outfile.fd, from_mode) != 0) { @@ -632,8 +612,6 @@ bool copy_file_linux(const boost::filesystem::path &from, const boost::filesyste if (err != 0) goto fail_errno; - BOOST_LOG_TRIVIAL(trace) << "copy_file_linux success"; - return true; } #endif // __linux__ diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index 60dfe05c7..c65ec31d3 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -56,16 +56,15 @@ static const char *TMP_EXTENSION = ".download"; void copy_file_fix(const fs::path &source, const fs::path &target) { - static const auto perms = fs::owner_read | fs::owner_write | fs::group_read | fs::others_read; // aka 644 - BOOST_LOG_TRIVIAL(debug) << format("PresetUpdater: Copying %1% -> %2%", source, target); - - // Make sure the file has correct permission both before and after we copy over it - if (fs::exists(target)) { - fs::permissions(target, perms); + std::string error_message; + CopyFileResult cfr = copy_file(source.string(), target.string(), error_message, false); + if (cfr != CopyFileResult::SUCCESS) { + BOOST_LOG_TRIVIAL(error) << "Copying failed(" << cfr << "): " << error_message; + throw Slic3r::CriticalException(GUI::format( + _L("Copying of file %1% to %2% failed: %3%"), + source, target, error_message)); } - fs::copy_file(source, target, fs::copy_option::overwrite_if_exists); - fs::permissions(target, perms); } struct Update From 9a71d6deb98f81a7838975726807a30a406e2799 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Thu, 28 Jan 2021 18:59:53 +0100 Subject: [PATCH 25/80] Fix of #4654 #5122 #5668 #5811 #5895 Fixing model import of models with nearly degenerate triangles, which degenerate after transformation (translation or rotation). There was certainly a bug in PrusaSlicer, however this bug was triggered mostly by the ASCII STL files generated by OpenSCAD, likely due to insufficient number of decimal digits when saving an ASCII STL, see [openscad/openscad] STL export should contain single precision floats (#2651) --- src/libslic3r/PrintObject.cpp | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 99b4130f4..ed17676e0 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -2139,6 +2139,16 @@ std::vector PrintObject::slice_support_volumes(const ModelVolumeType return this->slice_volumes(zs, SlicingMode::Regular, volumes); } +//FIXME The admesh repair function may break the face connectivity, rather refresh it here as the slicing code relies on it. +static void fix_mesh_connectivity(TriangleMesh &mesh) +{ + auto nr_degenerated = mesh.stl.stats.degenerate_facets; + stl_check_facets_exact(&mesh.stl); + if (nr_degenerated != mesh.stl.stats.degenerate_facets) + // stl_check_facets_exact() removed some newly degenerated faces. Some faces could become degenerate after some mesh transformation. + stl_generate_shared_vertices(&mesh.stl, mesh.its); +} + std::vector PrintObject::slice_volumes( const std::vector &z, SlicingMode mode, size_t slicing_mode_normal_below_layer, SlicingMode mode_below, @@ -2151,10 +2161,8 @@ std::vector PrintObject::slice_volumes( TriangleMesh mesh(volumes.front()->mesh()); mesh.transform(volumes.front()->get_matrix(), true); assert(mesh.repaired); - if (volumes.size() == 1 && mesh.repaired) { - //FIXME The admesh repair function may break the face connectivity, rather refresh it here as the slicing code relies on it. - stl_check_facets_exact(&mesh.stl); - } + if (volumes.size() == 1 && mesh.repaired) + fix_mesh_connectivity(mesh); for (size_t idx_volume = 1; idx_volume < volumes.size(); ++ idx_volume) { const ModelVolume &model_volume = *volumes[idx_volume]; TriangleMesh vol_mesh(model_volume.mesh()); @@ -2187,10 +2195,8 @@ std::vector PrintObject::slice_volume(const std::vector &z, S //FIXME better to split the mesh into separate shells, perform slicing over each shell separately and then to use a Boolean operation to merge them. TriangleMesh mesh(volume.mesh()); mesh.transform(volume.get_matrix(), true); - if (mesh.repaired) { - //FIXME The admesh repair function may break the face connectivity, rather refresh it here as the slicing code relies on it. - stl_check_facets_exact(&mesh.stl); - } + if (mesh.repaired) + fix_mesh_connectivity(mesh); if (mesh.stl.stats.number_of_facets > 0) { mesh.transform(m_trafo, true); // apply XY shift From 2a0107467f19d3eadcad55ee62bdfd6e618bda32 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Mon, 8 Feb 2021 17:40:47 +0100 Subject: [PATCH 26/80] Fix of Hilbert Curve Infill: Unable to slice, PrusaSlicer not responding. #5771 Fixed by hard limiting the number of iterations of reorder_by_two_exchanges_with_segment_flipping() --- src/libslic3r/ShortestPath.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/ShortestPath.cpp b/src/libslic3r/ShortestPath.cpp index 3d5903df1..09c3d2a36 100644 --- a/src/libslic3r/ShortestPath.cpp +++ b/src/libslic3r/ShortestPath.cpp @@ -1527,6 +1527,11 @@ static inline void do_crossover(const std::vector &edges_in, std::vect assert(edges_in.size() == edges_out.size()); } +// Worst time complexity: O(min(n, 100) * (n * log n + n^2) +// Expected time complexity: O(min(n, 100) * (n * log n + k * n) +// where n is the number of edges and k is the number of connection_lengths candidates after the first one +// is found that improves the total cost. +//FIXME there are likley better heuristics to lower the time complexity. static inline void reorder_by_two_exchanges_with_segment_flipping(std::vector &edges) { if (edges.size() < 2) @@ -1536,7 +1541,8 @@ static inline void reorder_by_two_exchanges_with_segment_flipping(std::vector edges_tmp(edges); std::vector> connection_lengths(edges.size() - 1, std::pair(0., 0)); std::vector connection_tried(edges.size(), false); - for (size_t iter = 0; iter < edges.size(); ++ iter) { + const size_t max_iterations = std::min(edges.size(), size_t(100)); + for (size_t iter = 0; iter < max_iterations; ++ iter) { // Initialize connection costs and connection lengths. for (size_t i = 1; i < edges.size(); ++ i) { const FlipEdge &e1 = edges[i - 1]; @@ -1601,6 +1607,8 @@ static inline void reorder_by_two_exchanges_with_segment_flipping(std::vector &edges) { if (edges.size() < 3) { @@ -1683,6 +1691,7 @@ static inline void reorder_by_three_exchanges_with_segment_flipping(std::vector< } } } +#endif typedef Eigen::Matrix Matrixd; @@ -1754,6 +1763,8 @@ static inline std::pair minimum_crossover_cost( return std::make_pair(cost_min, flip_min); } +#if 0 +// Currently not used, too slow. static inline void reorder_by_three_exchanges_with_segment_flipping2(std::vector &edges) { if (edges.size() < 3) { @@ -1850,8 +1861,11 @@ static inline void reorder_by_three_exchanges_with_segment_flipping2(std::vector } } } +#endif // Flip the sequences of polylines to lower the total length of connecting lines. +// Used by the infill generator if the infill is not connected with perimeter lines +// and to order the brim lines. static inline void improve_ordering_by_two_exchanges_with_segment_flipping(Polylines &polylines, bool fixed_start) { #ifndef NDEBUG @@ -1903,6 +1917,7 @@ static inline void improve_ordering_by_two_exchanges_with_segment_flipping(Polyl #endif /* NDEBUG */ } +// Used to optimize order of infill lines and brim lines. Polylines chain_polylines(Polylines &&polylines, const Point *start_near) { #ifdef DEBUG_SVG_OUTPUT From dc81cae219b6598dbdd44dc7af26efda8045f790 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Mon, 21 Jun 2021 14:11:07 +0200 Subject: [PATCH 27/80] Bumped up version to 2.3.2-alpha0 --- src/slic3r/GUI/GUI_App.cpp | 4 ++-- version.inc | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 18f193f3b..770d50110 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -690,8 +690,8 @@ bool GUI_App::init_opengl() void GUI_App::init_app_config() { // Profiles for the alpha are stored into the PrusaSlicer-alpha directory to not mix with the current release. - SetAppName(SLIC3R_APP_KEY); -// SetAppName(SLIC3R_APP_KEY "-beta"); +// SetAppName(SLIC3R_APP_KEY); + SetAppName(SLIC3R_APP_KEY "-alpha"); // SetAppDisplayName(SLIC3R_APP_NAME); // Set the Slic3r data directory at the Slic3r XS module. diff --git a/version.inc b/version.inc index 205f13468..9fb89fb07 100644 --- a/version.inc +++ b/version.inc @@ -3,7 +3,7 @@ set(SLIC3R_APP_NAME "PrusaSlicer") set(SLIC3R_APP_KEY "PrusaSlicer") -set(SLIC3R_VERSION "2.3.1") +set(SLIC3R_VERSION "2.3.2-alpha0") set(SLIC3R_BUILD_ID "PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN") -set(SLIC3R_RC_VERSION "2,3,1,0") -set(SLIC3R_RC_VERSION_DOTS "2.3.1.0") +set(SLIC3R_RC_VERSION "2,3,2,0") +set(SLIC3R_RC_VERSION_DOTS "2.3.2.0") From db703321be782405de7d0a70a7893c0f941c80a9 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Mon, 21 Jun 2021 17:01:56 +0200 Subject: [PATCH 28/80] 1.3.0 Added SL1S profiles. --- resources/profiles/PrusaResearch.idx | 4 + resources/profiles/PrusaResearch.ini | 620 ++++++++++++++++++++++++--- 2 files changed, 561 insertions(+), 63 deletions(-) diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx index de718857d..3f43334c3 100644 --- a/resources/profiles/PrusaResearch.idx +++ b/resources/profiles/PrusaResearch.idx @@ -1,4 +1,8 @@ +min_slic3r_version = 2.3.2-alpha0 +1.3.0 Added SL1S profiles. min_slic3r_version = 2.3.0-rc1 +1.2.7 Updated "Prusament PC Blend Carbon Fiber" profile for Prusa MINI. +1.2.6 Added filament profile for "Prusament PC Blend Carbon Fiber". 1.2.5 Updated firmware version. Added filament profiles. Various improvements. 1.2.4 Updated cost/density values in filament settings. Various changes in print settings. 1.2.3 Updated firmware version. Updated end g-code in MMU2 printer profiles. diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index 3caaaf024..643dac527 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -5,7 +5,7 @@ name = Prusa Research # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 1.2.5 +config_version = 1.3.0 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaResearch/ changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -24,7 +24,7 @@ technology = FFF family = MINI bed_model = mini_bed.stl bed_texture = mini.svg -default_materials = Generic PLA; Generic ABS @MINI; Generic PETG @MINI; Prusament PLA; Prusament PETG @MINI; Prusament ASA @MINI; Prusament PC Blend @MINI; Prusament PVB +default_materials = Generic PLA; Generic ABS @MINI; Generic PETG @MINI; Prusament PLA; Prusament PETG @MINI; Prusament ASA @MINI; Prusament PC Blend @MINI; Prusament PC Blend Carbon Fiber @MINI; Prusament PVB [printer_model:MK3S] name = Original Prusa i3 MK3S && MK3S+ @@ -33,7 +33,7 @@ technology = FFF family = MK3 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PVB +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB [printer_model:MK3] name = Original Prusa i3 MK3 @@ -42,7 +42,7 @@ technology = FFF family = MK3 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PVB +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB [printer_model:MK3SMMU2S] name = Original Prusa i3 MK3S && MK3S+ MMU2S @@ -51,7 +51,7 @@ technology = FFF family = MK3 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PVB @MMU2 +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PC Blend Carbon Fiber @MMU2; Prusament PVB @MMU2 [printer_model:MK3MMU2] name = Original Prusa i3 MK3 MMU2 @@ -60,7 +60,7 @@ technology = FFF family = MK3 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PVB @MMU2 +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PC Blend Carbon Fiber @MMU2; Prusament PVB @MMU2 [printer_model:MK2.5S] name = Original Prusa i3 MK2.5S @@ -69,7 +69,7 @@ technology = FFF family = MK2.5 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PVB +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB [printer_model:MK2.5] name = Original Prusa i3 MK2.5 @@ -78,7 +78,7 @@ technology = FFF family = MK2.5 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PVB +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PC Blend Carbon Fiber; Prusament PVB [printer_model:MK2.5SMMU2S] name = Original Prusa i3 MK2.5S MMU2S @@ -87,7 +87,7 @@ technology = FFF family = MK2.5 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PVB @MMU2 +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PC Blend Carbon Fiber @MMU2; Prusament PVB @MMU2 [printer_model:MK2.5MMU2] name = Original Prusa i3 MK2.5 MMU2 @@ -96,7 +96,7 @@ technology = FFF family = MK2.5 bed_model = mk3_bed.stl bed_texture = mk3.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PVB @MMU2 +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA @MMU2; Prusament PETG @MMU2; Prusament ASA @MMU2; Verbatim BVOH @MMU2; Prusament PC Blend @MMU2; Prusament PC Blend Carbon Fiber @MMU2; Prusament PVB @MMU2 [printer_model:MK2S] name = Original Prusa i3 MK2S @@ -105,7 +105,7 @@ technology = FFF family = MK2 bed_model = mk2_bed.stl bed_texture = mk2.svg -default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend; Prusament PVB +default_materials = Generic PLA; Generic ABS; Generic PETG; Prusament PLA; Prusament PETG; Prusament ASA; Prusament PC Blend @MK2; Prusament PC Blend Carbon Fiber @MK2; Prusament PVB [printer_model:MK2SMM] name = Original Prusa i3 MK2S MMU1 @@ -114,7 +114,7 @@ technology = FFF family = MK2 bed_model = mk2_bed.stl bed_texture = mk2.svg -default_materials = Generic PLA; Generic ABS; Generic PETG @MMU1; Prusament PLA; Prusament PETG @MMU1; Prusament ASA; Prusament PC Blend; Prusament PVB +default_materials = Generic PLA; Generic ABS; Generic PETG @MMU1; Prusament PLA; Prusament PETG @MMU1; Prusament ASA; Prusament PC Blend @MK2; Prusament PC Blend Carbon Fiber @MK2; Prusament PVB [printer_model:SL1] name = Original Prusa SL1 @@ -125,6 +125,15 @@ bed_model = sl1_bed.stl bed_texture = sl1.svg default_materials = Prusa Orange Tough @0.05 +[printer_model:SL1S] +name = Original Prusa SL1S SPEED +variants = default +technology = SLA +family = SL1 +bed_model = sl1s_bed.stl +bed_texture = sl1s.svg +default_materials = Prusa Orange Tough @0.05 SL1S + # All presets starting with asterisk, for example *common*, are intermediate and they will # not make it into the user interface. @@ -1898,7 +1907,7 @@ compatible_printers_condition = nozzle_diameter[0]!=0.8 and printer_model!="MINI [filament:Prusament PC Blend] inherits = *ABS* filament_vendor = Prusa Polymers -filament_cost = 60.49 +filament_cost = 62.36 filament_density = 1.22 filament_spool_weight = 201 fan_always_on = 0 @@ -1917,44 +1926,38 @@ fan_below_layer_time = 30 filament_type = PC filament_colour = #DEE0E6 filament_max_volumetric_speed = 8 -filament_retract_length = 1 filament_retract_lift = 0.2 compatible_printers_condition = printer_notes!~/.*PRINTER_MODEL_MK(2|2.5).*/ and nozzle_diameter[0]!=0.8 and printer_model!="MINI" and ! single_extruder_multi_material start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.07{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K24{elsif nozzle_diameter[0]==0.8};{else}M900 K45{endif} ; Filament gcode LA 1.0" [filament:Prusament PC Blend @MK2] -inherits = *ABS* -filament_vendor = Prusa Polymers -filament_cost = 60.49 -filament_density = 1.22 -filament_spool_weight = 201 -fan_always_on = 0 -first_layer_temperature = 275 +inherits = Prusament PC Blend first_layer_bed_temperature = 105 -temperature = 275 bed_temperature = 110 -cooling = 1 -min_fan_speed = 20 -max_fan_speed = 20 -min_print_speed = 15 -bridge_fan_speed = 30 -slowdown_below_layer_time = 20 disable_fan_first_layers = 6 -fan_below_layer_time = 30 -filament_type = PC -filament_colour = #DEE0E6 -filament_max_volumetric_speed = 8 -filament_retract_length = 1 -filament_retract_lift = 0.2 -compatible_printers_condition = nozzle_diameter[0]!=0.8 and printer_model!="MK2SMM" and printer_notes=~/.*PRINTER_MODEL_MK(2|2.5).*/ and ! (printer_notes=~/.*PRINTER_MODEL_MK2.5.*/ and single_extruder_multi_material) -start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.07{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K24{elsif nozzle_diameter[0]==0.8};{else}M900 K45{endif} ; Filament gcode LA 1.0" +compatible_printers_condition = nozzle_diameter[0]!=0.8 and printer_notes=~/.*PRINTER_MODEL_MK(2|2.5).*/ and ! (printer_notes=~/.*PRINTER_MODEL_MK2.5.*/ and single_extruder_multi_material) -[filament:Prusament PC Blend @MK2MMU1] -inherits = Prusament PC Blend @MK2 +[filament:Prusament PC Blend Carbon Fiber] +inherits = Prusament PC Blend +filament_cost = 90.73 +filament_density = 1.16 +extrusion_multiplier = 1.04 +first_layer_temperature = 285 +temperature = 285 +disable_fan_first_layers = 4 +fan_below_layer_time = 10 +filament_colour = #BBBBBB filament_retract_length = nil -filament_retract_lift = 0.2 -compatible_printers_condition = printer_model=="MK2SMM" -start_filament_gcode = "M900 K200 ; Filament gcode LA 1.0" +filament_retract_lift = nil +compatible_printers_condition = printer_notes!~/.*PRINTER_MODEL_MK(2|2.5).*/ and nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.8 and printer_model!="MINI" and ! single_extruder_multi_material + +[filament:Prusament PC Blend Carbon Fiber @MK2] +inherits = Prusament PC Blend Carbon Fiber +first_layer_bed_temperature = 105 +bed_temperature = 110 +disable_fan_first_layers = 6 +compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.8 and printer_notes=~/.*PRINTER_MODEL_MK(2|2.5).*/ and ! (printer_notes=~/.*PRINTER_MODEL_MK2.5.*/ and single_extruder_multi_material) +start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.07{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K24{elsif nozzle_diameter[0]==0.8};{else}M900 K45{endif} ; Filament gcode LA 1.0" [filament:Fillamentum CPE] inherits = *PET* @@ -1965,8 +1968,8 @@ filament_spool_weight = 230 filament_type = CPE first_layer_bed_temperature = 90 first_layer_temperature = 275 +min_fan_speed = 30 max_fan_speed = 50 -min_fan_speed = 50 disable_fan_first_layers = 3 full_fan_speed_layer = 5 temperature = 275 @@ -2299,7 +2302,7 @@ start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and no [filament:Prusament PC Blend @MMU2] inherits = *ABS MMU2* filament_vendor = Prusa Polymers -filament_cost = 60.49 +filament_cost = 62.36 filament_density = 1.22 filament_spool_weight = 201 fan_always_on = 0 @@ -2319,13 +2322,25 @@ filament_cooling_final_speed = 2 filament_cooling_initial_speed = 3 filament_cooling_moves = 1 filament_max_volumetric_speed = 8 -filament_retract_length = 1 filament_retract_lift = 0.2 filament_ramming_parameters = "130 120 2.70968 2.93548 3.32258 3.83871 4.58065 5.54839 6.51613 7.35484 7.93548 8.16129| 0.05 2.66451 0.45 3.05805 0.95 4.05807 1.45 5.97742 1.95 7.69999 2.45 8.1936 2.95 11.342 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6" filament_type = PC filament_colour = #DEE0E6 start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.6}0.12{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/ and nozzle_diameter[0]==0.8}0.06{elsif printer_notes=~/.*PRINTER_MODEL_MINI.*/}0.2{elsif nozzle_diameter[0]==0.8}0.02{elsif nozzle_diameter[0]==0.6}0.04{else}0.07{endif} ; Filament gcode LA 1.5\n{if printer_notes=~/.*PRINTER_MODEL_MINI.*/};{elsif printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}M900 K200{elsif nozzle_diameter[0]==0.6}M900 K22{elsif nozzle_diameter[0]==0.8};{else}M900 K40{endif} ; Filament gcode LA 1.0" +[filament:Prusament PC Blend Carbon Fiber @MMU2] +inherits = Prusament PC Blend @MMU2 +filament_cost = 90.73 +filament_density = 1.16 +extrusion_multiplier = 1.04 +fan_below_layer_time = 10 +first_layer_temperature = 280 +temperature = 280 +disable_fan_first_layers = 4 +filament_retract_lift = nil +filament_colour = #BBBBBB +compatible_printers_condition = nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.8 and printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK(2.5|3).*/ and single_extruder_multi_material + [filament:Prusa ABS @MMU2] inherits = *ABS MMU2* filament_vendor = Made for Prusa @@ -2491,6 +2506,7 @@ filament_unloading_speed_start = 120 filament_loading_speed_start = 19 filament_retract_length = 1 filament_retract_lift = 0.2 +filament_max_volumetric_speed = 7 [filament:*PET MMU2 06*] inherits = *PET MMU2* @@ -3035,8 +3051,8 @@ filament_spool_weight = 230 filament_type = CPE first_layer_bed_temperature = 90 first_layer_temperature = 275 +min_fan_speed = 30 max_fan_speed = 50 -min_fan_speed = 50 disable_fan_first_layers = 3 full_fan_speed_layer = 5 temperature = 275 @@ -3570,7 +3586,7 @@ min_fan_speed = 50 filament_max_volumetric_speed = 1.2 compatible_printers_condition = nozzle_diameter[0]>0.35 and printer_model=="MINI" disable_fan_first_layers = 4 -extrusion_multiplier = 1.2 +extrusion_multiplier = 1.15 start_filament_gcode = "M900 K0 ; Filament gcode" [filament:Fillamentum CPE @MINI] @@ -3584,7 +3600,7 @@ filament_density = 1.25 filament_spool_weight = 230 disable_fan_first_layers = 3 full_fan_speed_layer = 5 -min_fan_speed = 50 +min_fan_speed = 30 [filament:ColorFabb nGen @MINI] inherits = ColorFabb nGen; *PETMINI* @@ -3660,7 +3676,7 @@ filament_wipe = nil [filament:Prusament PC Blend @MINI] inherits = *ABSMINI* filament_vendor = Prusa Polymers -filament_cost = 60.49 +filament_cost = 62.36 filament_density = 1.22 filament_spool_weight = 201 fan_always_on = 0 @@ -3686,6 +3702,19 @@ filament_retract_before_travel = nil filament_wipe = nil compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]!=0.8 +[filament:Prusament PC Blend Carbon Fiber @MINI] +inherits = Prusament PC Blend @MINI +filament_cost = 90.73 +filament_density = 1.16 +extrusion_multiplier = 1.04 +first_layer_temperature = 280 +temperature = 280 +disable_fan_first_layers = 4 +fan_below_layer_time = 10 +filament_max_volumetric_speed = 6.5 +filament_colour = #BBBBBB +compatible_printers_condition = printer_model=="MINI" and nozzle_diameter[0]>=0.4 and nozzle_diameter[0]!=0.8 + [filament:Prusa ABS @MINI] inherits = *ABSMINI* filament_vendor = Made for Prusa @@ -3897,6 +3926,18 @@ filament_max_volumetric_speed = 13 filament_retract_lift = 0.25 compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_model!="MK2SMM" and printer_notes=~/.*PRINTER_MODEL_MK(2|2.5).*/ and ! (printer_notes=~/.*PRINTER_MODEL_MK2.5.*/ and single_extruder_multi_material) +[filament:Prusament PC Blend Carbon Fiber @0.8 nozzle] +inherits = Prusament PC Blend Carbon Fiber +filament_max_volumetric_speed = 13 +filament_retract_lift = 0.25 +compatible_printers_condition = printer_notes!~/.*PRINTER_MODEL_MK(2|2.5).*/ and nozzle_diameter[0]==0.8 and printer_model!="MINI" and ! single_extruder_multi_material + +[filament:Prusament PC Blend Carbon Fiber @0.8 nozzle MK2] +inherits = Prusament PC Blend Carbon Fiber @MK2 +filament_max_volumetric_speed = 13 +filament_retract_lift = 0.25 +compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_model!="MK2SMM" and printer_notes=~/.*PRINTER_MODEL_MK(2|2.5).*/ and ! (printer_notes=~/.*PRINTER_MODEL_MK2.5.*/ and single_extruder_multi_material) + [filament:Prusament PVB @0.8 nozzle] inherits = Prusament PVB first_layer_temperature = 225 @@ -4044,8 +4085,15 @@ filament_retract_lift = 0.25 slowdown_below_layer_time = 20 compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_model=="MINI" +[filament:Prusament PC Blend Carbon Fiber @0.8 nozzle MINI] +inherits = Prusament PC Blend Carbon Fiber @MINI +filament_max_volumetric_speed = 10 +filament_retract_lift = 0.25 +slowdown_below_layer_time = 20 +compatible_printers_condition = nozzle_diameter[0]==0.8 and printer_model=="MINI" + [sla_print:*common*] -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_SL1.*/ +compatible_printers_condition = printer_model=="SL1" layer_height = 0.05 output_filename_format = [input_filename_base].sl1 pad_edge_radius = 0.5 @@ -4072,6 +4120,16 @@ support_pillar_widening_factor = 0 supports_enable = 1 support_small_pillar_diameter_percent = 60% +[sla_print:*SL1S*] +inherits = *common* +support_head_front_diameter = 0.5 +support_head_penetration = 0.5 +support_pillar_diameter = 1 +output_filename_format = [input_filename_base].sl1s +compatible_printers_condition = printer_model=="SL1S" + +# SL1 # + [sla_print:0.025 UltraDetail] inherits = *common* layer_height = 0.025 @@ -4092,10 +4150,25 @@ support_head_front_diameter = 0.5 support_head_penetration = 0.5 support_pillar_diameter = 1.3 +# SL1S # + +[sla_print:0.025 UltraDetail @SL1S] +inherits = *SL1S* +layer_height = 0.025 +support_head_width = 3 + +[sla_print:0.05 Normal @SL1S] +inherits = *SL1S* +layer_height = 0.05 + +[sla_print:0.1 Fast @SL1S] +inherits = *SL1S* +layer_height = 0.1 + ########### Materials -[sla_material:*common 0.05*] -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_SL1.*/ +[sla_material:*common*] +compatible_printers_condition = printer_model=="SL1" compatible_prints_condition = layer_height == 0.05 exposure_time = 12 initial_exposure_time = 45 @@ -4104,26 +4177,52 @@ material_correction = 1,1,1 material_notes = [sla_material:*common 0.025*] -inherits = *common 0.05* +inherits = *common* compatible_prints_condition = layer_height == 0.025 exposure_time = 10 initial_exposure_time = 35 initial_layer_height = 0.025 [sla_material:*common 0.035*] -inherits = *common 0.05* +inherits = *common* compatible_prints_condition = layer_height == 0.035 exposure_time = 13 initial_exposure_time = 40 initial_layer_height = 0.035 +[sla_material:*common 0.05*] +inherits = *common* + [sla_material:*common 0.1*] -inherits = *common 0.05* +inherits = *common* compatible_prints_condition = layer_height == 0.1 exposure_time = 20 initial_exposure_time = 45 initial_layer_height = 0.1 +[sla_material:*0.025_sl1s*] +inherits = *common* +compatible_prints_condition = layer_height == 0.025 +compatible_printers_condition = printer_model=="SL1S" +exposure_time = 1.3 +initial_exposure_time = 25 +initial_layer_height = 0.025 + +[sla_material:*0.05_sl1s*] +inherits = *common* +compatible_printers_condition = printer_model=="SL1S" +exposure_time = 1.7 +initial_exposure_time = 25 + +[sla_material:*0.1_sl1s*] +inherits = *common* +compatible_prints_condition = layer_height == 0.1 +compatible_printers_condition = printer_model=="SL1S" +exposure_time = 2.6 +initial_exposure_time = 25 +initial_layer_height = 0.1 + + ########### Materials 0.025 [sla_material:3DM-ABS @0.025] @@ -4140,14 +4239,14 @@ initial_exposure_time = 30 material_type = Tough material_vendor = 3DM -[sla_material:3DM-TOUGH Clear 0.025] +[sla_material:3DM-TOUGH Clear @0.025] inherits = *common 0.025* exposure_time = 9 initial_exposure_time = 30 material_type = Tough material_vendor = 3DM -[sla_material:3DM-HR Red Wine 0.025] +[sla_material:3DM-HR Red Wine @0.025] inherits = *common 0.025* exposure_time = 14 initial_exposure_time = 35 @@ -4780,7 +4879,7 @@ initial_exposure_time = 30 material_type = Tough material_vendor = 3DM -[sla_material:3DM-TOUGH Clear 0.05] +[sla_material:3DM-TOUGH Clear @0.05] inherits = *common 0.05* exposure_time = 15 initial_exposure_time = 30 @@ -5324,6 +5423,371 @@ initial_exposure_time = 35 material_type = Tough material_vendor = Made for Prusa +## SL1S materials ## + +## 0.025 SL1S + +[sla_material:Prusa Orange Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa White ABS like @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Azure Blue Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Black Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Cyan Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Magenta Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Maroon Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa White Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Pink Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Grey Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Blue Flexible @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Flexible +material_vendor = Made for Prusa + +[sla_material:Prusa Grey High Tenacity @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Polymers Orange @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Prusa Polymers + +[sla_material:3DM-ABS Orange @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = 3DM + +[sla_material:3DM-TOUGH Clear @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = 3DM + +[sla_material:Peopoly Clear Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + +[sla_material:Peopoly White Tough @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + +## 0.05 SL1S + +[sla_material:Prusa Orange Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa White ABS like @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Azure Blue Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Black Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2.4 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Cyan Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Magenta Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Maroon Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2.4 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa White Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Pink Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Blue Flexible @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Flexible +material_vendor = Made for Prusa + +[sla_material:Prusa Grey Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2.4 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Grey High Tenacity @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Polymers Orange @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Prusa Polymers + +[sla_material:3DM-ABS Orange @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = 3DM + +[sla_material:3DM-TOUGH Clear @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = 3DM + +[sla_material:Peopoly Clear Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + +[sla_material:Peopoly White Tough @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + +## 0.1 SL1S + +[sla_material:Prusa Orange Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa White ABS like @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Azure Blue Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Black Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 3 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Cyan Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Magenta Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Maroon Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 3 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa White Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Pink Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Blue Flexible @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Flexible +material_vendor = Made for Prusa + +[sla_material:Prusa Grey Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 3 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Grey High Tenacity @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Made for Prusa + +[sla_material:Prusa Polymers Orange @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Prusa Polymers + +[sla_material:3DM-ABS Orange @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 3 +initial_exposure_time = 25 +material_type = Tough +material_vendor = 3DM + +[sla_material:3DM-TOUGH Clear @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 3 +initial_exposure_time = 25 +material_type = Tough +material_vendor = 3DM + +[sla_material:Peopoly Clear Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + +[sla_material:Peopoly White Tough @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + [printer:*common*] printer_technology = FFF bed_shape = 0x0,250x0,250x210,0x210 @@ -5593,7 +6057,7 @@ single_extruder_multi_material = 1 # (for example the retract values) are duplicaed from the first value, so they do not need # to be defined explicitely. nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 -extruder_colour = #FF8000;#DB5182;#00FFFF;#FF4F4F;#9FFF9F +extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n end_gcode = ; Lift print head a bit\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; Move print head up\n{if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nG1 X0 Y210 F3000 ; home X axis\nM900 K0 ; reset LA\nM84 ; disable motors\n @@ -5708,7 +6172,7 @@ single_extruder_multi_material = 1 # (for example the retract values) are duplicaed from the first value, so they do not need # to be defined explicitely. nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 -extruder_colour = #FF8000;#DB5182;#00FFFF;#FF4F4F;#9FFF9F +extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\nG92 E0.0\n end_gcode = ; Lift print head a bit\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; Move print head up\n{if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nG1 X0 Y210 F3000 ; home X axis\nM900 K0 ; reset LA\nM84 ; disable motors\n @@ -5839,7 +6303,7 @@ single_extruder_multi_material = 1 cooling_tube_length = 10 cooling_tube_retraction = 30 parking_pos_retraction = 85 -retract_length_toolchange = 3 +retract_length_toolchange = 2 extra_loading_move = -13 printer_model = MK3MMU2 default_print_profile = 0.15mm QUALITY @MK3 @@ -5851,7 +6315,7 @@ single_extruder_multi_material = 1 cooling_tube_length = 20 cooling_tube_retraction = 40 parking_pos_retraction = 85 -retract_length_toolchange = 3 +retract_length_toolchange = 2 extra_loading_move = -25 printer_model = MK3SMMU2S default_print_profile = 0.15mm QUALITY @MK3 @@ -5904,7 +6368,7 @@ inherits = *mm2* # to be defined explicitely. machine_max_acceleration_e = 8000,8000 nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 -extruder_colour = #FF8000;#DB5182;#00FFFF;#FF4F4F;#9FFF9F +extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} end_gcode = ; Lift print head a bit\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; Move print head up\n{if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nG1 X0 Y210 F3000 ; home X axis\nM84 ; disable motors\n @@ -5956,7 +6420,7 @@ inherits = *mm2s* renamed_from = "Original Prusa i3 MK3S MMU2S" machine_max_acceleration_e = 8000,8000 nozzle_diameter = 0.4,0.4,0.4,0.4,0.4 -extruder_colour = #FF8000;#DB5182;#00FFFF;#FF4F4F;#9FFF9F +extruder_colour = #FF8000;#DB5182;#3EC0FF;#FF4F4F;#FBEB7D start_gcode = M862.3 P \"[printer_model]\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM115 U3.10.0 ; tell printer latest fw version\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E29.0 F1073.0\nG1 X5.0 E29.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0 F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG92 E0.0\n\n; Don't change E values below. Excessive value can damage the printer.\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE).*/}M907 E430 ; set extruder motor current{endif}\n{if print_settings_id=~/.*(SPEED @MK3|DRAFT @MK3).*/}M907 E538 ; set extruder motor current{endif} end_gcode = ; Lift print head a bit\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} ; Move print head up\n{if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM221 S100 ; reset flow\nM900 K0 ; reset LA\n{if print_settings_id=~/.*(DETAIL @MK3|QUALITY @MK3|SOLUBLE|@0.25 nozzle MK3).*/}M907 E538 ; reset extruder motor current{endif}\nM104 S0 ; turn off temperature\nG1 X0 Y210 F3000 ; home X axis\nM84 ; disable motors\n @@ -6110,6 +6574,36 @@ max_initial_exposure_time = 300 printer_correction = 1,1,1 printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1\n +[printer:Original Prusa SL1S SPEED] +printer_technology = SLA +printer_model = SL1S +printer_variant = default +default_sla_material_profile = Prusa Orange Tough @0.05 SL1S +default_sla_print_profile = 0.05 Normal @SL1S +thumbnails = 400x400,800x480 +bed_shape = 0.5x0.5,127.5x0.5,127.5x80.5,0.5x80.5 +display_height = 81 +display_mirror_x = 1 +display_mirror_y = 0 +display_orientation = portrait +display_pixels_x = 2560 +display_pixels_y = 1620 +display_width = 128 +elefant_foot_compensation = 0.2 +elefant_foot_min_width = 0.2 +fast_tilt_time = 4 +slow_tilt_time = 5.7 +gamma_correction = 1 +max_print_height = 150 +min_exposure_time = 1 +max_exposure_time = 120 +min_initial_exposure_time = 1 +max_initial_exposure_time = 300 +printer_correction = 1,1,1 +relative_correction = 1,1 +area_fill = 50 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1S\n + # The obsolete presets will be removed when upgrading from the legacy configuration structure (up to Slic3r 1.39.2) to 1.40.0 and newer. [obsolete_presets] print="0.05mm DETAIL 0.25 nozzle";"0.05mm DETAIL MK3";"0.05mm DETAIL";"0.20mm NORMAL MK3";"0.35mm FAST MK3";"print:0.15mm OPTIMAL MK3 MMU2";"print:0.20mm FAST MK3 MMU2" From d96b39150f8fe733cb2fc0b31a1e801afd6602ea Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Mon, 21 Jun 2021 17:13:18 +0200 Subject: [PATCH 29/80] Added new AzteQ Industrial printer, added DeltiQ 2 profiles for 0.6mm nozzle, added material ASA 275 (Spectrum), some minor setting improvements --- resources/profiles/TriLAB.idx | 2 + resources/profiles/TriLAB.ini | 978 ++++++++++++++++++++++++++++------ 2 files changed, 816 insertions(+), 164 deletions(-) diff --git a/resources/profiles/TriLAB.idx b/resources/profiles/TriLAB.idx index 65f47d59a..5809ea390 100644 --- a/resources/profiles/TriLAB.idx +++ b/resources/profiles/TriLAB.idx @@ -1,3 +1,5 @@ +min_slic3r_version = 2.3.2-alpha0 +0.0.8 Added new AzteQ Industrial printer, added DeltiQ 2 profiles for 0.6mm nozzle, added material ASA 275 (Spectrum), some minor setting improvements min_slic3r_version = 2.3.0-alpha3 0.0.7 Added PLA, PETG profiles for 0.25 nozzle, fixed supports on 0.8 nozzle profile, fixed max volumetric speed, disabled elefant foot compensation 0.0.6 Added material TPU 93A (SMARTFIL) diff --git a/resources/profiles/TriLAB.ini b/resources/profiles/TriLAB.ini index d6824bade..00e6295cc 100644 --- a/resources/profiles/TriLAB.ini +++ b/resources/profiles/TriLAB.ini @@ -6,7 +6,7 @@ name = TriLAB # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 0.0.7 +config_version = 0.0.8 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/TriLAB/ # changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -15,23 +15,32 @@ config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/Prus # also the first model installed & the first nozzle installed will be activated after install. # Printer model name will be shown by the installation wizard. +[printer_model:AQI] +name = AzteQ Industrial +variants = 0.4; 0.6 +technology = FFF +family = AzteQ +bed_model = aq_bed.stl +bed_texture = aq_bed_texture.svg +default_materials = AzteQ Industrial (Door Opened) - PLA - ExtraFill (Fillamentum);AzteQ Industrial (Door Opened) - PLA - Generic;AzteQ Industrial (PLA Printhead) - PLA - ExtraFill (Fillamentum);AzteQ Industrial - ABS - ExtraFill (Fillamentum);AzteQ Industrial - ABS - Generic;AzteQ Industrial - ASA - ExtraFill (Fillamentum);AzteQ Industrial - ASA - Generic;AzteQ Industrial - ASA - Prusament (Prusa);AzteQ Industrial - PA - Nylon PA12 (Fiberlogy);AzteQ Industrial - PC Blend - Prusament (Prusa) + [printer_model:DQ2] name = DeltiQ 2 -variants = 0.4; 0.25; 0.8 +variants = 0.4; 0.25; 0.6; 0.8 technology = FFF family = DeltiQ 2 bed_model = dq2_bed.stl bed_texture = dq2_bed_texture.svg -default_materials = DeltiQ - PLA - Generic; DeltiQ - PETG - Generic; DeltiQ - ABS - Generic; DeltiQ - PLA - ExtraFill (Fillamentum); DeltiQ - PETG (Devil Design); DeltiQ - ABS - ExtraFill (Fillamentum); DeltiQ - ASA - ExtraFill (Fillamentum); DeltiQ - CPE - HG100 (Fillamentum); DeltiQ FP2 - PLA - Generic; DeltiQ FP2 - PETG - Generic; DeltiQ FP2 - ABS - Generic; DeltiQ FP2 - PLA - ExtraFill (Fillamentum); DeltiQ FP2 - PETG (Devil Design); DeltiQ FP2 - ABS - ExtraFill (Fillamentum); DeltiQ FP2 - ASA - ExtraFill (Fillamentum); DeltiQ FP2 - CPE - HG100 (Fillamentum); DeltiQ FP2 - FLEX - Generic; DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum); DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum); DeltiQ FP2 - TPU 93A (SMARTFIL); DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle; DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle +default_materials = DeltiQ - PLA - Generic;DeltiQ - PLA - ExtraFill (Fillamentum);DeltiQ - PETG - Generic;DeltiQ - PETG (Devil Design);DeltiQ - ABS - Generic;DeltiQ - ABS - ExtraFill (Fillamentum);DeltiQ - ASA - ExtraFill (Fillamentum);DeltiQ - ASA - ASA 275 (Spectrum);DeltiQ - CPE - HG100 (Fillamentum);DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle;DeltiQ - PETG (Devil Design) @0.25 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - PETG (Devil Design) @0.6 nozzle;DeltiQ - ABS - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ASA 275 (Spectrum) @0.6 nozzle;DeltiQ - CPE - HG100 (Fillamentum) @0.6 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle;DeltiQ - PETG (Devil Design) @0.8 nozzle [printer_model:DQ2P] name = DeltiQ 2 Plus -variants = 0.4; 0.25; 0.8 +variants = 0.4; 0.25; 0.6; 0.8 technology = FFF family = DeltiQ 2 bed_model = dq2_bed.stl bed_texture = dq2_bed_texture.svg -default_materials = DeltiQ - PLA - Generic; DeltiQ - PETG - Generic; DeltiQ - ABS - Generic; DeltiQ - PLA - ExtraFill (Fillamentum); DeltiQ - PETG (Devil Design); DeltiQ - ABS - ExtraFill (Fillamentum); DeltiQ - ASA - ExtraFill (Fillamentum); DeltiQ - CPE - HG100 (Fillamentum); DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle +default_materials = DeltiQ - PLA - Generic;DeltiQ - PLA - ExtraFill (Fillamentum);DeltiQ - PETG - Generic;DeltiQ - PETG (Devil Design);DeltiQ - ABS - Generic;DeltiQ - ABS - ExtraFill (Fillamentum);DeltiQ - ASA - ExtraFill (Fillamentum);DeltiQ - ASA - ASA 275 (Spectrum);DeltiQ - CPE - HG100 (Fillamentum);DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle;DeltiQ - PETG (Devil Design) @0.25 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - PETG (Devil Design) @0.6 nozzle;DeltiQ - ABS - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ASA 275 (Spectrum) @0.6 nozzle;DeltiQ - CPE - HG100 (Fillamentum) @0.6 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle;DeltiQ - PETG (Devil Design) @0.8 nozzle [printer_model:DQ2+FP2] name = DeltiQ 2 + FlexPrint 2 @@ -40,7 +49,7 @@ technology = FFF family = DeltiQ 2 bed_model = dq2_bed.stl bed_texture = dq2_bed_texture.svg -default_materials = DeltiQ FP2 - PLA - Generic; DeltiQ FP2 - PETG - Generic; DeltiQ FP2 - ABS - Generic; DeltiQ FP2 - PLA - ExtraFill (Fillamentum); DeltiQ FP2 - PETG (Devil Design); DeltiQ FP2 - ABS - ExtraFill (Fillamentum); DeltiQ FP2 - ASA - ExtraFill (Fillamentum); DeltiQ FP2 - CPE - HG100 (Fillamentum); DeltiQ FP2 - FLEX - Generic; DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum); DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum); DeltiQ FP2 - TPU 93A (SMARTFIL) +default_materials = DeltiQ FP2 - PLA - Generic;DeltiQ FP2 - PLA - ExtraFill (Fillamentum);DeltiQ FP2 - PETG - Generic;DeltiQ FP2 - PETG (Devil Design);DeltiQ FP2 - ABS - Generic;DeltiQ FP2 - ABS - ExtraFill (Fillamentum);DeltiQ FP2 - ASA - ExtraFill (Fillamentum);DeltiQ FP2 - CPE - HG100 (Fillamentum);DeltiQ FP2 - FLEX - Generic;DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 93A (SMARTFIL) [printer_model:DQ2P+FP2] name = DeltiQ 2 Plus + FlexPrint 2 @@ -49,7 +58,7 @@ technology = FFF family = DeltiQ 2 bed_model = dq2_bed.stl bed_texture = dq2_bed_texture.svg -default_materials = DeltiQ FP2 - PLA - Generic; DeltiQ FP2 - PETG - Generic; DeltiQ FP2 - ABS - Generic; DeltiQ FP2 - PLA - ExtraFill (Fillamentum); DeltiQ FP2 - PETG (Devil Design); DeltiQ FP2 - ABS - ExtraFill (Fillamentum); DeltiQ FP2 - ASA - ExtraFill (Fillamentum); DeltiQ FP2 - CPE - HG100 (Fillamentum); DeltiQ FP2 - FLEX - Generic; DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum); DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum); DeltiQ FP2 - TPU 93A (SMARTFIL) +default_materials = DeltiQ FP2 - PLA - Generic;DeltiQ FP2 - PLA - ExtraFill (Fillamentum);DeltiQ FP2 - PETG - Generic;DeltiQ FP2 - PETG (Devil Design);DeltiQ FP2 - ABS - Generic;DeltiQ FP2 - ABS - ExtraFill (Fillamentum);DeltiQ FP2 - ASA - ExtraFill (Fillamentum);DeltiQ FP2 - CPE - HG100 (Fillamentum);DeltiQ FP2 - FLEX - Generic;DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 93A (SMARTFIL) [printer_model:DQ2+FP] name = DeltiQ 2 + FlexPrint @@ -58,7 +67,7 @@ technology = FFF family = DeltiQ 2 bed_model = dq2_bed.stl bed_texture = dq2_bed_texture.svg -default_materials = DeltiQ FP - PLA - Generic; DeltiQ FP - PETG - Generic; DeltiQ FP - ABS - Generic; DeltiQ FP - PLA - ExtraFill (Fillamentum); DeltiQ FP - PETG (Devil Design); DeltiQ FP - ABS - ExtraFill (Fillamentum); DeltiQ FP - ASA - ExtraFill (Fillamentum); DeltiQ FP - CPE - HG100 (Fillamentum); DeltiQ FP - FLEX - Generic; +default_materials = DeltiQ FP - PLA - Generic;DeltiQ FP - PLA - ExtraFill (Fillamentum);DeltiQ FP - PETG - Generic;DeltiQ FP - PETG (Devil Design);DeltiQ FP - ABS - Generic;DeltiQ FP - ABS - ExtraFill (Fillamentum);DeltiQ FP - ASA - ExtraFill (Fillamentum);DeltiQ FP - CPE - HG100 (Fillamentum);DeltiQ FP - FLEX - Generic [printer_model:DQ2P+FP] name = DeltiQ 2 Plus + FlexPrint @@ -67,7 +76,7 @@ technology = FFF family = DeltiQ 2 bed_model = dq2_bed.stl bed_texture = dq2_bed_texture.svg -default_materials = DeltiQ FP - PLA - Generic; DeltiQ FP - PETG - Generic; DeltiQ FP - ABS - Generic; DeltiQ FP - PLA - ExtraFill (Fillamentum); DeltiQ FP - PETG (Devil Design); DeltiQ FP - ABS - ExtraFill (Fillamentum); DeltiQ FP - ASA - ExtraFill (Fillamentum); DeltiQ FP - CPE - HG100 (Fillamentum); DeltiQ FP - FLEX - Generic +default_materials = DeltiQ FP - PLA - Generic;DeltiQ FP - PLA - ExtraFill (Fillamentum);DeltiQ FP - PETG - Generic;DeltiQ FP - PETG (Devil Design);DeltiQ FP - ABS - Generic;DeltiQ FP - ABS - ExtraFill (Fillamentum);DeltiQ FP - ASA - ExtraFill (Fillamentum);DeltiQ FP - CPE - HG100 (Fillamentum);DeltiQ FP - FLEX - Generic [printer_model:DQM] name = DeltiQ M @@ -90,12 +99,11 @@ technology = FFF family = DeltiQ default_materials = DeltiQ PLA; DeltiQ ASA; DeltiQ PET; DeltiQ ABS; DeltiQ CPE -# All presets starting with asterisk, for example *common*, are intermediate and they will -# not make it into the user interface. +# DeltiQ print styles # [print:DeltiQ 0.20mm Normal] avoid_crossing_perimeters = 0 -bottom_fill_pattern = rectilinear +bottom_fill_pattern = monotonic bottom_solid_layers = 4 bottom_solid_min_thickness = 0.7 bridge_acceleration = 1000 @@ -105,7 +113,7 @@ bridge_speed = 30 brim_width = 0 clip_multipart_objects = 1 compatible_printers = -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and nozzle_diameter[0]==0.4 complete_objects = 0 default_acceleration = 2000 dont_support_bridges = 0 @@ -212,7 +220,7 @@ wipe_tower_x = 180 wipe_tower_y = 140 xy_size_compensation = 0 -[print:DeltiQ 0.10mm Normal] +[print:DeltiQ 0.10mm Detail] inherits = DeltiQ 0.20mm Normal bottom_solid_layers = 7 bottom_solid_min_thickness = 0.7 @@ -255,7 +263,7 @@ thin_walls = 0 inherits = DeltiQ 0.20mm Normal avoid_crossing_perimeters = 0 bridge_flow_ratio = 0.80 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*FLEXPRINT.*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT.*/ and nozzle_diameter[0]==0.4 extra_perimeters = 1 only_retract_when_crossing_perimeters = 1 extrusion_width = 0.40 @@ -288,7 +296,7 @@ inherits = DeltiQ 0.20mm Normal bottom_solid_layers = 6 bottom_solid_min_thickness = 0.5 bridge_speed = 60 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and nozzle_diameter[0]==0.25 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and nozzle_diameter[0]==0.25 elefant_foot_compensation = 0.0 external_perimeter_extrusion_width = 0.27 extrusion_width = 0.25 @@ -314,13 +322,40 @@ inherits = DeltiQ 0.07mm Quality @0.25 nozzle first_layer_height = 0.2 layer_height = 0.2 +[print:DeltiQ 0.30mm Normal @0.6 nozzle] +inherits = DeltiQ 0.20mm Normal +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and nozzle_diameter[0]==0.6 +external_perimeter_extrusion_width = 0.68 +extrusion_width = 0.65 +first_layer_extrusion_width = 0.65 +first_layer_height = 0.3 +infill_extrusion_width = 0.68 +layer_height = 0.3 +perimeter_extrusion_width = 0.68 +solid_infill_extrusion_width = 0.68 +support_material_contact_distance = 0.2 +support_material_extrusion_width = 0.55 +support_material_interface_spacing = 0.6 +support_material_xy_spacing = 0.9 +top_infill_extrusion_width = 0.6 + +[print:DeltiQ 0.30mm Strong @0.6 nozzle] +inherits = DeltiQ 0.30mm Normal @0.6 nozzle +fill_density = 50% +perimeters = 3 + +[print:DeltiQ 0.35mm Fast @0.6 nozzle] +inherits = DeltiQ 0.30mm Normal @0.6 nozzle +fill_density = 10% +layer_height = 0.35 + [print:DeltiQ 0.40mm Normal @0.8 nozzle] inherits = DeltiQ 0.20mm Normal bottom_solid_layers = 3 bottom_solid_min_thickness = 1.2 bridge_flow_ratio = 0.90 bridge_speed = 20 -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and nozzle_diameter[0]==0.8 +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and nozzle_diameter[0]==0.8 elefant_foot_compensation = 0.0 external_perimeter_extrusion_width = 0.80 external_perimeter_speed = 30 @@ -360,6 +395,181 @@ spiral_vase = 1 ensure_vertical_shell_thickness = 1 thin_walls = 0 +# AzteQ print styles # + +[print:AzteQ Industrial 0.20mm Normal] +avoid_crossing_perimeters = 0 +avoid_crossing_perimeters_max_detour = 0 +bottom_fill_pattern = monotonic +bottom_solid_layers = 4 +bottom_solid_min_thickness = 0.7 +bridge_acceleration = 1000 +bridge_angle = 0 +bridge_flow_ratio = 0.95 +bridge_speed = 30 +brim_width = 0 +clip_multipart_objects = 1 +compatible_printers = +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.4 +complete_objects = 0 +default_acceleration = 2000 +dont_support_bridges = 0 +draft_shield = 0 +elefant_foot_compensation = 0 +ensure_vertical_shell_thickness = 0 +external_perimeter_extrusion_width = 0.45 +external_perimeter_speed = 30 +external_perimeters_first = 0 +extra_perimeters = 0 +extruder_clearance_height = 65 +extruder_clearance_radius = 65 +extrusion_width = 0.45 +fill_angle = 45 +fill_density = 20% +fill_pattern = grid +first_layer_acceleration = 1000 +first_layer_extrusion_width = 0.42 +first_layer_height = 0.2 +first_layer_speed = 20 +gap_fill_speed = 40 +gcode_comments = 0 +gcode_label_objects = 0 +infill_acceleration = 2000 +infill_anchor = 600% +infill_anchor_max = 50 +infill_every_layers = 1 +infill_extruder = 1 +infill_extrusion_width = 0.45 +infill_first = 0 +infill_only_where_needed = 0 +infill_overlap = 25% +infill_speed = 60 +inherits = +interface_shells = 0 +ironing = 0 +ironing_flowrate = 15% +ironing_spacing = 0.1 +ironing_speed = 15 +ironing_type = top +layer_height = 0.2 +max_print_speed = 60 +max_volumetric_speed = 0 +min_skirt_length = 4 +notes = +only_retract_when_crossing_perimeters = 1 +ooze_prevention = 0 +output_filename_format = {input_filename_base}_{printer_model}_{filament_type[0]}_{layer_height}mm_{print_time}_{timestamp}.gcode +overhangs = 1 +perimeter_acceleration = 1500 +perimeter_extruder = 1 +perimeter_extrusion_width = 0.45 +perimeter_speed = 45 +perimeters = 2 +post_process = +print_settings_id = +raft_layers = 0 +resolution = 0 +seam_position = nearest +single_extruder_multi_material_priming = 0 +skirt_distance = 10 +skirt_height = 2 +skirts = 1 +slice_closing_radius = 0.049 +small_perimeter_speed = 20 +solid_infill_below_area = 70 +solid_infill_every_layers = 0 +solid_infill_extruder = 1 +solid_infill_extrusion_width = 0.45 +solid_infill_speed = 60 +spiral_vase = 0 +standby_temperature_delta = -5 +support_material = 0 +support_material_angle = 30 +support_material_auto = 1 +support_material_buildplate_only = 0 +support_material_contact_distance = 0.1 +support_material_enforce_layers = 0 +support_material_extruder = 0 +support_material_extrusion_width = 0.35 +support_material_interface_contact_loops = 0 +support_material_interface_extruder = 0 +support_material_interface_layers = 4 +support_material_interface_spacing = 0.4 +support_material_interface_speed = 100% +support_material_pattern = rectilinear +support_material_spacing = 2 +support_material_speed = 50 +support_material_synchronize_layers = 0 +support_material_threshold = 40 +support_material_with_sheath = 0 +support_material_xy_spacing = 0.6 +thin_walls = 0 +threads = 12 +top_fill_pattern = monotonic +top_infill_extrusion_width = 0.4 +top_solid_infill_speed = 40 +top_solid_layers = 5 +top_solid_min_thickness = 0.7 +travel_speed = 200 +wipe_tower = 0 +wipe_tower_bridging = 10 +wipe_tower_no_sparse_layers = 0 +wipe_tower_rotation_angle = 0 +wipe_tower_width = 60 +wipe_tower_x = 180 +wipe_tower_y = 140 +xy_size_compensation = 0 + +[print:AzteQ Industrial 0.15mm Detail] +inherits = AzteQ Industrial 0.20mm Normal +layer_height = 0.15 + +[print:AzteQ Industrial 0.20mm Strong] +inherits = AzteQ Industrial 0.20mm Normal +fill_density = 50% +perimeters = 3 + +[print:AzteQ Industrial 0.20mm Vase] +inherits = AzteQ Industrial 0.20mm Normal +ensure_vertical_shell_thickness = 1 +fill_density = 0% +perimeters = 1 +spiral_vase = 1 +top_solid_layers = 0 + +[print:AzteQ Industrial 0.25mm Fast] +inherits = AzteQ Industrial 0.20mm Normal +fill_density = 10% +layer_height = 0.25 + +[print:AzteQ Industrial 0.30mm Normal @0.6 nozzle] +inherits = AzteQ Industrial 0.20mm Normal +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +external_perimeter_extrusion_width = 0.68 +extrusion_width = 0.65 +first_layer_extrusion_width = 0.65 +first_layer_height = 0.3 +infill_extrusion_width = 0.68 +layer_height = 0.3 +perimeter_extrusion_width = 0.68 +solid_infill_extrusion_width = 0.68 +support_material_contact_distance = 0.2 +support_material_extrusion_width = 0.55 +support_material_interface_spacing = 0.6 +support_material_xy_spacing = 0.9 +top_infill_extrusion_width = 0.6 + +[print:AzteQ Industrial 0.30mm Strong @0.6 nozzle] +inherits = AzteQ Industrial 0.30mm Normal @0.6 nozzle +fill_density = 50% +perimeters = 3 + +[print:AzteQ Industrial 0.35mm Fast @0.6 nozzle] +inherits = AzteQ Industrial 0.30mm Normal @0.6 nozzle +fill_density = 10% +layer_height = 0.35 + +# DeltiQ filaments # [filament:*DeltiQ common*] compatible_printers = @@ -376,9 +586,9 @@ filament_soluble = 0 filament_toolchange_delay = 0 start_filament_gcode = "; FILAMENT_START_GCODE" end_filament_gcode = "; FILAMENT_END_GCODE" +filament_vendor = Generic - -# DeltiQ Filaments # +# DeltiQ PLA filaments # [filament:DeltiQ - PLA - Generic] inherits = *DeltiQ common* @@ -387,8 +597,7 @@ bridge_fan_speed = 100 cooling = 1 fan_always_on = 1 fan_below_layer_time = 100 -filament_vendor = Fillamentum -filament_cost = 767 +filament_cost = 750 filament_density = 1.24 filament_max_volumetric_speed = 8 filament_retract_before_travel = 2 @@ -407,6 +616,54 @@ min_print_speed = 10 slowdown_below_layer_time = 4 temperature = 215 +[filament:DeltiQ - PLA - ExtraFill (Fillamentum)] +inherits = DeltiQ - PLA - Generic +filament_cost = 750 +filament_density = 1.24 +filament_vendor = Fillamentum + +[filament:DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle] +inherits = DeltiQ - PLA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.25 + +[filament:DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle] +inherits = DeltiQ - PLA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle] +inherits = DeltiQ - PLA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.8 +disable_fan_first_layers = 1 +filament_max_volumetric_speed = 40 +first_layer_temperature = 230 +slowdown_below_layer_time = 8 +temperature = 230 +filament_retract_layer_change = 0 +filament_retract_length = 4.1 +filament_retract_speed = 45 +filament_deretract_speed = 25 + +[filament:DeltiQ FP - PLA - Generic] +inherits = DeltiQ - PLA - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 +filament_retract_length = 0.7 +filament_retract_speed = 28 + +[filament:DeltiQ FP - PLA - ExtraFill (Fillamentum)] +inherits = DeltiQ FP - PLA - Generic + +[filament:DeltiQ FP2 - PLA - Generic] +inherits = DeltiQ FP - PLA - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 +filament_retract_length = 1.2 +filament_retract_speed = 28 + +[filament:DeltiQ FP2 - PLA - ExtraFill (Fillamentum)] +inherits = DeltiQ FP2 - PLA - Generic + +# DeltiQ PETG filaments # + [filament:DeltiQ - PETG - Generic] inherits = *DeltiQ common* bed_temperature = 80 @@ -414,7 +671,6 @@ bridge_fan_speed = 50 cooling = 1 fan_always_on = 1 fan_below_layer_time = 20 -filament_vendor = DevilDesign filament_cost = 480 filament_density = 1.27 filament_deretract_speed = 25 @@ -435,6 +691,61 @@ min_print_speed = 10 slowdown_below_layer_time = 5 temperature = 245 +[filament:DeltiQ - PETG (Devil Design)] +inherits = DeltiQ - PETG - Generic +filament_cost = 480 +filament_density = 1.27 +filament_vendor = DevilDesign + +[filament:DeltiQ - PETG (Devil Design) @0.25 nozzle] +inherits = DeltiQ - PETG (Devil Design) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.25 +first_layer_temperature = 225 +temperature = 220 +max_fan_speed = 65 +min_fan_speed = 40 +bridge_fan_speed = 100 + +[filament:DeltiQ - PETG (Devil Design) @0.6 nozzle] +inherits = DeltiQ - PETG (Devil Design) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:DeltiQ - PETG (Devil Design) @0.8 nozzle] +inherits = DeltiQ - PETG (Devil Design) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.8 +filament_max_volumetric_speed = 40 +first_layer_temperature = 240 +slowdown_below_layer_time = 8 +temperature = 240 +filament_retract_layer_change = 0 +filament_retract_length = 4.3 +filament_retract_speed = 45 +filament_deretract_speed = 25 +filament_retract_before_wipe = 80% +filament_wipe = 1 + +[filament:DeltiQ FP - PETG - Generic] +inherits = DeltiQ - PETG - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 +filament_retract_length = 0.7 +filament_retract_speed = 25 + +[filament:DeltiQ FP - PETG (Devil Design)] +inherits = DeltiQ FP - PETG - Generic + +[filament:DeltiQ FP2 - PETG - Generic] +inherits = DeltiQ FP - PETG - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 +filament_retract_length = 1.4 +filament_retract_speed = 35 +filament_retract_before_wipe = 0% + +[filament:DeltiQ FP2 - PETG (Devil Design)] +inherits = DeltiQ FP2 - PETG - Generic + +# DeltiQ ABS filaments # + [filament:DeltiQ - ABS - Generic] inherits = *DeltiQ common* bed_temperature = 100 @@ -442,9 +753,8 @@ bridge_fan_speed = 25 cooling = 1 fan_always_on = 1 fan_below_layer_time = 20 -filament_vendor = Fillamentum -filament_cost = 774 -filament_density = 1.08 +filament_cost = 639 +filament_density = 1.04 filament_max_volumetric_speed = 8 filament_retract_before_travel = 3 filament_retract_before_wipe = 70% @@ -462,23 +772,95 @@ min_print_speed = 10 slowdown_below_layer_time = 15 temperature = 255 -[filament:DeltiQ - PLA - ExtraFill (Fillamentum)] -inherits = DeltiQ - PLA - Generic - -[filament:DeltiQ - PETG (Devil Design)] -inherits = DeltiQ - PETG - Generic - [filament:DeltiQ - ABS - ExtraFill (Fillamentum)] inherits = DeltiQ - ABS - Generic +filament_cost = 639 +filament_density = 1.04 +filament_vendor = Fillamentum + +[filament:DeltiQ - ABS - ExtraFill (Fillamentum) @0.6 nozzle] +inherits = DeltiQ - ABS - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:DeltiQ FP - ABS - Generic] +inherits = DeltiQ - ABS - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 +filament_retract_length = 0.7 +filament_retract_speed = 25 + +[filament:DeltiQ FP - ABS - ExtraFill (Fillamentum)] +inherits = DeltiQ FP - ABS - Generic + +[filament:DeltiQ FP2 - ABS - Generic] +inherits = DeltiQ FP - ABS - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 +filament_retract_length = 0.8 +filament_retract_speed = 25 + +[filament:DeltiQ FP2 - ABS - ExtraFill (Fillamentum)] +inherits = DeltiQ FP2 - ABS - Generic + +# DeltiQ ASA filaments # [filament:DeltiQ - ASA - ExtraFill (Fillamentum)] inherits = DeltiQ - ABS - Generic +filament_cost = 739 filament_density = 1.07 filament_type = ASA filament_vendor = Fillamentum first_layer_temperature = 265 temperature = 265 +[filament:DeltiQ - ASA - ExtraFill (Fillamentum) @0.6 nozzle] +inherits = DeltiQ - ASA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:DeltiQ FP - ASA - ExtraFill (Fillamentum)] +inherits = DeltiQ - ASA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 +filament_retract_length = 0.7 +filament_retract_speed = 25 + +[filament:DeltiQ FP2 - ASA - ExtraFill (Fillamentum)] +inherits = DeltiQ FP - ASA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 + +[filament:DeltiQ - ASA - ASA 275 (Spectrum)] +inherits = *DeltiQ common* +bed_temperature = 55 +bridge_fan_speed = 80 +cooling = 1 +fan_always_on = 1 +fan_below_layer_time = 20 +filament_vendor = Spectrum +filament_cost = 587 +filament_density = 1.07 +filament_max_volumetric_speed = 8 +filament_retract_before_travel = 3 +filament_retract_before_wipe = 70% +filament_retract_layer_change = 1 +filament_retract_length = 4.1 +filament_retract_lift = 0.3 +filament_retract_speed = 25 +filament_type = ASA +filament_wipe = 1 +first_layer_bed_temperature = 55 +first_layer_temperature = 230 +max_fan_speed = 50 +min_fan_speed = 30 +min_print_speed = 10 +slowdown_below_layer_time = 15 +temperature = 230 + +[filament:DeltiQ - ASA - ASA 275 (Spectrum) @0.6 nozzle] +inherits = DeltiQ - ASA - ASA 275 (Spectrum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +# DeltiQ CPE filaments # + [filament:DeltiQ - CPE - HG100 (Fillamentum)] inherits = *DeltiQ common* bed_temperature = 90 @@ -487,7 +869,7 @@ cooling = 1 fan_always_on = 1 fan_below_layer_time = 20 filament_vendor = Fillamentum -filament_cost = 1214 +filament_cost = 1003 filament_density = 1.25 filament_deretract_speed = 25 filament_max_volumetric_speed = 8 @@ -507,66 +889,28 @@ min_print_speed = 10 slowdown_below_layer_time = 5 temperature = 260 -[filament:DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle] -inherits = DeltiQ - PLA - ExtraFill (Fillamentum) -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.25 +[filament:DeltiQ - CPE - HG100 (Fillamentum) @0.6 nozzle] +inherits = DeltiQ - CPE - HG100 (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 -[filament:DeltiQ - PETG (Devil Design) @0.25 nozzle] -inherits = DeltiQ - PETG (Devil Design) -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.25 -first_layer_temperature = 225 -temperature = 220 -max_fan_speed = 65 -min_fan_speed = 40 -bridge_fan_speed = 100 - -[filament:DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle] -inherits = DeltiQ - PLA - ExtraFill (Fillamentum) -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.8 -disable_fan_first_layers = 1 -filament_max_volumetric_speed = 40 -first_layer_temperature = 230 -slowdown_below_layer_time = 8 -temperature = 230 -filament_retract_layer_change = 0 -filament_retract_length = 4.1 -filament_retract_speed = 45 -filament_deretract_speed = 25 - -[filament:DeltiQ - PETG (Devil Design) @0.8 nozzle] -inherits = DeltiQ - PETG (Devil Design) -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and !(printer_notes=~/.*FLEXPRINT.*/) and nozzle_diameter[0]==0.8 -filament_max_volumetric_speed = 40 -first_layer_temperature = 240 -slowdown_below_layer_time = 8 -temperature = 240 -filament_retract_layer_change = 0 -filament_retract_length = 4.3 -filament_retract_speed = 45 -filament_deretract_speed = 25 -filament_retract_before_wipe = 80% -filament_wipe = 1 - - -# DeltiQ FlexPrint Filaments # - -[filament:DeltiQ FP - PLA - Generic] -inherits = DeltiQ - PLA - Generic -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 -filament_retract_length = 0.7 -filament_retract_speed = 28 - -[filament:DeltiQ FP - PETG - Generic] -inherits = DeltiQ - PETG - Generic +[filament:DeltiQ FP - CPE - HG100 (Fillamentum)] +inherits = DeltiQ - CPE - HG100 (Fillamentum) compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 filament_retract_length = 0.7 filament_retract_speed = 25 +filament_deretract_speed = 0 +filament_retract_before_wipe = 0% -[filament:DeltiQ FP - ABS - Generic] -inherits = DeltiQ - ABS - Generic -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 -filament_retract_length = 0.7 -filament_retract_speed = 25 +[filament:DeltiQ FP2 - CPE - HG100 (Fillamentum)] +inherits = DeltiQ FP - CPE - HG100 (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 +filament_retract_length = 0.8 +filament_retract_speed = 35 +filament_deretract_speed = 0 +filament_retract_before_wipe = 0% + +# DeltiQ FLEX filaments # [filament:DeltiQ FP - FLEX - Generic] inherits = *DeltiQ common* @@ -600,72 +944,6 @@ min_print_speed = 5 slowdown_below_layer_time = 4 temperature = 240 -[filament:DeltiQ FP - PLA - ExtraFill (Fillamentum)] -inherits = DeltiQ FP - PLA - Generic - -[filament:DeltiQ FP - PETG (Devil Design)] -inherits = DeltiQ FP - PETG - Generic - -[filament:DeltiQ FP - ABS - ExtraFill (Fillamentum)] -inherits = DeltiQ FP - ABS - Generic - -[filament:DeltiQ FP - ASA - ExtraFill (Fillamentum)] -inherits = DeltiQ - ASA - ExtraFill (Fillamentum) -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 -filament_retract_length = 0.7 -filament_retract_speed = 25 - -[filament:DeltiQ FP - CPE - HG100 (Fillamentum)] -inherits = DeltiQ - CPE - HG100 (Fillamentum) -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT1.*/ and nozzle_diameter[0]==0.4 -filament_retract_length = 0.7 -filament_retract_speed = 25 -filament_deretract_speed = 0 -filament_retract_before_wipe = 0% - - -# DeltiQ FlexPrint 2 Filaments # - -[filament:DeltiQ FP2 - PLA - Generic] -inherits = DeltiQ FP - PLA - Generic -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 -filament_retract_length = 1.2 -filament_retract_speed = 28 - -[filament:DeltiQ FP2 - PETG - Generic] -inherits = DeltiQ FP - PETG - Generic -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 -filament_retract_length = 1.4 -filament_retract_speed = 35 -filament_retract_before_wipe = 0% - -[filament:DeltiQ FP2 - ABS - Generic] -inherits = DeltiQ FP - ABS - Generic -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 -filament_retract_length = 0.8 -filament_retract_speed = 25 - -[filament:DeltiQ FP2 - PLA - ExtraFill (Fillamentum)] -inherits = DeltiQ FP2 - PLA - Generic - -[filament:DeltiQ FP2 - PETG (Devil Design)] -inherits = DeltiQ FP2 - PETG - Generic - -[filament:DeltiQ FP2 - ABS - ExtraFill (Fillamentum)] -inherits = DeltiQ FP2 - ABS - Generic - -[filament:DeltiQ FP2 - ASA - ExtraFill (Fillamentum)] -inherits = DeltiQ FP - ASA - ExtraFill (Fillamentum) -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 - -[filament:DeltiQ FP2 - CPE - HG100 (Fillamentum)] -inherits = DeltiQ FP - CPE - HG100 (Fillamentum) -compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 -filament_retract_length = 0.8 -filament_retract_speed = 35 -filament_deretract_speed = 0 -filament_retract_before_wipe = 0% - [filament:DeltiQ FP2 - FLEX - Generic] inherits = DeltiQ FP - FLEX - Generic compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_FAMILY_DQ.*/ and printer_notes=~/.*FLEXPRINT2.*/ and nozzle_diameter[0]==0.4 @@ -772,6 +1050,322 @@ min_print_speed = 10 slowdown_below_layer_time = 4 temperature = 235 +# AzteQ filaments # + +[filament:*AzteQ common*] +inherits = *DeltiQ common* +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.4 + +# AzteQ Industrial filaments # + +[filament:AzteQ Industrial (Door Opened) - PLA - Generic] +inherits = *AzteQ common* +bed_temperature = 50 +bridge_fan_speed = 100 +cooling = 1 +disable_fan_first_layers = 3 +extrusion_multiplier = 1 +fan_always_on = 1 +fan_below_layer_time = 20 +filament_cost = 750 +filament_density = 1.24 +filament_deretract_speed = nil +filament_max_volumetric_speed = 8 +filament_retract_before_travel = 3 +filament_retract_before_wipe = 70% +filament_retract_layer_change = 1 +filament_retract_length = 4.1 +filament_retract_lift = 0.2 +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_restart_extra = nil +filament_retract_speed = 25 +filament_soluble = 0 +filament_spool_weight = 0 +filament_toolchange_delay = 0 +filament_type = PLA +filament_vendor = Generic +filament_wipe = 1 +first_layer_bed_temperature = 50 +first_layer_temperature = 215 +full_fan_speed_layer = 0 +max_fan_speed = 100 +min_fan_speed = 90 +min_print_speed = 10 +slowdown_below_layer_time = 15 +start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S0 ; Set and wait - chamber temperature" +temperature = 210 + +[filament:AzteQ Industrial (Door Opened) - PLA - Generic @0.6 nozzle] +inherits = AzteQ Industrial (Door Opened) - PLA - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial (Door Opened) - PLA - ExtraFill (Fillamentum)] +inherits = AzteQ Industrial (Door Opened) - PLA - Generic +filament_vendor = Fillamentum +filament_cost = 750 +filament_density = 1.24 + +[filament:AzteQ Industrial (Door Opened) - PLA - ExtraFill (Fillamentum) @0.6 nozzle] +inherits = AzteQ Industrial (Door Opened) - PLA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial (PLA Printhead) - PLA - ExtraFill (Fillamentum)] +inherits = *AzteQ common* +bed_temperature = 50 +bridge_fan_speed = 100 +cooling = 1 +disable_fan_first_layers = 3 +extrusion_multiplier = 1 +fan_always_on = 1 +fan_below_layer_time = 20 +filament_cost = 750 +filament_density = 1.24 +filament_deretract_speed = nil +filament_max_volumetric_speed = 8 +filament_retract_before_travel = 3 +filament_retract_before_wipe = 70% +filament_retract_layer_change = 1 +filament_retract_length = 6 +filament_retract_lift = 0.2 +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_restart_extra = nil +filament_retract_speed = 25 +filament_soluble = 0 +filament_spool_weight = 0 +filament_toolchange_delay = 0 +filament_type = PLA +filament_vendor = Fillamentum +filament_wipe = 1 +first_layer_bed_temperature = 50 +first_layer_temperature = 220 +full_fan_speed_layer = 0 +max_fan_speed = 100 +min_fan_speed = 100 +min_print_speed = 10 +slowdown_below_layer_time = 5 +start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S0 ; Set and wait - chamber temperature" +temperature = 215 + +[filament:AzteQ Industrial (PLA Printhead) - PLA - ExtraFill (Fillamentum) @0.6 nozzle] +inherits = AzteQ Industrial (PLA Printhead) - PLA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial - ABS - Generic] +inherits = *AzteQ common* +bed_temperature = 100 +bridge_fan_speed = 100 +cooling = 1 +disable_fan_first_layers = 3 +extrusion_multiplier = 1 +fan_always_on = 1 +fan_below_layer_time = 20 +filament_cost = 639 +filament_density = 1.04 +filament_deretract_speed = nil +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_max_volumetric_speed = 8 +filament_retract_before_travel = 3 +filament_retract_before_wipe = 70% +filament_retract_layer_change = 1 +filament_retract_length = 4.1 +filament_retract_lift = 0.2 +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_restart_extra = nil +filament_retract_speed = 25 +filament_soluble = 0 +filament_spool_weight = 0 +filament_type = ABS +filament_vendor = Generic +filament_wipe = 1 +first_layer_bed_temperature = 100 +first_layer_temperature = 255 +full_fan_speed_layer = 0 +max_fan_speed = 100 +min_fan_speed = 80 +min_print_speed = 10 +slowdown_below_layer_time = 5 +start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S75 ; Set and wait - chamber temperature" +temperature = 255 + +[filament:AzteQ Industrial - ABS - Generic @0.6 nozzle] +inherits = AzteQ Industrial - ABS - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial - ABS - ExtraFill (Fillamentum)] +inherits = AzteQ Industrial - ABS - Generic +filament_vendor = Fillamentum +filament_cost = 639 +filament_density = 1.04 + +[filament:AzteQ Industrial - ABS - ExtraFill (Fillamentum) @0.6 nozzle] +inherits = AzteQ Industrial - ABS - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial - ASA - Generic] +inherits = *AzteQ common* +bed_temperature = 100 +bridge_fan_speed = 100 +cooling = 1 +disable_fan_first_layers = 3 +extrusion_multiplier = 1 +fan_always_on = 1 +fan_below_layer_time = 20 +filament_cost = 739 +filament_density = 1.07 +filament_deretract_speed = nil +filament_max_volumetric_speed = 8 +filament_retract_before_travel = 3 +filament_retract_before_wipe = 70% +filament_retract_layer_change = 1 +filament_retract_length = 4.1 +filament_retract_lift = 0.2 +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_restart_extra = nil +filament_retract_speed = 25 +filament_soluble = 0 +filament_spool_weight = 0 +filament_type = ASA +filament_vendor = Generic +filament_wipe = 1 +first_layer_bed_temperature = 100 +first_layer_temperature = 265 +full_fan_speed_layer = 0 +max_fan_speed = 75 +min_fan_speed = 50 +min_print_speed = 10 +slowdown_below_layer_time = 5 +start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S75 ; Set and wait - chamber temperature" +temperature = 265 + +[filament:AzteQ Industrial - ASA - Generic @0.6 nozzle] +inherits = AzteQ Industrial - ASA - Generic +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial - ASA - ExtraFill (Fillamentum)] +inherits = AzteQ Industrial - ASA - Generic +filament_vendor = Fillamentum + +[filament:AzteQ Industrial - ASA - ExtraFill (Fillamentum) @0.6 nozzle] +inherits = AzteQ Industrial - ASA - ExtraFill (Fillamentum) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial - ASA - Prusament (Prusa)] +inherits = AzteQ Industrial - ASA - Generic +filament_cost = 680 +filament_density = 1.07 +filament_spool_weight = 0 +filament_vendor = Prusa +first_layer_temperature = 255 +max_fan_speed = 100 +min_fan_speed = 95 +start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S50 ; Set and wait - chamber temperature" +temperature = 255 + +[filament:AzteQ Industrial - ASA - Prusament (Prusa) @0.6 nozzle] +inherits = AzteQ Industrial - ASA - Prusament (Prusa) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial - PA - Nylon PA12 (Fiberlogy)] +inherits = *AzteQ common* +bed_temperature = 100 +bridge_fan_speed = 100 +cooling = 1 +disable_fan_first_layers = 3 +extrusion_multiplier = 1 +fan_always_on = 1 +fan_below_layer_time = 20 +filament_cost = 1212 +filament_density = 1.02 +filament_deretract_speed = nil +filament_max_volumetric_speed = 8 +filament_retract_before_travel = 3 +filament_retract_before_wipe = 70% +filament_retract_layer_change = 1 +filament_retract_length = 4.1 +filament_retract_lift = 0.2 +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_restart_extra = nil +filament_retract_speed = 25 +filament_soluble = 0 +filament_spool_weight = 0 +filament_toolchange_delay = 0 +filament_type = NYLON +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +filament_vendor = Fiberlogy +filament_wipe = 1 +first_layer_bed_temperature = 100 +first_layer_temperature = 255 +full_fan_speed_layer = 0 +max_fan_speed = 75 +min_fan_speed = 50 +min_print_speed = 10 +slowdown_below_layer_time = 5 +start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S50 ; Set and wait - chamber temperature" +temperature = 255 + +[filament:AzteQ Industrial - PA - Nylon PA12 (Fiberlogy) @0.6 nozzle] +inherits = AzteQ Industrial - PA - Nylon PA12 (Fiberlogy) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 + +[filament:AzteQ Industrial - PC Blend - Prusament (Prusa)] +inherits = *AzteQ common* +bed_temperature = 100 +bridge_fan_speed = 75 +cooling = 1 +disable_fan_first_layers = 3 +extrusion_multiplier = 1 +fan_always_on = 1 +fan_below_layer_time = 20 +filament_cost = 1156 +filament_density = 1.22 +filament_deretract_speed = nil +filament_max_volumetric_speed = 8 +filament_retract_before_travel = 3 +filament_retract_before_wipe = 70% +filament_retract_layer_change = 1 +filament_retract_length = 4.1 +filament_retract_lift = 0.2 +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_restart_extra = nil +filament_retract_speed = 25 +filament_soluble = 0 +filament_spool_weight = 0 +filament_type = PC +filament_vendor = Prusa +filament_wipe = 1 +first_layer_bed_temperature = 100 +first_layer_temperature = 275 +full_fan_speed_layer = 0 +max_fan_speed = 50 +min_fan_speed = 30 +min_print_speed = 10 +slowdown_below_layer_time = 5 +start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S75 ; Set and wait - chamber temperature" +temperature = 275 + +[filament:AzteQ Industrial - PC Blend - Prusament (Prusa) @0.6 nozzle] +inherits = AzteQ Industrial - PC Blend - Prusament (Prusa) +compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6 +filament_max_volumetric_speed = 15 # DeltiQ Printer # @@ -792,7 +1386,7 @@ extruder_offset = 0x0 gcode_flavor = repetier layer_gcode = ;AFTER_LAYER_CHANGE\nM117 layer [layer_num] at [layer_z]mm\n;[layer_z]\n max_layer_height = 0.25 -max_print_height = 320 +max_print_height = 300 min_layer_height = 0.15 nozzle_diameter = 0.4 parking_pos_retraction = 92 @@ -809,7 +1403,7 @@ retract_length = 4.0 retract_length_toolchange = 10 retract_lift = 0.2 retract_lift_above = 0 -retract_lift_below = 319 +retract_lift_below = 0 retract_restart_extra = 0 retract_restart_extra_toolchange = 0 retract_speed = 30 @@ -830,7 +1424,7 @@ inherits = *DeltiQ* printer_model = DQL printer_variant = 0.4 bed_shape = 124.315x13.0661,122.268x25.989,118.882x38.6271,114.193x50.8421,108.253x62.5,101.127x73.4732,92.8931x83.6413,83.6413x92.8931,73.4732x101.127,62.5x108.253,50.8421x114.193,38.6271x118.882,25.989x122.268,13.0661x124.315,3.54096e-014x125,-13.0661x124.315,-25.989x122.268,-38.6271x118.882,-50.8421x114.193,-62.5x108.253,-73.4732x101.127,-83.6413x92.8931,-92.8931x83.6413,-101.127x73.4732,-108.253x62.5,-114.193x50.8421,-118.882x38.6271,-122.268x25.989,-124.315x13.0661,-125x7.08192e-014,-124.315x-13.0661,-122.268x-25.989,-118.882x-38.6271,-114.193x-50.8421,-108.253x-62.5,-101.127x-73.4732,-92.8931x-83.6413,-83.6413x-92.8931,-73.4732x-101.127,-62.5x-108.253,-50.8421x-114.193,-38.6271x-118.882,-25.989x-122.268,-13.0661x-124.315,-2.29621e-014x-125,13.0661x-124.315,25.989x-122.268,38.6271x-118.882,50.8421x-114.193,62.5x-108.253,73.4732x-101.127,83.6413x-92.8931,92.8931x-83.6413,101.127x-73.4732,108.253x-62.5,114.193x-50.8421,118.882x-38.6271,122.268x-25.989,124.315x-13.0661,125x-1.41638e-013 -max_print_height = 320 +max_print_height = 300 [printer:DeltiQ M] inherits = *DeltiQ* @@ -856,7 +1450,7 @@ retract_speed = 35 inherits = *DeltiQ* before_layer_gcode = ; BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n end_gcode = ; END_GCODE\n\nM140 S0 ; Turn off bed\n\nG28 ; Home\n\nM104 S0 ; Turn off extruder\nM107 ; Turn off fan\n\nG90 ; Absolute positioning\nM220 S100 ; Feedmultiply back to 100percent\n\nM84 S5; Disable motors -gcode_flavor = reprap +gcode_flavor = reprapfirmware layer_gcode = ; AFTER_LAYER_CHANGE\n;[layer_z] pause_print_gcode = M0 start_gcode = ; START_GCODE\n\nM220 S100 ; Set feedmultiply back to 100percent\n\nT0 ; Select Titan extruder\n\nG90 ; Absolute positioning\nM83; Relative Extruder\n\nM190 S[first_layer_bed_temperature] ; Set and wait - bed temperature\nM104 S[first_layer_temperature]\n\nG28 ; Home all axes\nG32 ; Probe Z and calculate Z plane\n\nG29 ; Mesh bed probe\n\nG1009 ; Go ARC to purge end\n\nG92 E0 ; Zero extruder @@ -866,7 +1460,7 @@ printer_notes = Don't remove the following keywords! These keywords are used in inherits = *DeltiQ 2* printer_model = DQ2 printer_variant = 0.4 -max_print_height = 320 +max_print_height = 300 [printer:DeltiQ 2 - 0.25 nozzle] inherits = DeltiQ 2 @@ -877,11 +1471,20 @@ nozzle_diameter = 0.25 default_filament_profile = "DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle" default_print_profile = DeltiQ 0.07mm Quality @0.25 nozzle +[printer:DeltiQ 2 - 0.6 nozzle] +inherits = DeltiQ 2 +printer_variant = 0.6 +max_layer_height = 0.4 +min_layer_height = 0.2 +nozzle_diameter = 0.6 +default_filament_profile = "DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle" +default_print_profile = DeltiQ 0.30mm Normal @0.6 nozzle + [printer:DeltiQ 2 - 0.8 nozzle] inherits = DeltiQ 2 printer_variant = 0.8 -max_layer_height = 0.4 -min_layer_height = 0.4 +max_layer_height = 0.6 +min_layer_height = 0.3 nozzle_diameter = 0.8 default_filament_profile = "DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle" default_print_profile = DeltiQ 0.40mm Normal @0.8 nozzle @@ -901,11 +1504,20 @@ nozzle_diameter = 0.25 default_filament_profile = "DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle" default_print_profile = DeltiQ 0.07mm Quality @0.25 nozzle +[printer:DeltiQ 2 Plus - 0.6 nozzle] +inherits = DeltiQ 2 Plus +printer_variant = 0.6 +max_layer_height = 0.4 +min_layer_height = 0.2 +nozzle_diameter = 0.6 +default_filament_profile = "DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle" +default_print_profile = DeltiQ 0.30mm Normal @0.6 nozzle + [printer:DeltiQ 2 Plus - 0.8 nozzle] inherits = DeltiQ 2 Plus printer_variant = 0.8 -max_layer_height = 0.4 -min_layer_height = 0.4 +max_layer_height = 0.6 +min_layer_height = 0.3 nozzle_diameter = 0.8 default_filament_profile = "DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle" default_print_profile = DeltiQ 0.40mm Normal @0.8 nozzle @@ -923,7 +1535,7 @@ printer_notes = Don't remove the following keywords! These keywords are used in inherits = *DeltiQ 2 FlexPrint* printer_model = DQ2+FP printer_variant = 0.4 -max_print_height = 320 +max_print_height = 300 [printer:DeltiQ 2 Plus + FlexPrint] inherits = *DeltiQ 2 FlexPrint* @@ -942,7 +1554,7 @@ printer_notes = Don't remove the following keywords! These keywords are used in inherits = *DeltiQ 2 FlexPrint 2* printer_model = DQ2+FP2 printer_variant = 0.4 -max_print_height = 320 +max_print_height = 300 [printer:DeltiQ 2 Plus + FlexPrint 2] inherits = *DeltiQ 2 FlexPrint 2* @@ -950,6 +1562,44 @@ printer_model = DQ2P+FP2 printer_variant = 0.4 max_print_height = 500 +[printer:*AzteQ*] +inherits = *DeltiQ 2* +max_print_height = 400 +bed_shape = 149.429x13.0734,147.721x26.0472,144.889x38.8229,140.954x51.303,135.946x63.3927,129.904x75,122.873x86.0365,114.907x96.4181,106.066x106.066,96.4181x114.907,86.0365x122.873,75x129.904,63.3927x135.946,51.303x140.954,38.8229x144.889,26.0472x147.721,13.0734x149.429,9.18485e-15x150,-13.0734x149.429,-26.0472x147.721,-38.8229x144.889,-51.303x140.954,-63.3927x135.946,-75x129.904,-86.0365x122.873,-96.4181x114.907,-106.066x106.066,-114.907x96.4181,-122.873x86.0365,-129.904x75,-135.946x63.3927,-140.954x51.303,-144.889x38.8229,-147.721x26.0472,-149.429x13.0734,-150x1.83697e-14,-149.429x-13.0734,-147.721x-26.0472,-144.889x-38.8229,-140.954x-51.303,-135.946x-63.3927,-129.904x-75,-122.873x-86.0365,-114.907x-96.4181,-106.066x-106.066,-96.4181x-114.907,-86.0365x-122.873,-75x-129.904,-63.3927x-135.946,-51.303x-140.954,-38.8229x-144.889,-26.0472x-147.721,-13.0734x-149.429,-2.75546e-14x-150,13.0734x-149.429,26.0472x-147.721,38.8229x-144.889,51.303x-140.954,63.3927x-135.946,75x-129.904,86.0365x-122.873,96.4181x-114.907,106.066x-106.066,114.907x-96.4181,122.873x-86.0365,129.904x-75,135.946x-63.3927,140.954x-51.303,144.889x-38.8229,147.721x-26.0472,149.429x-13.0734,150x-3.67394e-14 +before_layer_gcode = ; BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n +end_gcode = ; END_GCODE\n\nM140 S0 ; Turn off bed heater\nM141 S0 ; Turn off chamber heater\nM104 S0 ; Turn off hotend heater\n\nG28 ; Home all axes\n\nM107 ; Turn off layer fan\n\nG90 ; Absolute positioning for motion\nM220 S100 ; Feedmultiply back to 100percent\n\nM84 S5 ; Disable motor hold +layer_gcode = ; AFTER_LAYER_CHANGE\n;[layer_z] +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_TRILAB\nPRINTER_FAMILY_AQ\nPRINTER_MODEL_AQI +retract_before_travel = 3 +retract_before_wipe = 100% +retract_layer_change = 1 +retract_length = 4 +retract_length_toolchange = 10 +retract_lift = 0.2 +retract_lift_above = 0 +retract_lift_below = 0 +retract_restart_extra = 0 +retract_restart_extra_toolchange = 0 +retract_speed = 30 +start_gcode = ; START_GCODE\nT0\nM220 S100 ; Set feedmultiply back to 100 percent\nG90 ; Absolute positioning for motion\nM83 ; Relative extruder\nM107 ; Layer fan off\n\nM140 S[first_layer_bed_temperature] ; Set and continue - bed temperature\n[start_filament_gcode]\nM104 S150 ; Set and continue - hotend probing temperature\nM190 S[first_layer_bed_temperature] ; Set and wait - bed temperature\nM109 S150 ; Set and wait - hotend probing temperature\n\nG28 ; Home all axes\nG32 ; Probe Z and calculate Z plane\nG29 ; Mesh bed probe\n\nM104 S[first_layer_temperature] ; Set and continue - printing temperature\n\nG1009 ; Purge hotend\nG92 E0 ; Zero extruder +wipe = 1 + +[printer:AzteQ Industrial] +inherits = *AzteQ* +printer_model = AQI +printer_variant = 0.4 +max_print_height = 400 +default_filament_profile = "AzteQ Industrial - ABS - ExtraFill (Fillamentum)" +default_print_profile = AzteQ Industrial 0.30mm Normal + +[printer:AzteQ Industrial - 0.6 nozzle] +inherits = AzteQ Industrial +printer_variant = 0.6 +max_layer_height = 0.4 +min_layer_height = 0.2 +nozzle_diameter = 0.6 +default_filament_profile = "AzteQ Industrial - ABS - ExtraFill (Fillamentum) @0.6 nozzle" +default_print_profile = AzteQ Industrial 0.30mm Normal @0.6 nozzle [presets] print = DeltiQ 0.20mm Normal From b95553ffe163ba20acacfb13bed5ba3825206f2b Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Tue, 22 Jun 2021 11:19:23 +0200 Subject: [PATCH 30/80] Added new SL1S resin profiles. --- resources/profiles/PrusaResearch.ini | 63 ++++++++++++++++++---------- 1 file changed, 42 insertions(+), 21 deletions(-) diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index 643dac527..4dd91d5a9 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -5511,13 +5511,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Made for Prusa -[sla_material:Prusa Polymers Orange @0.025 SL1S] -inherits = *0.025_sl1s* -exposure_time = 1.8 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Prusa Polymers - [sla_material:3DM-ABS Orange @0.025 SL1S] inherits = *0.025_sl1s* exposure_time = 1.8 @@ -5546,6 +5539,20 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Peopoly +[sla_material:Peopoly Deft White @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + +[sla_material:Peopoly Neo Clear @0.025 SL1S] +inherits = *0.025_sl1s* +exposure_time = 1.8 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + ## 0.05 SL1S [sla_material:Prusa Orange Tough @0.05 SL1S] @@ -5632,13 +5639,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Made for Prusa -[sla_material:Prusa Polymers Orange @0.05 SL1S] -inherits = *0.05_sl1s* -exposure_time = 2 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Prusa Polymers - [sla_material:3DM-ABS Orange @0.05 SL1S] inherits = *0.05_sl1s* exposure_time = 2.6 @@ -5667,6 +5667,20 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Peopoly +[sla_material:Peopoly Deft White @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + +[sla_material:Peopoly Neo Clear @0.05 SL1S] +inherits = *0.05_sl1s* +exposure_time = 2 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + ## 0.1 SL1S [sla_material:Prusa Orange Tough @0.1 SL1S] @@ -5753,13 +5767,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Made for Prusa -[sla_material:Prusa Polymers Orange @0.1 SL1S] -inherits = *0.1_sl1s* -exposure_time = 2.6 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Prusa Polymers - [sla_material:3DM-ABS Orange @0.1 SL1S] inherits = *0.1_sl1s* exposure_time = 3 @@ -5788,6 +5795,20 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Peopoly +[sla_material:Peopoly Deft White @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + +[sla_material:Peopoly Neo Clear @0.1 SL1S] +inherits = *0.1_sl1s* +exposure_time = 2.6 +initial_exposure_time = 25 +material_type = Tough +material_vendor = Peopoly + [printer:*common*] printer_technology = FFF bed_shape = 0x0,250x0,250x210,0x210 From 0891203e9c0c4bbf5f234461f2ba8663b9c1bc2b Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Wed, 23 Jun 2021 16:21:01 +0200 Subject: [PATCH 31/80] Removed Peopoly White Tough. Updated tilt times. --- resources/profiles/PrusaResearch.ini | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-) diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index 4dd91d5a9..d5f99eb91 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -5532,13 +5532,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Peopoly -[sla_material:Peopoly White Tough @0.025 SL1S] -inherits = *0.025_sl1s* -exposure_time = 1.8 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Peopoly - [sla_material:Peopoly Deft White @0.025 SL1S] inherits = *0.025_sl1s* exposure_time = 1.8 @@ -5660,13 +5653,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Peopoly -[sla_material:Peopoly White Tough @0.05 SL1S] -inherits = *0.05_sl1s* -exposure_time = 2 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Peopoly - [sla_material:Peopoly Deft White @0.05 SL1S] inherits = *0.05_sl1s* exposure_time = 2 @@ -5788,13 +5774,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = Peopoly -[sla_material:Peopoly White Tough @0.1 SL1S] -inherits = *0.1_sl1s* -exposure_time = 2.6 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Peopoly - [sla_material:Peopoly Deft White @0.1 SL1S] inherits = *0.1_sl1s* exposure_time = 2.6 @@ -6612,8 +6591,8 @@ display_pixels_y = 1620 display_width = 128 elefant_foot_compensation = 0.2 elefant_foot_min_width = 0.2 -fast_tilt_time = 4 -slow_tilt_time = 5.7 +fast_tilt_time = 2.5 +slow_tilt_time = 5 gamma_correction = 1 max_print_height = 150 min_exposure_time = 1 From db889deea434b0648186e945634274eeb1e9ce51 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Wed, 23 Jun 2021 17:24:23 +0200 Subject: [PATCH 32/80] Updated SL1S bed model. --- resources/profiles/PrusaResearch/sl1s_bed.stl | Bin 180784 -> 292184 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/profiles/PrusaResearch/sl1s_bed.stl b/resources/profiles/PrusaResearch/sl1s_bed.stl index 0c7479962bee023305bbef367dd879dcf96b5cc0..a9bca83f60db12ec6c6c8205edf4d1da36c4f1af 100644 GIT binary patch literal 292184 zcmbT9cXSn1_xA@hG*MKr@PH%~ks{KJKp=O>6+sjW5C{P&ij;taB1)Bnq6k&W z2#AUZiXeA}+<*c~wE!XpR1~n$lp>mU?{j9~`JTD=_x$l@t*mv{?EN`)pMA=lIrp}) zBZiL}J>bEVfun{GO9?+TAosxmqZ&24sa3O^nppoIf4i@?to$omMh33A$envjFL(02 zyE7KL-3m)e?kOx~?aWBFMijb#+dAAsKew!bGy6Kbmi*xiBcjw>UuX0^)+3&H_REZg zr@E`>mR0!oI*0$?C899(n~a4A`os|#&+pAxIH#9KET;IEP&%WD$av!0jO6bJ#u0~R z?$1bm`vH%rLS;BQwPj>5=PL7n%6qUJHB;z$-=Q9{et3y9`O9*l+q^W2uNxPa1{1{v zqdnr=g1t`9W%ELfymB;tK0l7&ToreH%p+c3HqY5rus2kjb47KvW9HO2f=j+4b&5x{ z{-d1JyOZq)Lw4Q?pqS(s^-YgAdMRTt_$)1+eF;IbyG&dlIMO3<=DLJkI-UD$06d- zxT1_iwVUzCMyRU}REFJDmW!zzHQ$aVY{5gtQD~2;R8P&Rz8Vt2X(Y4~BK$UQwP{LmbLD}I*0y4?KlmvY9u&UVm+2Med!<0ZL|7@R0~4S zL4y0gSdV4Zrhb0<>6YnPlm_-rB(VQm*7@8Lr|OsGoGBh5)_?^17|VK%YPL7k@N%yl z(zZyT=d-MKzn61n4JmOxC4%cp+7=1)u9h{Vddu_&s4UMh!M@h>uSlTvSXL#frzfbs z8gn_oevm*5RqYYtHsSU_8$|+pfn~KME8I@jcr_EybCAHkX<3J<4-WpLT!`%odnXdu z|1Ika>Vsw9nitwdc7+}Q3G^|Rb(Z>IC!+pjUjkkR3G`!@^#J8)5#=n!t1I!ANT9DY z$HBZ6+X@%aI9STMmwfDw!kRP=7ScGV!qiUu+_JuVvaeHx+G7-@QPOQo;r%oY#t|bv zD_lh5peCl!7$GL_u7T^t9w zJreaOu3f)>;5f*AOwaqGox?lRjMx@)zE&BKnqpv5u)~RxINHDk-%PHSvOH1 z{F27O>zII^g9P?X%kt);Y9@od6AA49G=9*Cwt;%pw`5o70gyl+V_8?zsQD;SKNG>_ z5O0YD`Z3EIPUGNO@(xwKx)N`R1o}$L8bj;BzGPbqh{z|uOY4se?Jai}7MBdq;BnBh zb{5hc)q9TPpw)d#A+2%ZiIJZb(irSL|B=Q({(p_qXiNQo=7Vv>2I@DoD)OG=IJklO z0nG>Fh!pDowDR(v<2Y!&9aVV`mg69eYP7oZ2pk7F4O&garNIQvAHC--$ou?E<6w?g zj)e#M#1Wh;nrnN{cTtZTN#o$nL~vcvY9fx{lGBXSdyeBEw+F2z;s}dsmu8&ab6gMh zBfp!FpcbSVr$-!^**DaZ)`JnUtApg*6Xoh4d1^n6Q#1xnrvJS}6wvsQu;gT+emQU) zOrbFVK3G>6)x614}HBcUZy zu6(<~^&r<(B5O~flKZyX?s&P-U$i!Ok<#GyNYtaacK!arGw@9EKxNrVjF$5IplJ)9 zB|2=0WQpF8$9shyFu#DOaXd`vm98 zw;mh^&7R{EX5Ykd(CnQ)VfKF<2Tc#)6Q+;B^`PmOe8Tj6rH_|$CQzHN;}$f0pHG}pfW~0&Ij#pc(7p)G2jhsg zw2wmLy!RaUMcdN82+arMh=a6`LMt!tIqr*Ev@gne50-=4DT7vb-gDd+sxk$2<&Z^#n+ z(SBmWlGBcbUk)4x57M4xqS|ds`*VI>;l5}J?TaRALGoi6etY1)D5sIoN{H~=oLVqM zE$DCyayb%OBIU}rt9jJkHK^S?6Tx+r$l4E5$$i_!agf_1QIF!<_4~(q8V9-bm$8)? zE#>z??wfwgzDlc=hO{1hj|j6L_=MTha9@<`-7ld}n01KjLDS-Vg8RR3J?wMY_wtIx zv}&I)`wi}knmxxS%)W{HqTHW-Yw!uP|Kq->=>dGg^f5RNntsVAOwVVGgNE<(3Ddg< z#zF9}K4Dr9t_Mx~@d?vHc}~J}6P}ltHtG{*FTj0K?rVO}@d>kU;=ZWaJAK0J|F|AB zJ%CS`J_gr=Tn^vM_=M@la6M>xGM_MgWu!%2_m}s>Hosmx*f1}8&6l;p*SH_M5`L{_ z>kr>sIVn1*O>OnuvKA9zth<`*Rvo&KEh>7}M;H<>JtP)h#%YY*=dOSFhYt3tFOpp*mi$<ybpq4I@@ejPAKmEBsXD zavS*hpu1{^D_$tI!Ln*xIycf|XD9o)+-nsf5+pc>W9roofBwxyL_Gg>VWjq;EW3U4 zat2{&F_Bk0Ja5Whu4Szrla-R98gZ??S(Dv7Z(Qz&|=G< zet`Psp7S5kKFgNv(RmAH~qMpixMRA z*HS;H7JTZ&#gs;;{Y6f@{E+=>vx)|RTG%%9KC1av=jO~-_I=wfcTs{wenqm9)s#k8 zPNU|Elg`I`8`_NyU11WS^<4I(Xjy8HPN%qklqpPdk9KcpcWP7CAW#ci)3W|M`7-yB zUy|*!O)9!5LE_+Rltu@#-7h$e_r9*-zW#0%`<5eR3<9;V{i&Zfui+kP*vhUJdDXBI zvT~ROB+1hZdeaol@niaFD#y26 zSDW5m7ffOq(0|_25|h#`XOjBsiS4o8p~yNO=s&ExpHSxjGVl zd5pd6)WZ&zBS>VqL~mse*W$%oXZ5;~_B#!84T5RW;#yeqGS$^x-xD$FrCg_a`2lv< z>x5J`~m$J#fj#2YRiU@z)LvnI$pheZo>Xj!}O zoE}+JrMJEISc%G&0Z*#Od(_4v>v_gAZQwARERPr^MaMo?IM49!@FC%NBL&$RFC)>);2glJ*kw5-%elH6CSX4?04)r9nC zP9sK8*!MoU)PjdsX4@?%tu@QRebCFHX(a=QsIY#3eb4p>j5f#8s@je9^C{QoI?s_M zPJcDmAPg;P8{gVL>_fgJGQghh=rlTbabX%}$#-9z>Q+fgwJrKXKUi)^e)Q*tHN)2i zX8m*$Fe%l|yVxXnJ%EIS-|x|eW|r?he6xGa!#CTfn!O$o3C7FbdF+7v=$=}Xo*E6l z8g;X~frym0uSZaVIYd8iS)-3Nc4r)GY=56S(m?{Xj%VdZKP^jXsF}Ym3EXRC)^8Fo^~`kMpO_gMw0^XU5+p89oe-TqpJss1T}HEvY$AT^ml^t<(m(>W z-n(ObbY5Dm@SPV|CZhS>na-a?%yrCM;hYN7v#dLA%XCI8=oz;Au`e?e{wP4e+z{uCbT;a-OlN5I?xBNkjCOIxigRC+Nbj8K{GQ%5RB!ue7bQrT zMU!9rhbnKoP+CcB`Y(8&ghpw=Fb@ z``TwZCvVFPji-{M1PRQoWj)*{)A_i6X6R|MU96KPx8_I7c1sC&I&)E=J@(v_>6~wn z85&w>)-Dp*H!W)ymAnd-yc?AqTM)Id-;jq(&2xMHSdeb1zsb=(Sv8b*wk#c9dUN`R z@13I@o|WgLh{*Q{QxZ=MY?w}-y5P65?(U@FAx;7b3A5JmpU5ibBztKu_#j%ntJ3#)x3Qa5f69-N)i#Df6pV%tlN9K-Q6TL zsv#j^)@u10rLj`dc<7FvZu|9`KuIDZw3ySF`DWNnZ(moXfrNxv3r9Ozr4rHIBT$lv z&?9Hny&c>+#j`{0ufNR2o{Igk-rM=nF@32$KHy!0)GnRe6H5n%uD-OAixMPmpP3)M z=HD9O&wH|GsPJs2+wA4~p^R4L3<9;rZlDq8L$a%^vy{fQr@Ff7hb|30nS66M8>UAmS8!2MP^7iy zmp^NyZCQg~9O6E4?4I5rN?-fOJ;$()?fifKy? z0=4>4$@k16yK2nkIN5NlTeE#`=*|@jBPc;a`lC+c;#EW4SzU@kQ|2!<2-K3^rHTCI zL*4sxi$d?*yv!g_>o{5Bbn*=ID{`*R{x{oQ*fYs4z4Da^N|2D=rPEk*s)yV6o-+3J zixwLMY7Kso+I$UphH=~;yVAn$$RpR=|EWDaf)XUKH(S>48*TTIe)a4srxqCmYT+D} zder0T?yR(0_My!K983eXdgSFtTf9pp-^Q!d?UT~n+NaN^b&8|M@6N5mlBfayZ^Io7_oj60e+VXI+`(&vqcG_=c zT$CVzBb;R&+Emj$SE`adb$WS&KrI|aEo;rZ=5D1Pe}-NzSJp)dj?|d8Wv$P>+5PLL z(;<6=nJXlYlTWo_wanz%pXJTrd0q%mQoX|z%CKv>2VNbKH{=-MPf4`6&x^n5G4oZ+f zuVh(IJTl7dF)}-pG|(ha3w?}bz1=O{t#!-B(1^vC8gm~UeXvZHHEd4@cT|NXp?}Ae zb5Vi>jzn}ab3>N9>x)&P;a}}^kU%Xg6U`Z#4sgpg4u|Rt*zTYN3H14v)xE_4cZn4a zmF;d4sD-s)Su3eMKAY!+Mr4}pfi;aj#m4Umi=~ko6!f+DovuKB#*31{>*vezN{Ki?FaoCAZzBw5j>mZ z@dF7C>*vXJbQ;|kE{Wi{#NjiuFZaeiOuL3h+(!hCOGt3|hV7+2TGHs1fDkPvp1tx| zh8}BY^&G3p@z%hx4oWay9;p?fW&krhVq<_nEe`K^a(l*nMGXI8h)Uz?mp*e)f&|Yv z6hU(o+8y+WG64d$INZ48{S2PfSk?_KvQ!%PE~?<71PPoISysp+ZVC{n#q{t;=6Px4 zd&DONIt`HoiQaq0c!ZSW5-JDA#bMFnT2L{mx_Zbfc`dKxA_)?Tj%yE$i^HPDt*K&C z^Q&MBiX=!VS`lJb!#vv+g5&kI&~}BGkiZg!VERB&Th9{zm$i!)6R*BkK4819XNe-g zc)3jKd0bs#T&Tt2w6w)-P1~*PwTDQM;I>iEl_iR`UlAZsi^E4ceQRsm4ce7RkU$%w zQ}>=Fw)bpT2-M;*dmp_v2)4O+9IgeKd2^Z6^SHV~Nsv&qBGB5A;IL?MnN%7^KbQU? zk|3dIMcnL_Jk2Y)5FD>)VJ%ozkl;GudS~L??8{ZytgAFHjhiVAlpw+3`rAt@+Opbv zM9l<*Xfg5pmB$Kon~RmOPecjE%e9~gRlENefm$5i_2l+KZM)d!C_#c-QxU44%V_Ws z^(Z7zi^EMz-Y@jlYTg*t+Vcz|LBbpp(KDEF`6DMkANj~UFO8aB8b80LM^0a268-m# z@rWnAF{;?}3_@_cqQ&J?&l6g^NP>i-6I#0v9It3`YpUmlXOK1*Nsv&qBF^8UN3|C{ zYZrp!6)m(-%WC9VVuu8lC#wyCOk?+eST)8`Ur_)Z*~9cYW(>+YQ>4NRUWuyF9-# zp`OR(3MHHqBve=t=;4syuxPQxs5F#aA%T)0p=d<}S1b}2)1sBw5@p_wGh{Vmjk84b ziRj6=}hL%%&f z^Q=Vb1morK|6LB8g{wIu)ejTud0fd+!Z|@gg%u(FLw0c_E~Z6`Enhu1dX&s}MG_KKAqQ!*FiToCnUMmue zmuo>ik82Osl5((?tO5DCJhAYrygaLp;H2XiHJB7X)@#hU@BG^kEE4K>1f zZ6jl%zg8>j5h6i?!)hE<%rwVn~ABC}|s}{q~sIXN5E1k`pa=Oda9k*%&-ogEeAV z3r4JPn$kKuID(pCg+I6EBGzq^f2yFe2QSf3zUXB zz4I%btjX%}r_+>9)}RClK5?&;zBJx$#e9zl&Jptte8#+^|+{t zTk{uvT3sZ3LMUfHSvZ}W$FwbLZ}X;Z^&QpRyI=f7oyCzfkl^zZt=^?_sIyT6>C8m> zcFVPH)u(raKrKEqQMDSSr%vy@Nar$!OiOZ4&Kj-G;)nzZKCdx@`k+2}_6MC7DVgUu zUGLSWMT9^tJ~^^)7FmfpLFb)rbL4cJNRW`;rS}=U6LgN8pc4YMq_1dV^H)vW_nxor zewwGhH;@|TGhSQDlJBA~AFxc8HI2@ZegA$PcTlO3>U@dRA`)Zi+l+m+h*sZbd^a`S zy{=6yxBsUD3<9**k2J3f4-YM3IoMIIMwRlFR2sI;{yl|4+ zXhcC|@TQp&%sYBiOpi`Y5;6DgDUn0%^eI-qguZvi^yrixoyM&`czompoyNryVovz< z*3l2CuGBeX@5FCJPW*}l37%i6a;UlJ0XkKD=jn!#d6O%s)5Aib7S0T4BzvQ~yS!C; zK~PGHY}xxO=^WjP~PsD+~h`Calp zNi!Yi@d*>uNkFj@J{xy#9C;i%VQ6}|U+K(U(Z8#lO7H6PiQ=!2z)`}oqW|9NHvi0W zhuyZ#@QJ8pdg{mNlwL`ru+xZ6>0zB<-Z4G84Uuy7+0IqYK{^SD5+pD^%PK|Z`W9Ri zc6QUbK1>5?v>rNJOQ$CPoSW^OTK1@6S4fz>);rhd%DF!ACFnm)FWMs7dR6w~Qa91r zJDb0EZ?7v{X*Ym@%p;f ztK11q-lo%f27y}gm9f5IBhziYif2kpphUi+Q z{z743r1h#_zpoufm|A$+@RE&wuH>x@&%BUeAH(0V==t0~g+752B-kJGS1Ecf+Gkbk zRbS4&sS%e0B}lMu=Wk5(4EZpXL+T18NbtzOUySH^dm|vk4|=C2!{l+o6ut$^N9X#8 zn6=kg#9MAUAdR$ti_eCLB&W(!XH#4m?c4^Ck1Zr^(%Mzi>5o|%8w{xy! z6y;VkbNIza+=A~aYexwZGCJ!PEd9PNIp+!q)RM7Xx8UC!TCeIlH7za;w)U!D){091 z@Js$3w7F4QAh@UHw5c7{eefyj=S9ynxsh{)1Zr^)&UvnORQK}^l&fuHwe6yWJ;Tv$ zwWH!o{9L`WruC}(|Cs!a^jeW1!CoonRPCs~Pv*@}eJi>A?8Gqnt7x5Rt!}w@&SPQn zSJ8EUwYtS@!Dl{by{hj>-5w}GVne-2VY+`HI=6os+3t0l{4|h2tqm)Qpt`zjGZX8n zuA~p5kJO4Vge|M+p*Vf65P&zlxr$#6;6A ze#udSM9a=z9!<4rc)ZRU7^GvUL%5bCdk@}NTa%X{A;Ivu;k>4Vr4S@ z*#Giye*O5qi*8$>7ObDw^DRlk_hh~n=aBqLShvTt4_mML&tq*=A2cOC!F5O;Bkb4i z=Zl&w=QNN&Ev`e_%Lpf~U6F9T(XL9EYZPO$tm2~9tGYBQt$GwnkRV?YrhOkC4XAc; ztVMz?k$g#5Y}c=mwd8mI`{^Q8a<)W~Ai=$Wd`VdMkESqkB7s`myU3S>bsywe2KOko z5|nVSC0`PjelBTSR<-TEC1M&#u*V=@5@wGC_w_((UwKG2e^~zzs+Zx3<9LRX1%%Rrk*eWn3gsi@z)`-=UVbCzDOY z;cZpjQYB^7xB4PM!raC2zFv0t>t&1!wfL*%1!=XS`s@Do^o4XzgG^_l_l2}bkicCd z%ewc0Oy^B$g^h8c7Vb=0Rj6&eQazH%f4i3}d3ZUMT)^k7PR6c;C@W zu8_c8Jj?o%zT57VmFbN2zS|Z8wfKAYkp;U8U#D;QE$b2@is+xeqelr6=3e-_^c{WW z?wQUP0Rpx73;Cu!b`|RH=&zyM7PioTdm>PRL|^)jzH`dXLj4_mZih@KiT-<0U7-XC z{zCrw#*0=4*y{E^QtE95Wo>8ljV(OvyBogIM|^HJqx|=R`mxaT3SzuhK#dlnkryiy6 z*z)d~aO9o|ks!f0NMx_B71j56Rib+)=DpU{SwQzppu`~P28pBlh)}nS)$f++y!Jz; zQ+*8)AVGrfhS+kF2zBS#rF}D}}AnL++v zgq~TJ(A|cQ(3=2G0|^Pss+ec8I*qk-e_|VtkQu9zz>HO%>l+tG&>f9$(47FBgh-f> zFl))oS*Ov1?t!e}5hzJS=vjC!-8K1csHaK;2??{7%;9w!?dd+tXVX2xTLZ8p5uw)x z-YuIt4J2R%fumjQmQ6*VL~_FM%5yz(o?TVLeR*pYx7A5=G{C;XbgQ|wqWa!J??yRS zZj=)V5@wI;O1IX9vl_b3w5D6@ATHG6TF9pUq3=(eyz-zw;{T68=^>%FnjHnc_oq4J=?kClWVFQ zzJx$6?DI4i-RrIof8W7v@|C{HQ@kbj^PIb=v~+u?N%W$dJm22c$=&kMwdz(!@iIto z50)|&RHAMd8|O)o;Bc##$TRS5 zW^#j>D>s-S5!0evWxGVEyW8A?rz5AA4s+L^U#HR#3C7Fe?A=80U2)bJx*zVYm&dqQ zd-ua35!0eHI{rlEP&ebfM0e2T9~$dk_I`hrhDb184$nAEX{dYddeF^ylW&{kj(t(z zjE6)_i_+lrx%MS1A1R2uFlmzePPGNabvcd%Xfc*M8;a7*EXfPQa6&;p<4ut zuFZ76y~xAHdIZLykp8WDzlgP+KtkEuhT}`Zq|8y->cLp z61Z-+tg?e^xs7VJb>H^xlobNCuohzX*1B?Ut<(<^xYDOnD9viPgB!MT8y4!jafLuF ztOeRHIaJ4;U#7lWXRE$*S?UJ~T(?_Rx8*b{zuCy$9@Y0c3xQgkhF`k}zM0&d_Q%vb z5yuJH@jU7TX8l$og4Y8`NLcUbFFjk(s&@xkO%yCpx3|hjcDze&H0NaP=+)2cjIAuV zHF>sfSubCo=RR=R5=F@9g~a7|_fzy$MAMnOBgIXbxHCYYR+Elh6j50boW}V3#=0ML z80(-UNF3c#JNm*7zSC*p;o@d*(S1lxrb#d@TKBeVr^2%p!D+nv=MeYv+dgwp5+oK( zuN}Se9N&w>e{U1Vti{_VrWO*> zIY2NiTF<4`i?)mr9S-+R-Slg^d(o1HE=uBvNUdnOsTC;={wpG)On^|dr}bXyf1)iZ zTsB5@E^6S;UmJ2!f&{MaE$iczk><_cZs4}xZW5@qp-DxRMwwU|J-%(=HhLrEq67&y z>p~&t$|t1cNT8N_PIc8@)h?I(Gb;IoHyi3SJP8siY!K3d7#C{s^Z8^Ym&V#W`>rf^ z@1zPU4Ur(hVSZjw5s&{|-0Z>AL)=g9{LI0)P>Y`*A!~m+&UR6P1c#Y;N)ZqKRNQPL z^{AJqM+FJd;^%{@&tDqX2T_9Ya+ryVG2#{K=MPao4-%qCo|P|1s^-}?1h;uP)#j^@6gOjE@(uYCBseTuZj+}}xQrqm`Jr!fu`84W3HA)P z#;jd@2@)I@t$*+87YlRmp!>W%UxJc2g8JY^s@JwV+_(8BM3f?5f`kftT9eZ1sa{(; z*3Y}nPj>g$zuiR%612Y?raNV$sp?MI!u`d~D?gU(&aq7bwf?#5;0E>#rDAE^FfZBN z+TeBN(YJMyz%X!jmAO!UnOPe0w(ec8m+P_&K-#MKNE}lYGe+ zrfxj+^1PReHeF@tx`;v13UxM*Iw|IRj z)0Rr3`?2Dt3y3%xAW*B!-Tm4!QSvm;Wb(XnaLG{;B)AsxR9)@(vAEefnwRY9Y7$I~ z*3`QXs_S7+D{8@Os0C3HB)B#IIm`2s_dQ>-H$X5gTG6z6863W#2(BxaEHRTT z5hX!_y+kNx?Hh>b5+Ilst?=FbR5)D`G%sl`z62$41ohf~rpUY`5us>L>rj)YGPs}n zM8k>6?wxIKcTs`__IY|U`bTl|2{V)3!#A4*YAs4zs?xX+%ax>o5+v?#w=qCSIgmgt z^_*(AO{{he!jmAO!UiF}9pgeRe$H)vHrD37$(QURUxE@OILySE81W8S;vTZAAR$`( zob7n5vfc4yy8~$^vz~kjN-$myGcm^SB|Os)5~9V=xeuOIeUNQedjvd zeGZW&q6FjRFcZUK{X^C`K|-|n`5^KPzsL1KlwiCZX5u$R>}=Pd+0DOBq*+D{l`Dx0 zwRnexejg`#bU)ubT(y0JW(|mFcvlSvB}k;)-A|?QOU#!vC8BdDlQ6Wp<|^V?j1Zq_ zfh0(9Eeuh0Rq1${b>nCbx0?Je5*!vS&Mo~yP4wtYe#a8oe7@CHt#jSK9{O07BPIzD z^y@Lvqy6~J&yeqKS;uqHE!2V>S4;u~r^oGoOj*eXO>Ri*G`qK3I?Zx}glO?|`c<0f z>Ay>DptH4=dam0@z9fTui6OywDcpkWI8|Bug)ZT=g5w?B^To+=glKV0^g9&M(_{E_ z!sl&AtaGVH{YyQ{kYKzVCSUTW>b19C`%kMC-!*XuS8f$gcv`ft5vE_-h^|(@v{Ae6 z%j@c0U(H>&=uX#=K)mQB$gYkQH*ffOvYXQCc0O6-ua|(}_UBw_U&8)s+Y`y|7cEQz zwb&|6LgpnXi6dgZWKykJYqOpi=bpa%LG@cgvY*J~tGtQBokGic;Y67XN) zco%POte^8Z_#2IbNN`xRc&CuVFDl{-@+EJQCH_U0h>{?|yLeZrb<`XpRuK^i5KM~} z?-X*la%`<8UKAxkf_L%mP?k98hvMe|*OkmtwIJ`eqa==?9A2W@oOji@9K5TBgbI6Fm_xex>$6DnwbW}{ zQLjabLBNSUdgpcJKWk6Z7*(6bD9j0#7HRrT*2i9Me%JETkCqYu*b+nLwY zZ`o~BZTI)GxACYJJ1>ZY+FPVD>HS1*k#PqbxZ@X6Ie&-=G0qgPK^YIMGJT9EeqG2Cp>WtiYMpgbCI zY59#SjtqV|`27b;kid7hn&7h^&r=`dG&o*y3W3=jXo7x)QOczWIh1 z2_D;-E~DCmQ{i{Qy#w!rQH$R$GLaM`q~s_G5?mvXD@&Z_^;(BYjs%BAi{EB)c$y+O zSKMp)y&6h_1oy#wWyKs~OlBHL zpq812)Rh`P;C&{(=iHMON#(TjW0ol8KnW5YX2O5N%kOd6c7udy4c!w-WlOY_?c#X` zlwiCZWF0SOL^7QfTuu>YP@&dH!8 zNO1f6Z(pAx@3Vx)+F*Nd-ub;e*0g2e91bNM7J}=I!xLjAmp+IDYGF<5HW#0W5+tzR zG?7VGl0j!C@I5Em64wH^`FYjm3%xg^waAO21PN?eKUaL33JKKW=YE^xnF-DnOZaUu z<`82tSE)##mYK%7pNgAu|ES3Q16GPy4t!&(%OUN7Z(M_KcsaL^sumpK^^YY~awbHA z1c&*#|8866?Lk7c_&M9|U&`9?ofk?lUJf(izoQpx4-%rq&)M2rD=+#vc~RM?MhV8t zVZVQbXgw%9EI~rF)N}H7f5+Z)$_@)kFkTfV!arppZ(rjGPs{Y8+=kMEG_MVFjq=Lf zXn*5vIL_f%iwS;Dj)Z9?RqtxhtkJoNZsn5d#vTC8+tuE}3F<}0PKfo&H_xS(aVEOG z_tY|WCXnEDH1C)Eq52?~gWo7#9C+J@TKH~~_5G5gBuMakJpC>eXJlMg>;ZURgmcBU z!21`NL(6)t{d1|jn)r@Z6DUD~)8jOTtNw90t%P~S@-BH%Bv1=;NVimYJ&Mm+q67&p zU*dA$yUpOcR3?V1Twz@?Ard4w%+K{(WPDc?Bt(m!^UljJs@LMa4@xjz4m07u4VN<$ zK|-|nIq%8ncl2Bic{hO)jF-bEA$>4Nh?aUzy-U9zMDN3^ZGKC_C*OH>&uel%Y0qK* zo!55nz1j&{v7iJA+})wuVc@NPaNW=G^0|3jtJ4hv&&^6*L93#zlm<#TECkt`+RLb< z=Au`Pd@@!1E)uB4VYYm|C$p4t#cAxIG*E&BubtVW>K&H7wAZ(nh%1S}{gU9yo72!M zdMr7wmpLxp`Ne%$4)b$;E_@~BN_K>K9mNtpJ&bF04)b%p>pYEe#Up2I1PV&F5?HD-^BF}p1Guzuvb^SDndz+;IvDWXTYuMErRE9@*74vMVet)-J9Sxu*2@INuV% zdFQs}xjLu8HOgmQIn2-fS-9-5pacodEz^Ii7R3I61Zr`Z)6lD;2=!WiQ~f>V3MEMJ z?3L5dYn+K>R|BZmI%HQo-(?A}WrA~GPQzbEvF-9c9M6_`Jm+(W9A+(^vEms&%fc}V zB|(DIKCMd5wY!AM@duRy2@Z=E&zv}{&ki!Ng)FfhSt3e;1Y2U7vfaI8yB`zLBS0`M zT0CFjus%D8Cm>J~N03#XQ?}cVX0M-m?^2OaVNZ+ve3)%lpB-#KXM}U;T;C}=Ba9Lx zOxs1@j-|!g}yugC+bW-9uJVnXCjQNO1W$SNbiP^kOT;xQ|l9SXziE=(j4Y;=s6sIUBhz*K9Rs*oM=$XvNbTV@@rO}?!KnaJ1 zp!Qec4ys3SuH-}t5~#&twkti8DMNj*621BPn%?}N1PPwiaC-X957t$1Cd2Xa?1i5* zaa$}`vgSky&UZNMr-5G&1PRen&#BiY#m)i9sD=`ZSA~ht-w$?tKhk{O@&@jg^o?R1 z;c4L+1g=}ll5+4&hI7K-TH)-B!~EPoIgm-aoZrwcCrXgOnVL?6zxnx+h~S(`(!+TW zeMLuB5+y6ShpYr892SCSOB@cz+CwZ63Dh#@SDdeIl&fzkS13V(=USYGe$$Xor`x&` zQA`Am=QxJ*b0+jmhST8vT`mVokicDB`mz{&I})g+o>Oa<#AY%)8kDAY+bBT-cX2sS zmKCO%%rTnDAc0!uXfTON&Tal3l{`4J;L`H)&LbJGm-#dWdDPfQ&0)@=|AhjdhvTn) zQGx_{)WCS&g^2Ho;IWp|;PV&3an~PfxvsbmvR(10#)LZ4OkvjIGt}m&hI@TTpcaQ^ zKftoS|EY7ToVlaC$Ifixn5e>3Z~l4F4b-E`QjbCj5;#6`Dd_j&e@l0tk*}~RF80Vc z%HZf@Sxdh!ZZ2PQC@qgbEfuEc`iph+3@AZDm5=IBe|f)yyeNMY$6vVdXuuZE>vJ_S zkQR?*?5VlUecvv&i;_5ka^;^@OGGHz(^8{^K}>q5ftx~SYf*xPIY!}bEoxz|RG89; zA34>SK@vWVha;Q{d(XAsmGvM>kigN-vRaW(EKA?x9H;Mb)Hp$L@%u9zGjJ@?Rw8wU z1Zt@;#pHikEV)7n5;!L6G%lvO&(AdXVc*Ve&MSB2=c%1}T*6hcChC#x&L!JLNgP4B z(j!iWH%65N2t|8ZJWBBT!(VNmpsyNN(D%+LLBjM`oUa_J-N{tDsD-&w;aIMi*h;;Y zziCijpCr5!k0St%43>o}FCr81ulpuj49OucOy|Sm~_Tbg1^4ioMJj&oo zPZN>`O5zC0l^#Esk&+{!!k!j+3AG;7D@a@qqQoHZ3k;PlBUfI$m@5@FawUFOjRqv) zvvoN7s4zX(tJK+N`=r(EC2OGHE1Lt?+JP{GT_qlFXvil&dw$ZBNJP{H88R5Q9CcCq5F^M?KC&Hig&3Gc& zt?n<(Ud$&`fBoU$Sj;32SLvqWeLBK8Va{IeZz5AUQUz< z&GE`}zIocR=(f<1+!iVlj!VL9-T%vyNb z*s>ltR**ixyY&<$i3oicQucRln}>hs;I8^Ye;FoUfaR~47~VrSwvMJ7TRA5G>$BG? z&P~tW*~xuA_gdpyG9);?F?0vr>TmeBwoZOkm|ka4mfL}DT*SCgONHrP#hfXBkzF+& zoEv(2SQq!k%aUA_Ai?!EhHk(-J+d^VF{o*7sB}&jcU(1-KrIe;pgY}i)LnYxGK)fA zobTZ7p}X5qf&{mJ7Tx`Mx|T(0T+zQMH20qlZt=+r27y`}-g5(e4On=b%3+U5vafx; zrQ7F;qYg?8V&$Z83%bKJ=gc`G-W`@?*IwAteQ|Ms04=us=?7{>j~@Jmh^b4jwL@<; za^G#5-dDr0_htNBHO%H2!%WKqhv7N2*kAL35@6U&?4c$B1lr;#{!q%ia=q6ugxB4~N9o?j& zixMP`zeZ`$P3fn1a~hLY)v!C!ZMrF^$`}M{Vf$NFx#l(Ob96skgUG9fm7ryC+Mm)5 ze>v)gzx{XDvoB3+;Z9DaTjfE5#KBs5;WKpC{n4{K$gUn4T+7~)($>9hZn{CB7RR)P zZYs=CHx<%ddiG;ru#B=}2bUSqJ ztV)iAXmJ{T?S@7r*(udB-749d5DBLdBRGe2w`GpH0kiptB-<*v-JL-9Ct_SGSDqF> z_kBs>LrL~_A|7q036U5CrQv(H7jlb2pY0p!cDZGK1WU_3m4A;#)fME>vd#=B3jOxY zP&e|ZCM54jaJWMu(e2qvG9M@kb)maI|BgPOyeJZ)g*l|Rmi>xC7ZY&@-4==xjF-b} z==Rneb$jca-bJA*bX(}V6V}ENqQx=!C2xLzQK;AZ+3u|#Arg#Nr577 zJ~*-gI;VtQ+aJ zel1szQC?iAg*mjWBhTiBdVM_79bH!wQd%T9oJDsPAKk*E!KjyVL)FUe#$W5=z9o~p0XQa~Xi|TD`qA-2+?^M1R%wWY(?G(ntG=D4r~g^G zw_EnN5|xH%F(LCdPQxd5UYu%Qm6S?tY0mWd_h0xIhmMdXihtx;zh$){;;jI|5+o$7 ze;;RJi#)sXRdhqM`qRJE!|~#;_Q-Dx>F0Hc7~4V?-=PcrV??vN1!ATp??$U zw>CZPj=Q~IQucl=iQ^KQwfI+i_&1Ss8o!2m+U4n{f6f(35)t}$esWfY?FKFC#uM;c zOVWZmjmL=7uD^f+F5uG_ro-VXMh;@M7n`aR(d!}G(_>34%~zA9-${sj8XDEj^D z(PhhQX!3S`cntjl@sZU$-(AzClil^TfzC+!&0>@waqrCh@HOWfR{jREWBRqtBi+wZ8gHNMYNwsJ)Ty6*iHi~>dc2SyKC`@rH&3kc-|qI& zhUt+S^xK(8pjN-R`RdoFZl+%cx2%uKWZ4yeZ5Y`@JE#{v=DJ-+eu@ zm+yLU7EQ8WxMxb_+v#scP=bW?d2Ls{h&cAi!pPvhz?Pioqg zN>y^do?hM{P^;yw^qYG0OXD}IUm9OCuen``ew+Md`fYNQ?7fdHgMRaTb^nVuVA}NN zb<)lD>i?W}UV6~Xl|hhCyn%jWeei7dqIZ^RXFvauDY-nT>sD-sacOlgtVE?($arSgE+XHJFeGKh|zt`DbIV;H> z(`U5NYmMGz_^aBhI@?84lHAbaqaBP33A7%|s`1aQ_AdGb`$gexMju40G>LZ~zS+Kp ze(&y7v)3c&ab*6`?o?fO^EUOH_c2d~ zgt;ek{hq4!O}neQR~;|oVqB<&p2)JQ?5JwLNxzbJ&p%~clpuk7Ks=x1-}se3bKcIs z4y?xve@0Gwee@fRqAz2(_Z!0M*MWs#T0i&ZqKe`+=U>%iEeZ2%lE*9ll}b%}b5TX0 zBoU$Ky9a27T#Mc|aL$mBFl+I+%fF+k)3`vh@Fu%G0wjqDJ#Y8c1|gLO5?+|Kc>ch@ z+o{v=)&`0|iR1(cz5ejlIB|r~ti`h${+&^shPTF11WFPSdL4B=t-K0a6r^)GkdUy} z(!Xn})8N(JuT?a`Z7!CPh|q2RMdwa->o*66j?qm2Uh=zD|E&?`89mSRJ9bJA%i3UE zU#cs$Hn@LJ2m8lEvqSIGYJxqdNRVK!J!4sNm{%Ee(;NBrs%c9?ormbPfe@(09=yJl z64oPUOBz3Rx7ir#HTP0A8i)i59#>|RP6_i!P4B#DbRJUebZAO{8l537)M9V9-~~!U z%`(CZn%gbA{26LizO0%vhy)3q8I zP>V;neY40))J)%-g@2T10|JqJ6c9R&(m!G^Z|eQ!RVhQv(bFwRo;w zbq&?7n(6PLd3)i#_3YKZ>Uq0JkP!c<%Q1-72Jh^@-mcSDuMLDiE%A1m_@34ue-0>P zUp8lP1XD*XtZAA7&>H8aoFseBTY8NnZHolfbZo5_;*i|1EWchv~%wevz+37;79N_x)^^-5SINbnk$ zJ)d4XfA#AayTQqv^yR(vYFh}@;+3}|)QY|bt%Q$!vM{~c%9#<&J9<=1kABI6hz0jd zNq=ODUTym&^nEa7|BOGAHqyEu|7Bye1zH*wEp+GS_f4;^V)&d3#N;kZJ-kxOfw z`7@l*h6xkYibbr1=kVvok;kExkm=#PbyP^!QR1(Vz)^y}fUw%xo7YrUi$&9KhDicva5I3>ksih=s!#^dR<*TvwY**HzT;8#Njiu zFZcGWaE@BtBQ_Etb5ZsmNO1Uu?WH{$(+Cox#l*8$9xK%Sd~@blHLKhgrCXptg7I=+ zQH1K}n>^xFfIuw{?|5>1q2BB3_v;Xq#mM9X8m&>G{$JG_ag<2d=OIy4_ z+pe_7ZqE`$f&{mXdaf){h%W;KYH|2Tr*B$R1wIDm@TqgBAuC7oLBov*{b|o&RMT^U%o~yd*@AZ#DuYZUnNGMtn z!9FMi$17S`3-SG2MtUaB&AvR$ZD7__Q?GV2sCH3;1c&QyFRf_Hy4xeFBp^hKiRZ68 zmZ95RtVBG6NHAWm1@%0xb}=s0;_$8~w`XYEmHxq=8YM_@YbrwZbFq?AWF<(T7KfXb zyq}@R5Ah6tc%DHdNZ<^R#`AzL5dyWC9{I?;KpLC9G<=CUPwc;Ej7MO}F)j{^7MD-O zl+fBm5+oF@h~TIu1jj2{+)nDbvRxU~zW1zMBtb&aiumXjJ*xfV^>ZOOUeQ7eHLV>b zNO1UvqPCtThCSQ8A%X3R787s0SKcF}96UOs1mop0DZ;Q__M%9j7KhuXEpBVt?itT^ zMS=vkje4$Zx5)EwS9!K81Zr{k+Pl8BP1}`GO(aO5RnqS}d$#+LXNf|XS~v~{`?+`= zt_AT#TqgD0s4MmiCi-6(J>ey^;&T@%mbRf24Eg zUVF&sjPp8r*_Jpindu9`w3_cKT8M=S z2+?9fW@?s&wTlvrmuo>0s&)OdyZ8KfMnC9`{`C5L_*Jbs`A2@b0q8n!D|B5|P> z=Fqn*nY~JBk>Idjj$p}gHYsyaCe(8ySDXe)I44M`up*?N%REuyVp_D=V$^eGS2%v4 zBuFS)5y82S#Kp8|CALHvIdO)pW~_0RDE&Oqyj=*c1vTR|EHRPoiWU>TuN2Slmp5-0 z3C7E{pq?A;!J`4jg<2dIpHFYeynZh2Ard6G-qdqdyZ;w~S{(Mr!Qi}IBuL;GOkYRC z7{%p~_TXH}%7ULuP5ah<-YdCCkl?VYX;oK}MrE%LA|YB>(|)g&(Lh=a-*99Kl@4oSNfRb4IEkCe(8y zSK{GB5+oF@2=rGN7l%cQEnmfC^e9>5h$KkJtk#^pVq6>+Ewe|7l|1FmOJps>*Zayj%#L2XiH3mu2CaljBvs&ub6ygG`G@wXEQp6A97cm{eGm;{mUqZ}R%NNHAUw ztMaLS9^8SH)hNd+zKg@YzY6aAAR)br3BO0-`U7i`wZvXIES68F^gO>?)APF`VJ+!{ z7?b%P2PI5M+i=)#5AXXA_4Wtf{qqUBs$bR$^O-w&u21%R-+vecOOTMT{$gZiazXk7 zbV`WN6!DiR=Spg;cqPo=AM;l!Ij8h<%eqj#Abqe$pd=BYzmPuucW$T!ebK>bAR%Ga z;xCboZj&@xoXri5@(7e9BJ`KuQ|Q}pi@xaKG?0)mYw?$1InPNNFVpwuuXqGX5)t}~ z_1^T2`=s=qDh(tg%v$`VUQQcH;|V(1wvbM^ajsC3h|pi&dtdj*6JETmB`wJ9AN#sr z5h#)LkkD;jxTl7_X+;%#)!{NOpD>&;m28Pm9?`d`myVBRP;jD)CGp*@sS%?d@xE8YaQF`jT?Ys|8hQ9o|p}p~-{vuZ- zNbuLW*{f@X^*6k&s%#A{=-0}AezX4SR|wSNFMy9y8v4uPC%!ETEgliFb2`u$xsW<) zar=*}P&=%@SogkOw&m+(kr)JhA-&}!rJ=r%F048{w6DS)_CEu!P~Qm(!QVTJ7TfW- zdbPv)%X{xDY+Js<76}sk4fl+HYlZn6ZaT>^sU-bu&vy1>$u-qi*g~Kde*wPl0_Cc5 zIU;U8;I;{W-@$J3RkHfJpMDQ8%)cSay_SAQG0eYNYZ6^AotxfyS0}sOuxr)VOLm}Q@)8w5}iN95HG>l*}`(l>EiuIg<^ekxI4(T(#YNN|{b^)ak}x%bz4 z>(fh57-IMKzPm$0v^ec-mk9M8WEJ|h@6^&^_PX=yR2m||csWeJ0UOr8Cwx!K)#-P= zJjTBIl>UAY3DM#-I{rlEP~UTIq;C`_9U5y_e80a+LnIh4hv_$G!}_RG{AQ1YCjr=`+}_1ael=7tsx>|%GQ>Jgp<mE4`AYdGVRKJ=sp05iwV(EX~$~!Vj@~p&$L%`)P&TiK@h#=3QA+v zw=@HIh;9&w{Byg#DopnQa5=oVm=G;~F7;+v&FBV!aH)>=AX^h6F$kh(9H5zjy1%3e z-FR}<(w6qHnfk^PBt(nT@N0KA-KtXVrIvQ`LQRN-(})oimbnC-|JQdw*m4Ji%%g&{ z8mTwS`h@P8m@?Y7yPenfOo#*t{uboiRw{=&zgvm!vbdpUTl>uy^<5T1pcd8wS&6&5Tu*!%yfXOBLt?|PB? zK>}xLmX-CzwRYySjqDd+(f7#+fm)n~U%LmsnY>EA8sT4`IYTr3g_pJZP{s_N>C1Ee zB~;5wM96QX@+iZE(0VTV-p*;Oet$5}uCV>7NWXQ*GftFznvvXpKp}+-|DbS93b);M zBBOK5%^8hL`V`VvTWv~OOt~k|?%RBB1SLpVDN{2pZ?idL$9qgrc1YF zlsv-3i7_{>edgY__V}~)Ttfo!_Iv;DjLto_XV{0^5%HOOP1@EcTiMh5H*pOK5N$8| zCu3#F_Katz-Acs8Lq?}n-`K+bC9RojNPysSG(Eo~W8s?_M1;c6wp#UhGrRLGE#e5# zN*VNT#>fRbG8*>?6LEc$Y9BrE{}?+D=qifuk1tigKqw*tLP9{A)FcoR$(y`K6r}`^ zP(+0QQl$zaA|=wKNmCFTgpP{z014zR8&N4zMWqK&6j2FPn!^9y*`4>kv%%l_=bW4~ zXYc(?y>n-FcJIDcb;Rc#<4sKh`KF${?`;=;&};VKG9uq96ze|~A&!iH+SDXK3|X4b z*Rb;;Z&->TqVC(5mC5XTT_z&aXGAjZ)nVN_SK}xWuxm-@1CXJ)g(Z08AAeALbv6{FJHxo zdQasglosd2>2PUR-d2x9uO&;oPL`-iFkecS49pKMV*?Ra9zZB9&WY1)<&0ut7tO&o zS1$WC3FOPy*U>y*C+E2$+PMhSn!9vjx=uurFKIbutsf;wEPLzi^akV;OG=-}Wpp57 z_Gq0zEi0^mr4zB_MZX=V^zB?m7!ixeQzOA?rFAB3f=nNh#IE1ok9?`y zI58(_Ru)Q-(AE-TZHw`n`VjHWb2@=qXV&htLaA1E8Ka_}jD5MoIMHbRds!$!B4zg# zD>rtR_iR`*{3=$Q>-6owz{~N}>^CuUoUycYD{b(+8_O%sn@_dLJWSSJk!%-BM=ib{O7o+goF79juV|7lsjDdV+rN@f5+n@I zO>6Lnd%f$c@{03H=Yg?Xt923=vx=EoUZ9ndaLbz2{5$X2hj_)AUS(3|A)2+@Xx1Wu zT6}#ld4?*|Gc@~aeUq|xT8MVWtz(6^&^xBlprzn=b7n><`N9!yi+SA zP>VgPUWV#jl(>mt8K0bBIV?Ls}1b{EV%>tE2&V%QrZDrpdA2?8fv91&6i!Db^ul64q$ivg^}+~ zFDp{NZDXDZE08^yR{ABh(&O5$6NMMm$oQyLxcKnH<|ayzz@9dYLt|$|AMsZeDZ3Ii z0=01b4ddf}eKUSfA1%hERn>OkcxR#A0T_ko-axH5oENV$?De@9)CwTW2>9KCFLm1# zPM-P`TBA^+5jFs>db_aXatp^ z{4w>_ukUZ-Jwr$KqAo&d@pay1*j{w$ua9h+PDCTx>7#_p2oT&00fP2Eo7CRNO(-p< zmFKhP$BVSq&ZpIxM@_Bax5CDxt2C~nHqn=e4YWF=1PPuuinfUwMCA0+2~CT4PJ#PD zX4DAcU89@eakB3RYZmPo7;_}#j#X*#PFAIjK{SFrX#|_on9Ci#l2AYM<-ET_0=2YWkc9{$y3-yGB}iz!U_5r= z{it{%`Vb+lM9nC&K4tlG22+m&ca{wuYexywNa(xQCy4lf<_8j-R$92LwfkxvS^HX= zA1Fbh+O2oe^@wIApCQ6+8LF?e(UgcP10|eR1dlnV?Q@3jsaAY9(SpVU2~7(v z-`M=afK7_f><9DBGe3Adyfhx}maEqCb=B*J@!hYFMDHddiN+iy*gu>O`b50Da}!F7 z2_6r7?=!sB`($T8xO~j!F{F9dfffS<=H1imF9#5RyFRcfP`puex>!HfjeZ*SDnLX z)ReKx&sRu$H_`re0I%lYy?TJ8p%wB1)%YE=@q zUFRioK9UyiigA}|6JHTg`H>bTO1O8`{u6g+hVl46(SrYr6inMrU&QuZxxdIe_L;$S zXJViAj+5yS-<-l}-b=j)()Ct3(PGJ$(PH|dWQzYlNs!o4&ravI?oUL+e$nE&G0~z? z^CcRATI-62_=eU>^DbQ6kBG`=BE`Dhk)q(%%6^m}L3@e7X|!S7Jr^nbdm}~DZaRTl z4XTCs8orR`9aN?_m62S&f!I^8fw&w#z>g9njCNG357WH$#`GX!Lu5Vi<_~p6m!j|b zQG$fFFEy5rt|Kr= z+4p|c2u;gZ+;?R=l~It-+Z!IJAX-kSAm$aOZ>53+iP;;9`%1+x@ebObOhkI63ZnJ8 z@}lN9g-w(op`DQ%8*7#k_ez%$b8D5=2-G@QuY_;??j_#+`}y?zW23leIVnV(xe;!n z1PSeo+_-tBnAo!2IK7&AbS?A09WM-U_beLTV9`(6K$4V6D{_Z;MD*nAps(-o_+m_Tn&cxk2VL; zx4de6x;RUh1c}*2L$d4BYOrJluLe*55@~+1KT_N(UD=O>rd2H@JGXP1_i#D(?aOi^ z&0@PEg*dGf256Dj4m`o6clpXUFh%_aBK6S$eoX?zkhWCA1yrl4yc%RYRL`8htgcwP zccw<5mVSnOd1f8+#t2#wDu3)p2@(l2L$X6Jqr9P6t?*MJ z*@K%e_C7zIefzCftD9HyRTpLV?$HR;!t-RqI8rgf98otyv|0AEA0hr? zEsvW2%zspT`)6^DKrK9hHjL8oWy~qhmJxH#JYu2*iITNSWanlt@s7X3tHB2`A?BwC z9u}Q_5gLJ7+6lDL@2_I!mM@EmuiIBMQG!Imh7#Frx-RuTUy)aXlH2l`RoCYe_h(0H z1ZwR_45hiU%o{m|SA*Hx40HEFL+mIKtr40QoO08ub|cqc@$X#Em36|zQ*tEEoT4%^ zmwCrO&Z|Mxd%6C1XXJX;T-FKH!c%T~mKt~5za;Uv=UxJ>25_#9M8cSo*=yfg?wxy^ zSA(uC5BXCUAM~WrYJdc4;kmeBd~)3K_br$0Ia#B#i4r7?Crf3o?X<$%;~!oPK3cue z|M-%Po}=Eb8i88csk$+J-RJ(R#lG;|U*BCnZ-;z$@U4(++hdoGPvgC4`C`_B%Z?l~an zx3C~D)WWk~^0eW@{Kq~V<{4g*Rs%RUMk1|one4%|8f44WU~I&z{>oKe^|T9rO(#GL zPlpX7_iOtt^1D6i$bCDl0G53Z5Zv`A6btdyubpNs{E$8Ms)%u-ZqAz-^Xjh3(j`Hn z?c*W7tl3j`-206^b+eDh%J-a`_xeF2P>a*2kG8UG;+@T-BvHR;8$U{rm_5WM7QT~0 zWlSLA{&yjn&$tNGI@mtMxAv1XYiuv}?Mr5j5UbN3j~i)D^`iud@OdG=HkYa8e%`mQ z=rdG|diGYvGkrhzqXdbByLPQk_v}JMzfwa*jf@o;H(IaO2-HeAAL0vbx7b=3&%XW7 zPx^_)%@)Ld(escWB}g>z7Waj2Uu@MY%AR`BvYukan!cI;#9Z{F1c@^l#bxiV`H=nY zNPmj>W9^o$<7?f}2-FJyvbZm|@e*t16($yYJBh?U!(v0`6f;qR#Ex1ee7RpOu{?jU z-#trTr>y@%@64M&lr~X<#F0`VHUn#!D8YQgTZQ@thc2@&y~uud!EaBApPuiMIq76w6D3HT`6^V_>e6WT zq7hZ2#2aV(#vVA^SSLX1^2JbJ=$>WP{=c3hqI`ks!n1Z%#=#t)i4x3r_KcFg+?mU* zOW&{;J+vf3q>Xt#v;D@WO_U(9u23m^e!TDu5n~sY6KzZNj&1*Rl18A`naEPU`me08 zN}Ogd8d<-nSUzcF#{R10cR_;0<@2R{p)akplFG49eCUy* z`|1*VxPk?5c{VjkiZyR^(+Jc`n^)Qw`sykxX)Y6=*E;S=DAp$9?1DZfN|4}PEqOT0 z-tU(0zmwi7-j=zm-vGJaRT3mp-!0>tRsVDA-k}647i-nOsXU=t-sq?|9~ zJFtm}mP~xp{($_x?}XB{(+7!0P|MlFU6L&y=@1`0fKXaYe>Hnbf=%r0Sy+0wq13x5 z;j|*SrfZAI{-YnLxT4YT!y{N=xn@_uAQVJ!D;CkuRo_E+tl-I9`EzT9to-5!sL4$;p=pcbcj4`&mLY0TOCyg_4*5+r#1nXoN!!NGFk zYa=D&_3$Lkm*5!?`Z0R5EuyGc-T1TE+fR1ZJRA~ux)Bk$U*zh%dGy=8otcLas_No@ARyB3L z!|T5RFOAi+J& z*Yzry}iLnnLxD44QZ3NSu@fhOtF6Ya=$h{jVPb1V_QR@c~ zTn5(=$BDiz;=1#a`OjnV%6TrY z&gAmZ^ZHO@mt{Y%f0v%or+gW0UZQ98x+KJ>2#cQ4GhsiYZ`LhZ{Psq)S?aA7S-K=h z=qqR9=}7V3-bi!smdbu4P^&vVqvtX>VvOFaJs&B$9gH+L{aDG55+rb?rguN~)E8BL zu5Z54WSB;v7M{-;#?s1lMAhf&n4Nz5R6AAczVnJVH)@xaQ>&Y$6TeKUBc4gCV~%O@>B)$xJM^YtIAu~y`dX+TjC3j9w^hLjQIY|GN$p~ zBPL3az%xMlqUd`eqN@lojk#4c0=2p~{o6b1*F9G5B#t+jc%_(_exR6{5mn7Z2@-e) zXc(_Po==RZmCroTD@r3!3(o*)o^QG7S^Ll5{_?qT8i88*;%<4{H2cmvP?k>zFWvde z^H`Bf{-eJom?%L4&j1ahMe$>v%)3YZ8!oic2-LzeK>D?`afdzYk00`{9okkSP^-$o zJKh6J_gP{TpAJ6viRHO_!1Dj}bY~MKNZ=VD)oRT~Pm`$|{ZpRlsu8GFWz}8p;OF;S zvo7)JV5bj0^PKtNGk?=6Jxr7!fv1M_1)3F$JfBQl&urn@XVK5EwXk9YjQ*`5~!6!?}bxDu0v2nZZy5QY;r^{O56m!Pi@)J zPRZ$uGbtk1`F6p?G4l@Yn`A03^U{bQ1O zklxHh2@;%cxMH7mNXAFqUHoM1@!S^XB8td$6G|)W^*a_tm*;BF$QjV)7D>*8Sf1EQ-jr8p?>=Zl6|YLJ_&<7Zj0; z63n+7#p6&!u4TvLq>U<+QSMZP`SOIPO_U(PF*FpBYuWKQBk~p7R(|Uv<}Y2_%2*jC zL4xCSC?eP5I33z${CFekdaX+4EqY%RB}njmq&GpGmUpCx+gq*1gDi&K6-PR)Asinp1M*Z>c+;g=AHBVvQVNC+73Cb z`l#q@M7;c~PT-1@kKUA~cr2%k-#535U3z4!d2RAnStvmQ_rZp-?dpn*$}w-5bBaIh zM*_8QS4(lJ<7>w?q?VVb6$c5_;_DRWW!X_ep4^1Yuo1(|Wlt}ZgpweEyIT4s%;-sR z6q{j|rZLC7P>ZiqJeFlgT4WXIoSAX1kNL}`qmob(Byd+tvHBtJ#dRc0JWRHWd7&0x zrwA^~jvmN8-ZV2azKePNU?CGF8lml8KYi(~xSMB_%)z@J)d<|la!$FlvkZHaeS6Vj z^R^To+tLh4t|$p5K>~N2hOzeU=UXmZ5@y#vwKM{?aQ|o+>s$NcUO3mp%q`VW+b7}< zP_I?Q6K}>n_kE1%doofh!%a{`rDea_pLOO+`Zgkt*47EmS84GqXuFK|)FZj&E3ejz zo_r|AtWuWl)1rB$=hl13%T@21MtnajAfFUH*4Akst$5--+R(n!&CreCbz z=DkGRauKM--cEUNE`k2`#+b*Q)j&zyM6isUx#MEjFN`$n^o-H=?YJYyo;HlK6XUlQ z{;G~S=VDVi=4#ZC(0AeGR~CvLN~?2eTAeX3)Z(vVP_(RNe=lR$wy&e^PA_XlQ?x8c zR8X`mJ===6aNX634y$X#zSk<;OrvO7lpujUZFg1Y9aYUr6fuGXYT@|PFTeNc8+##r zv^kNYWpRhB?csT68Q8ZMpnbbq4LC35^|=?6ca~)Yd}6Vex&?OnDA5R>D*=L{Wuqzj z%;acUH=(rnIcyaTX( zBE?`us~rGJFkjiG05R>>`_Ye{OEQz$CqiDR#cAdF>=C?5>)=PU4)Um}^>tI&%0?=U zE1XSiC1T|*S~+1&MMCaAwDr8qrm^OllRAM~a#s@=bBd6Tq6le|V@6TpCU{?B->bb> zq+`HJkl?h^lDo_RLD90&ybf}-EK1yjx`PSt;7$g6!6qsYk)PsgQGx`w zN#9>JAz~NpmXJU#>;=0FzOUuo5=xN3HtB@45@(OYX|4(HEaVKPba2oNRQM_U+F(`*ua37MGz`35qtf<5J}g8S9RH#p$3g;kK(?xZ5&RU*TxleWiBc zDB-jsc+5F%p8;H_S}AKs0=0B2sq({sXjKMEG=e;}K0nyQC6kA9w_LTBud6aS9!2d?o?0Vd44B~B+UF$)oz;N*3MH5?j;1~4-%?-k7n-nl zvER^+ZQ}b=NoMW+kD4e!Lgp0M!<~FMrg7NGBy&8?4>zH9dT9A{kMnth#^p~ZnS1ux zc%O5!F|*@n^mN}uRZv#MF2z7&Fc zA8swvypQI!R_*QV@wh>!A2(cQ8FD^4yJFmB+QfTABvQ02O1O8`{u6g+hQUwa;7MF| zDS8se@lp5h=gJdWJ0>b5o1$ecJ66h1@lnUVU+XjyBCjFw$M(N2-OBF)5;6zv2OB=DrzFn&B6X%^fQNl#^T z0=4KJwrq-)wO*6ava2dKFb6bfU@pD#Do4u(BuHGQ_$Z2&wIXG-Y^z4~%%6U$Yo5M5 z!;caqa9>JK0Y=v`d%s!7Tt(5cNTAk^SycALH0zv=Z!TDIzm2(!hm2y?ob<3|Y+c(!a91wN``E?Zv3 ze2k)HkwC4>-s0I5Eo+sQ(Xt)(RxpQ*t6;txTF68R5~&-CXE%&rV!bA#W#?6@V9r`s z-n{p9VG|`t;Au2jQk^p9{BmW??N!QZ1ZwT5S0bCDWv#<9TJ}?;xY=S-h{@5iC_w^G zqYb0M*<$AMmBq|hik3wJwbpGckxkLER%sb68!|qh`R2rY=CvVXV# z%ip`*U;cpL!Ycg84L+3;O59S^8 zzew>>C_w_x$mwa{L)re(k7WB_tK3;5P-}KMP_{wHc~@(-qHS(G4w zr|J~lKkqYt*qYD$Whhz}3DjzPu~ari%Ub!1^3%R^@22^$B&GSo$M!N&f&`w!Q&dXM zZ2#u`bNrbUEvpf5TEFi7(%BR(YxR)PveP?H_aBX!?l0Vm-s}en=8Na>6n7Ut$bW0} zAb&VT%OZhV93Mq*Q(8`Z)Ia_F2K^sz_L_+jB=F>(o^5|O&g503TEVK)QwJktgI-&U zQ8j+7JkFf=>crT63qQ-!B|#$L@sMnK4V0KJ?A?^gdv4s*O4z4O8Yt=)>N6n_F%-p?E89%qL zpc9~l5vMe3Hz%0us>f~3oIu~kg@{$m7vo21XL;@^^W@ETamUWqHBo{Dy;&t|bydbk z{WBuk{4u^t#;CcCGy=6Se$+6!eOcZ7tz>kpFUe=31PLt~)OdSkggI?q+qgH^K5e1| ziL^qc?D^4!Pg2)+EN7;B_h%Fum821x7DR(mB79~jV z4CZ#&zT}PW31&-c#nvY0Wqed%w}e`_Qs<~x6#Ydq8^ToZkjE^$k+0ZkS zpXUe75$%B1+HSdNcE0=4k|ir%@S9YEdBnq>~89RNy@;Qa%aVec~5 zB)(-9ZMZ6$0`Fc8W6s`j=DLCVGrMi5 znuQW1@DAB98uznzWUG!&)9#&-;I#A%a(@-;5VwBHODHWSf;%#b1(2SBnd93O=eBzXLpuq|==!E)w$BPDhm#Ydr+!96_sF^VRy zQq(-t__K_s>U7pT91^%Yr(cgCFM7LyH?s$MQOpaq*ax$f*q-`My}$k69DO|YHpNGw z1PR=o8^-hdkNMBFekG$T#YZ85TDUt8tZJERRZ}~9Uau&|$l{d@b25y+V}6t?PBDs) zLW!FQt~eAQWsirmeyA2Qt+cR5WPFq?gX5!kRipSQi&sco;jlc4F=_C9w5lP2>j$rJT!y{YQf!7KIHC$A zZi36O35(WqZpR*4&ou(pa9-QF40~Uqh}}e>1lL;J4H(8d&faG(vb$b^+ z83>fP2`ji^{U){YPn>wbYAj4csT(SIRQ5*JXT^EQ8~tP=W;7 zf{c%n1jk@;|6mzh6CP(ACyL{AdRNU_Cb$d z!hKhSgzQnOA@(}GPvne8va@o^e5v1AOVK((5mmCUI6jI;3JETQYp9Rlk;+p7zk`L} zZliSI3!(VkIK#L%&?b(a|79~ukl3Mp!}LB8_wU=$_ekhk`2D-7Q|vOvmHdEe7nHaN zSwlN&Yl=g#e@BASpk?Qj&)7lt=c)`OY>7rl`u=^Bh-(EK3I2Bo$T#n|U;mr1B}mw5 z`?~r~GP{i6m!J4s1}gfD)4^}ex{07fCxVf0YAjS4NCdS)e3gxG%dEDLTJA0*D4}R_ zh^RY#pqjO^%Y%rZL?^nAs%5Rc^B^K9(TU0@>e4gAMGvY~K;j|}HndjuSo|O&Akm41 z^j(RZa!Y}j+5cQL_j^zhB=XU9?gf1WKc4*iCM0w%?%gIOrf?70!l3=^KOFs9Hf{n}tkEF^us5}lv=jvAJcxt&8qC_X` z_*%P1N_XrRnY5yWczYa-?nff6Jr?fa1E zMnuyy`saO_X_uReJ2_z{|F&cw`lacRfAa0P{QRKon7UPcEq4~&!Pi&PuTh7LEK0n7hSEQ7`~*Xi4x2g+eFVGFXlvLP7V|2VxBcof<(!rlr`HgiJeHZ4(n^Pd_J#@6P5#SuHz>c5fFm zQQ{^(c&Dnb^zEC{n&@{YTXz!2#_9yqN^6K{EYqbVQRs3`WSf8ci?<{8`cdL0e%f8t zH|M}FRK`c2rlx;%ufLe~xK1#wv}VWE%sxuQEJ<|!b9(wO9Y%_h>qq)g;wJiDt?CP% zd63FzaW*G1qvJ^N%Tk?ST4}9oR6(XoNFpn#c4Xz-qs4rqk{=~Vuzv*4>*v@18EB$zL!`FgQ{?Y=;^dz5S!^Fl4Y-h}4LGje|X zc(z;AcA6iZXnvps2~IQdbYKpuS?ea0mb^}$p|JD}&Chp>(g;U_`N}k1FBI@41*V0G zryD(M*9r+o3%wGL2E7e9Jxu%-rTZ()*PFQ0YC?3uKpD@^2or-{1ZuqC(EdCDTjVocbqu! z+OjN^An`@j(wn(fMjl^+1Zweh?zguCeU(EkPob8h1c^sxmDpcGX0#-7cMsT}BCZkgoc9K-eG~bTp5#kV zg2Xq8B{wsXAc@5DIZ@v_^8*RglGkb0<_pZ)3?fR%=6P-eh$lyfiIxe^ zY6NQK^(9Zg6DEeab}}vkc71GFFOx6nWBZbT1c{riQxdpV_s8=dj{mw%2@`W0OMew0 zQ0uLvGcKa$U-4o-?GsUwhoIgSvUj~s@7{M2l6JKGaW%a>9-hDms@)Pw+yq<6KeyCw zDVeO~I9Ul2oK{+%q!gLHD+yfHP~s-o+TW7aUf=Oov&nXm;Iz`pX)r^kM+Ih-TAfki zCV1A~d6#!f{Kq?h3$$B8g40TCQQRt-z9osR7rRBW_i04F1SLqIm$1uV;u!fWBv7kc z;!at{%|NXbff6LblFmrt?*O58GDx5nU*~>%BTrwU1PM+vF+vi!ez*yx#n*ZKZw9PH ztvD#bd^yd;-vQ!fva3U6S8hUS@pZP{rqXu5qn(VhU6f$HoMz&wfVJ->U-A#l4>zH- z{j6PvlNV}{_X*5@+e+RY8zy>tbkBf9 zPN#po>`U$h$_SefCagG}K&^ufLVP-*+JTZh1oc&1ps)BYwFvoLBxKsrqI(7(_gie9 z@j!{2;L*Gq81uF?=I3e5k>Iq_qI(gUzLLk6pu|nERSuQ5`}4xo^si_g++T4o-$w=V z;pcY@} zz8Wa|YQ~wINac4?f&{0TcvTX(8n_9i#n(S1EBQ-~d39P1_}+O6tp+H;d^yd;9|60{ zpnXYK+LyQqrN!4{$#xqDtUZM+aSvG{N-$qe>x7z7ZbE6v>ojZs4$NAOa3q+oOl!nG zI$`;q_9d7XYU#dYES=(wO$Cll~8NEq!0`C_Sz8?sh|YkZtp?}>_H^Wv6#?h_zT zi%yVyQ|WAJlRR6BeeB=ZjdU8-olc`P3FON*_8FacU4Mg5yuM2qlBrI-Gzk#0JQ|Ni zay+g-?~7YOr)t;eR4otTXz}%at*iR3-_1v5JXWepW)~X4Z)pTI374Vrr8JNKMQJ5( z)UOe@V)o18R8u1lp|m)s*pI6EeowhZdxn-5Vlw%zXcAeXCc%6u&34>hT6>|ES7XaQ zHAwtDU|SwSX>m?39Hug+oux7|mlw-Sr+vve@+F!C^QAQVm5XxLCe@f8+j-`j;>V;{ z@(@akbDB!0IKQ9ZQ=AXKS)B30bK}Iay$iB53FOPyZ{H`vzs=b#Egfw0^4A@XyhrN2|(t2&Khmq+CW>S;pwZ+L19te9^M9A0?PC zpLjA+MiRWw$RxX3OLm0>YVmdMt9i1oM$viVCL$^x( zD@u@%X=*t?b)Yye+99iTFc0Bq@%7+%aIGHHyO=MhnXqT=rQDpz_H-6LfX>1(FVy1e z%6hm2!!$gxUe%IX+qj zS`3dzPGCInNduqIvz0tcV<4~7Xci5eOl+YMEJ=H6lprC~L=*`S?P;gKfOh(M2uDjl z%UJnbv-C=IGBMwE%8B{XPBxqG4eTU_S-8_G`OzHEXf8d3x6we>rQ@)vT3-BSAu@14QA| zZ>1}Lm4|S&_&V1%RJMHe*@5ZmDF8|^UrzI^wVz-$y*V*mwcJf8Exyhzx1UF$FTs4> zmak~;Tf%AI$}r(4?^Be#4@!`bX^ogcXBkK7EF%x$XzAXE%TVhF z=IgE@w<9US$>s+g%0lQM; zffCG@(@fY;;_!^jO(-qC&Q>y2+7?ewNx9ujB7GGz(DjL}JsdW$~ zm@lW9u%C>EIHv~bbTZ*4lvdt*17(R!@I2=yZZhqR4L;4{b{mEo50tnG?zbX=@!-3= zA8FTz1gDi2KFy-v+jeFxKl4I~o8W$%92gJ2o8V_GNN`$d;nOU`!0|wdo8W#c6c`Wn zj2;P2D=mDQMNwPMccd;gUT2AHp z4Gnb(}oSRTue4S@k@F}v|`(VCqt5h_XKwsMYBVOdLa$4?K1Lw=O%l(5rO_8|t zob!2V$60CzO56mOQ6S)b*kAF^5(!Q#Ego}D+ann5c%S#lm!QN=aLa?wgjLH?3v0z` zF2f!VZaI&+LF>7!m1EUteKH-ec7FP*Y!{y*=6PyK{boN=&P(|#Bsi_K@Y$_hhMMOnaT7cq zqXXliMi2>3D=mC>tFN^vaT7cqcjb8C`*28bT4~|4TYWrGf<)f&C_ugYyVJX>f3SBs zty{bD?Ob>EQT!~P%iwf8rR8-R*?aPY9(_AXkdSF2{*}a&`OiefE(jBsYdvc}qj&N` zEm~27XZ^D2XT}iWdIpIE_XyjYUB;VqYS4(z878>ifIuyN=FNotER_pUEk{Wnf_lMz z!uwx@q#Z4Mjw_pCC@+cSt941e#b^w^K+bR`Jzw<-uhk6^A^HSCz z(@s0Er}gnbiJRauZUtJ-Z@2OLB}i~uY4ON%+8#lCqKFbV!7aDnfOwsD0P5}zwXjy4 z<}!lgp~hU+%CTy+F`0g#wc}IvJWuth-|Q#u_|~K(90?LKP1l3(Gbn4%LpWM|o!fC; z_U`Mnhf^&_3FgabChYezuy@^r(&FpfyThe#cN0p2`Er`C+wYgKov8B?%nP;nI(zNw z0pG6fYf*v(r*xLF13z>Gt2H$P4t$jD` z6BB9ggAzBv{dO&nwIji4rA6mKG97$pLY>^9#7%JTz7|+(Kc>CURNDI>!D*#MXG?*% zA?$Xj@j!{2;C{Oz$0MrN^z?6O?{jR4eD^$%7t=}$-)%6A3XyZt3)C7XB6cj#LJ1Oi z$3xjJwibJr)7)>iwd36#*PYi_epiLd;B*s8%j-0wj3pS2IK7iihMht!`-2sJ`ytRXyJPf6l+PoM4k1a#7*$Cbo)(?vA?uS zA3*nNsdTS~HObR*XKV~3{g-a(wP?Tl9@R<`jsyvr4iHsy2Bxd$26+fai?4I7a^)Os zed?`r-oyPtdpML}zMN*evfo15^7q8_Y?@IA=?vLTC@sFuPx$S3ituC`^L1OLqItv( zV>gWlM+tFW${J+aX$SVSVc@EU5;wsuzZCF3JIP=1GkPRAt+aS#gCmGfcv0dexaIa6 zLfj6uMxhqgiqpaIU_#A7Su4k?(Z*z&uG??c;L3^bt>k&@h5F5YzXZ#`H&2j|X(H@5 zgr?G-L0NkqLTS<45Zn&?{Sq!iwVVkh!F)N**MsjZsW+Y6L_mvjQg4nJM)fP*qL5G$ z%$L)A-G2XyYo&ZUmw`k;i>|9TN9?#FwbnABB$zL!gYSND8RO`wy)qSE|6G@BLUG%PofgTPec?cRC`~5_&)r0PF^6clRyx<+neDb>oTz*&H z6_XauN7 zBj1jaJOq_tKjCHOS+bHe+e!lMkWbvH9sFhmKJ(Vc93^=OD#MNj#G2oSjpPAC?Bh&okn6L8=aAux;J4%q? zG!ynSVJ<`Y5;vi=_&V2VefJvUoLPQA&*=@3eS`Er`C+h?yQ=EnUV2i<1?JRW@C&)2zzBlB1yO7NtB(@fYWEckrTO(-qC&h4;cOz?d; z_dO2RitlUqI@7}fR!rKIEi8l6 zOxP<<9PNXb9>jy{bp#+Kl9uL&QT5+1ouvfKroLHG+^hA-*idn)@f1Kvl^4T=55?rU? zZV4rBg8MLddan8k%RpLRaS~`>qC6aXYR-$#COOTu;#G!bluQTD6O|W5iJRc|UClEd zNN`$dk%yCM`#ce2mr#O)J|1X^sD-uSG?!Nv6b&y`v6n07<+QLM!0)A*t_4q7A-y>7A^KRUy^nC z$#K5&M$eV2q{ST4E=d3R5|(741c}sMslHt(GLsW(& zUcFjfSoGiOkFPZXwT7G+>zg`(%INbqmGL2Ie{!X|n0@JMKT43;JhC4)b=VVVG z`XBEft`VrEpHnBaNcJqRp6vPC8m>i#A%#W zeJRy9HGjBoQ%^p1j%=Ik`7AEk^X`t}CQ5b;CaurHe9>hK?a*sgtb4NOuMx?fuG{r8 zkVt(i)%RShFyHWp3R4+jFC=^T|5a)^=7n1LttZ1MM%qW{zX$gf{gx^HqPUlT%M^)} z^JRSW4P)=Umi(3f<;lsO?>Z)XcDo4F;$Q8e-z@jqznA)07iu~EHzxumNTi;;@1j^#GIkYo^`)G?`d*qxQP-ZQrC|5 z9s7rfGDV13MJ<2%RbvmJG6&>T7dXHi)e=JPIFP+wUJ_)(9wa}y?X6N@(eK)_T zoXz!ZJ1x~$?q22WO9jq?CAa6jvroI>)Bo9+SZDxLrjz)!FJrdRamw? zKYj^c>$y{{dy^uwbON>5#^^UKEZf?DeSEFQpue3=fCMcO%QlSPkbwHSiDR8A`|Ngf ztg_bgYqjoMug|n=r6fq;e59D7!D~IuDqU-`(P_CNP>Xw^{JqLP?l+3<>q_k?b*0IU z2}4Yja8KXuNNe^3?xuXUAMob zN8e(VWgx*4Bvjh|;_9FDb-#b;p9v*VzX$04oj{wQFZ`MOU+j_8O^UE3A@IwB56iTD zoxXZ1^XD??3z&i52IMsU`jjer`Vu4mlHva*f?6Tj5%gtMOMO{YD*B7ONxC3HsuycfI-+t40JRIziuJ_2#25pXP0O zP~sx!o0*@fZ?S4+R1QdVg1)%wJ*&ROsu4knPH?|Hc+A~|vY6BK&CKrdTda9|S4r$L z6hYr&_3l>RV%2LEkhlo?8fH=TEmoZfNOXd}xJvC<{ea#LN*+Y;*Nxq_i*`ldNwsXt z2+ozf1X?>1^!-%p!B&DqP>ZaczRUYyD+x+Si@wEcTgLylR!GnnP%Yg`=!?DlZQOu2 z;Iz`Ze;+-A>Z?(ce~;EBL4xTB`eLtbC5qU+V`?5Es6{k=mshtE`eHAC!xSWxrf>1G zW$0zAGR_x{jM61Rf^(wpq*Cv?t;9_PwG_ct;&@TPqtAH-Jx=hO+v>V)`41v&2@?37 z?KdMs#KQjb;tzH2Kvo~(Q(uB!xA$RR*CtO`H<$9)pYdzcADk~K`kb2?ekNvN+) zBT@2LF<<3MRjvCc_)F0DmX#Lk7QYx@z9)aXKbRM4rJW#x{BCnU6PL;~6z_Z$6JLB% z6B8v!v@KlBcluJe71oWv9erqXw5U6HK-P?{(HenT4RVUgGQzen(V~4z5nbt%_?O#N zFj0cUknKf%UE4ijecN{l5d%-Q5lhO?h(FW&5sg5t*=30MKEjH5d>IjKzw9U`O-l4E zo|NB22@)y47xA6`vbwc0g}*jE-qNT622;3B@RR#i(>Ur9vm76U|w zwcR`~)L-I92@*qkP#J$!x5`ajMa0;-BgGfDug6z-I9Vf5YsX_myj|4_6Q2`NV9rP} ziS8ozjJckL5+sajRI5Lquxc#k?+9-=KSumk|7QH){&h71wZg-S_!iE5f@T&Iw`;#4 zdQF_@>HovUrkVuuo&6To>Pl^g`2N)qqEEA_9`kUOEKLH0?2(PNtTtiXj-@{g7S&I# z_58A9vPPiRkamW*xOeaU+E*k; z@AE{q)d|$%kzM$0eXIF=uGRR@I*Lc8<`=z}Cdx5a5+vHrD(XA^Mg!}e<~-)a^!vbuHRFN{C)oDj2X(G-l}4J{{~`p{dInnAhDx0`IVK8te<}7`O&*|RWa@5 z2I5*1oj|SBF%SDHPi|txl;)Q2Tw78UxEd$=r0(>i1PR;6sPDIzC{aNC+_t$W_+y4f z=vws6^}zSrb1vNQ>>u9O^U=?pHJ`|Y`tCh?J9<;3S8*}%_8`yhoK~hT2@+h}g(qrR z_qVf$D?6~F_+(C7PspM~jX*8#!^&%FSZgoy9`1$bs*2h**LgYH)&PRQ=l4xC?Ao8`^gfJ%|11d1u8UKT425%cqm`=LU%7 zO_zAO&+VoWsD<;y<-D8*5U}YEy^TkF3P1VnXaXPk$N@Bv1?c%`ny^)DW*^U-i^^telAwBobQFs&=-% zRW6k0$C8@O#IQwsJ&`mXNT3$>8{IqCY9=ad$S>j-@Aabu37qrv%hnych)aEb^dzoY zq!FlvJx$*Vf4s10^TZv`hDG!{>%5-BFFVkEg8VfHY?EQs8e3Z2`?jE%xG=)hB}6;K zx_FxB4I-`F-`IBhdTNNMy;nU?lq;tZsD*8!UlNJ0A$C4iPQ0<}svjjta32OeTvzJd z7dGV=kEhZ1$e`a*3wwdSL{j`A(fFJ4qT=rIcFW-xD%5XJV0nfyE48#(yD&mj{kov3 zOM<^vA$ug?6Hidf$CoQ7%I?1EM*_95hV-=kiNfOL4WW^XZqiv#>tCv6p#%xs;TT4z^seIVj}Lgxt()aRE!=DA zMEZ@f;@-Fo@n0;>*sks23|awbch5UL+&>z|dLmw3l+m=y_zn6#5eUwS=`Bsz5;JIL z`AGk|@qgC6sS%nM?En{MgaVYcsH?cc`vd1WVQJHZO>}=21wZB#68XH`3D2qiLXnxj-Rr+w08f2T5LVsa{I0* zV?|f-@Z+=nS7sgXW8IO!^5_?DKZ+5ecrnlP!u3sQyUzU*-bdkm8~v6k5r<0^^Hh3B zCr}G_IEHbxe??JYNn6hn+AX0334Py{`FTgt{PRT5;K}(-UcJ;EmR3XFQwR1wb3H<| zx;M>Ju5(3g?}G%EO}}{CYJey>y_@F>-Fe}i5SE8K99q>nbP>;gw#f4`?Uqo21n#2f zesJDMVOG8#f1z};Uz<5#$GRov5^?xkdryPq*R$|$3u~zFmKIVwZq;1k8L*(6ZHdnP z5)xQj`X72r-MH6 z`@}Z{pAk)YZ=xS1NZ@RyZvg;-5;ws$w0&Z!B7J2UCE6U-JOk583%!J4{PB=YY$gIF zZh~psUxlt~C(9UdqO^$wriqHZ^XS`xRFLMt+epWiQXr2 zh=N3*#7!`5pI@CmURt(e)Vg*W!E{h7coIfmBz1_hMA-W_``6u&;51vMT}JW=yNntS zAc9&U(n9Uu_Ik`A+B$^#4KK`>(|p}7W0lkLc&Ft`f&}*hU$=WV&LP$~y{jZ{f@^3K zG0q6aIU}eD&R1#iX!3R2N^;lQR5stF+iE`MPcGNT9?` zFl`h2oEf!-<{%QBR$4r}xD4AfoN@@^%vvRJ6HMF0S%)a^l)<*drQ@vSbdXTY+$}@yMfKV;RelrZ5=QxX4OO>Y+YM!%aa1&ex*AT~_ zyr^S|!yVh@eA%jz{{ItP2HPvzv0)@xrA4*b?aX^sN@cO6$Al(wHQ*T>__egihkZR- z#Cm@UF)BU;x^JVX&e(x^f&C=rQf1}N~?~mjml-7<*5BnlQW4vLn^XZ4V?=??{ ztu4)*6(vkvg85Q;f#2<$+@hq|Yt}SxoWAFG69Fwcf$Whl%G)WLcgV+<6&4k*mp8+2 z(jC1f!F=hr2m`++*t2_CQS`~eW`hHj^AJjF$Ud@#e)YVwqWCOh#mA*Z->>ibkN#f6 z)Fr`uckF-IcP_S`cW?@y^*vv=l6Wb~^lvK^sS&7kxjzwcwY<$U_&hQGhvH)C$nE}L zstXe(NU&7~e<5-5{D;Ih)3*52zDv{yT?>D!F|pSrPp@nFOk-ZGT%%NLkPsEb&%V@8DOt<=Zw_7l*^U z`28c|Gy=8O4WsesTgw|dicju(WL6iG%Xje?8Xjk&1c|o3V!nu~)x713GZDAJC(eJ^ z$sZeENh44zZ6U2urD}O|MzLKTC!*xsPW~_=P=bUpx~Q+m;i}$l7uia#JkdqGQT=KE z`f9iRNN8GDi})g9YkEIe&1bK*YjqK!#h>;MtbE&Vpak+wIYBE|MCZ3$=LVj{=Z6|EiVx>4&3Z0_?u0>tgl1#LhL75bsUv>fp8cJ@ z3lHQ4cEu|vU$^&gm&!aXCOx|*>y=AYlKS@Qb(pgJa3AHe^LaR@dx`ZE4BOC**DbEtJkn#*Gv+h7a-=S^b)3yGR`D zO;&P^eESGKfvob^F!9O3DgG+$%4qWgwQz3InI#dk_fGMLC6&?UAQC&aP#Jrl^!E9O zpWU_D*;`a-vBY2a_I!=dw9v;G+p~L%`E8f@H{PAE`4Ww2TGY3sZe8y~bNR%p{rL8x zdBaWq^G}`C2m`b<&u3&$X)lgf+T@RqI;;CcByx+=o}r$%&2#MGPG!c4DW|ji9cz}+ z{B9a(q0cvr@U3xT;V)VK94^xr8QsS&89uWFxP8X@lXoan!Q zv_m|Ov-Ad6YD+7@v7uTu?=N~!*zNyx@`fywAfffNv2|}Bv9sl zZ9}%*7gn?r%a4>cjT0YlM+p+_OP0)ucFMSt8!d|GMw=gq+Zusd`d)ka;x6LU%a{D$ zr4RILEyvb^#TdrT)m=orr!M)u9}V=Q^diPA9|MSnw-9N{~1>fOZ)xBE7%0;r0Btk#$A;j)lxOFBCM9KrOT}dJ;Fb zt_W{i$UO9GL2aLigubiY(DPZ5{Z)DMm9^FV*jgMLtRd~lx;`sB^t|hSW_3SGkO)s9 zPyIt9ueq0fNs%=a`*A74+>}I5c%c_jORJ%A?2BmeOKyaDw(TN6N|4a+GOBm2C^CPm zVeUJ8UL!OuZ9o6h%N0fc3pLENL+Ab2CrIe`3|GP%ipDR-m|Nm9v#_;jeON=oc<8J8 z;`odvX2w`63nfVC_i*z&RT2emCYUY42l%|meSDy?8zwwz7}Yqvfs36uoWwq2>`s?=Bi zL9oRrtzeqV@T_hpE}XGXY*7+S+twa@iu_*$+pf|IrnwAfMhPAblmyfEJP$q%|1W}P ztf9!O|f$)~($ z?+VqT5wu=O6LSh1Zr9285W)D>XeZ$HRu^of<$ojahHJvYMmty7q+^GQ$_{wa410{xca!u zKmxVA)hGeBxZd`=A7g;CkgQ0}0fsLaRYow^yAq(AsrLaP7-St3jACCFcaC_#dIJ*WMc2M{Phf^DJxoYV&p zC_#cPbZw*Y4XQ)4U;)4i~XoO+MjOOiK_6#a7jL2lKR6l&u z1Ij=N672bM+dqgv2@>pGA6y1Xkf<_rZ=kk8%ViIT5{>A%`#*ZO3P_MRJLud07(tXE z(S6U?U?sf=y&tu7cQYByiV`Hmp0BNjWLI_+)T58CiK=(IPaXobysz&B+pU$jHfrPa zej9oHKnW6IukW}^?6wZk{K!k7L?edmwHng=cmM$sB*v}XXEh{i z&r6^LiTn2tSXao}b%MtOB}jB@d-wrmFo6;za%LX+k9MF02|a=jd-wksI}>;<$2{)e zwpL8amWH;GJ=HlC()08rducnOBFRu_v)5QUh=@{(vZaZv)f}ys&U2sVSQ3RowxkRZ zBdIVLy#L>|{;qSb^S*DNkD2Rp{@3^ZUHf|9|0g8;myDl1y{?ARWeY#I>C_Kvs6nFLsaGjGOGEJP zjtP#1QkUJGA$WJk7ABf~R<}}icZT5I9TOZ2Z9#T-hIsTAzlLKA6SAI@?`zu_!qx_A zkO_{37Am_tL)r#`cNfuMf@7iI$nMS%yt`uy6AhZysg%>Nhz1iJ z3%yx(cZT?Rsoxv0g$daeDGvf+OGM6@;8+-yWOr93Rd&4c7XMs~e6qWX5TV5r7+w97 zxCTRuCrX8oeN-;Y2kM*&j`gRE`M#`neo|ZJS^O(a*}_C}#hV4$c~#Ls&Y9p?n2CIy z*By6{*I)}jx8KTw?7XUIs8lgQu`oaSwtMm04?B&(LPUiSvhy+;FHKI1e(1(BcU> zM=8k3M5JAX7EcV8eje{pp~Vv$W%Tj=W77gZ`h*rwU?h^$^GK?g;8+`F6!rasPbS#H z1V&UjNsnpJvp7~WnGJmZc;ga(GQk!mFf(kB^Tg_-4-*_~w#;gBGGU1B*XvmgEs-ru zV1|>E^oRx%9IHZRXE~WL1fNW>g$c~ma*`g=V1i>cleL7LOc?=SbDn z5)&LtPN2na!sU@vg%W7S;ikL zPg)cqT&%%z`XOf-hT#4YTKsb{x62toga|F3z)US?01+az5FxX+oB_m$z~YJ7avCLP z01+azctToFPR;-#L}>9ushq0CHA0Ig5;>oX=OeTbAt$Lnh&QY1XMG_-vE&3YUb?tl z@)l2YkyFli4Tcs^RLDtcyp@C&Pi&OaS~ zX}^*&HK^JZKZ|3bW__LyLOaey^!FR z$Y3?Lgn#fsAgCe`FUb ze`G5^>Y2{FY~O5m@p!@n$0}_kC)?sB?R4cOt?9G<(${a_H7hBG|}#nV(rc$y*$6U{!6Gg9$p zb+htj^+EUH>CD6CWafzP1SUAv;30CdE#CJUEAM-!3-QYx7i6++=H%JJ1oS=^pMXy* zpMcvXRrf8tATv(f_BXho$drUEjH9m(@B|#=?Yn@u+Me-bltO zZzSt0N2N#nZ9?b8oy!7(W8r+Jg?I{StiAxPcw1`F^v)E(yNP zIQhwo)5}M;?EKqVo8S+?oRU9YU;_0tMEoZnuly&jy0Ulr*7h?yA2(NhiR1{5h1P>q zHCJ98pIP5Cox1PcogWb&jcj2;wHWbIvQl|<6hDxu^#jQS$3i>)TzpM7SH30}KhQDF z?p-hQj`%NO3lk0Qu2!rB!XDdA6tme%w5($DrMDYWRrB& ztX`Qmk914Xx2=VV(KptwoFg9Pb}0w()}>9-o%i?3obu0*;8++}hKN_sUzAtRYtG#( zU9|tG%*UI%r)*&YqdN@oqSl@r_lk~Ckos1Y++({XK9JzweAPywQg+Z!_tX| z9FV=_rI6rQTsJavW)4eRil4jV#LpdDm{5A+cd)neJ6LhbVR9$2JyWl7NN_B!nU2DgD1L08WK5sX(qby{yH(UvVW6+;L(R`Q~VSiTq|w(P`m6kZIur? zS8J-D8}H9tZsHB`x`t`yu@>2ZE5$QjP*c*+4Z)=#-*fI!JNx&?2qG5L^mLGHKshY2BlL&CGdB`8IU1l!oz?9TJ&G8l-pM z^-5;s@A5S{^5JSqGz@_j>PPCfXS7W3ZdaB$cu1Ro;8wM`o>PuD{k}<(S~WOB?CLJy+rw}anHq?5ya{6zu;Zo}#jx9{!{tJ0} zLHVHT@YRj!ejQqOKJ=-d%9-F;;;pOl^P5{1nkx^=BYwImJ#+7uPW-Hu@^j}bO!&J= ztf@x}al@etJ3qYNOUuJ&>6E~$IB5Mo1Bii=szJ~G)OqMO<#RdEu(6QZA>yU^2<4@D z@sZc1eQzJ1S@+>LC$fc~i&D_8TL|8P*+=)<=&|GsH*hSSaj>m|tnvg+F; z{>bL z5w4>C{!G7gyX>PTKGQAF`DP(Dx`c@^Ri~8jMmw8@% z{8ru9*!>x=KExa1*#puhm#xb@{^X;1wr~o0O_U^Sr;kaW`K52>s#(e>xohp*j(N8v z#C>DZ=3n;BeEIm!a<(wREmXd|msHIb@5Y5o#k(=>$v98ECQ|;8Q|k|zElhC!WCd{l znDox8c6P44Mf_#ZxWs*)$FU^2K=ScyerM;OzZ8EN*rl4?9TS{C@j4_uYRB%Mc0S{< z)p^xMyXk!&=P6u~Eq%IQI(urj%%u}|P1(W(=PyYXzpuZ{+<$RzHB#fv3d{f)wZ->R z7d0Eme1*U3-%9xs--XM+CxyUFW-Ux0EWVd2G~IliCRQz~PWV`UhD(w$CRJUGhMmdy zxd^-YD*0?T{S|8+@f*b!CV2Ldk=hXOG{u&x1X8GXsaGx0U*lH3+b|$N+gQ9qPLiVx zag>x9TdESE^=^CKZo^dRZn;o--%~k+1+V1}%Z-+E}Pf{9U&aOZ-g;wp1lRYof%o#P6l;GJ&v-g;og--P+G4 zf-O}E(3%jxgDU6nJIDmWHWqppH1x>uj3F|n*IG+e0<fCD){{JIv zEY=f$`qa;nTWFvZ5zFfR{}VRnTy9Bno2m1AO`YSpXbr3v61JaXWZ-_svAF(~w@_79 z@FIxT2Mx4prsD)ghN=YeffRB(mRarjhUr_SEy^FiGn_woX6SWz{mNP5`RfYh`RmkI z>!%&2-dFznQ)j24#m^;*cE6}qbnsu&1Bdm>ANxv=>V%24@v{1r8^o{L>B_HKljZf& z_g);7KYdNlG_;6@d#=30*g2sN-w&4dH&`T zv(*S2tL!aFmH3CdVle!}wLN@m{^;L#Nnifw@o8w`=StZ9YS;W34b#up{g$uTd{}kD z#2UO>-c=K?byJnsx(NgKOP@ZnR=UUghoqs!KX+UA`jvykmtKG6OYi*BW71>98_DJ` zb`J=SC4NmR4-s!Yy_L6~YsMWTUPAUrCx4|po;V8=6~pUQ9wI(cwkRJdcYJ+HdUDSs zU9Y{WID%ts>m={>iPxdJ%Ii>W%PHw@eUtRB;<<$_Oo*3~%0c4mh zST8vjZ#^rOx1KAW?VS!;-7tM^%|pwX;8+;1^jnkAxK%v$;J*niep${ICNPTXcOXH$ ze@NT3(|H}!rq{oy?xU=Q3Gswdxk3EN6qG-i&95JuescS9>53VJfZ$l$+Dc0lFPk4J zFPonZJUA`h-X$H@c4VF{Of*<8V~P08Y`YmZCUs`-oqlv!&-C3rvH=ms+OtxA-@yD% z+_2r(9^KL#20fq&V_~ASp`=Q@Y#yQRST3nu zKfUwquIaYtmjpx@3!|O=9lQmXHcZcH*goCw`S%oIEliYctuOtiW3IXKvU&1z^XsL%59*ihCtlo;DqFe;+uzsYnw8&US>7W znDp(@BlGQ^y|SDMj@9f?(GYKl&na(+udlf&eXY*I^6w97Rn8VB{G030_}?=($;>&X z{PIVi3#qNybLrNy^3WnFQENlJl0{grUJE~sNz1Nz zynO7c3-U}LRW??Gi$z2HKpt@jdQ`I$u1jxw=Kd2a#2X@8m{8>=8hZ8Gt#$_+fu%SfM3p0vwNq%-1X)1uU~1HvV{qZd?*FIdR^J*U1;dl>z1F7Ouw)9M0t^TLu7(ug=?bg zUTBpzK6F6-e^;Fl5F9I9;jB68;B-UVG=FvNcEP%YR~)milCgc*5xISoXVvqLIXL}C z`!wHF{MNFCiEu5k@`V%9bzhd}`yVF$`si64YsxGs-F=S8ZTbi9qxN5ZLVD!Z@_fE| zqm(U7gsY6bZt0tjZMQi8U-3K01jpL;L!HV)#Ix!H%CqXaoBO60w^^JYmf4hNOF#sx zjQw7}B)#~wIr$I&E&dbfS-j#9AB~lVh-cLo{y_iu$E%m5TaTNQzi9Uv@VMwKOz^0b zBp>|es&rf7j(m%IlvhVba4a4%X6Fe#<$v6esy?J*L2d1bMn`mcyQ3#xm9w_im&@+t49I^g9(&osMA#CqSlBiF zZu&X-i^Q8Q_b8^hX2sLgbH(YV?^>j9Wt9&)x4Ppz@ti2$lg@9F?kWD^hD*-b!bF(! z_sWXX5u!1yTd2V_uQ-zAE?Jk%`msxTOC9Cy&8=~m;MG8q{C@a=w5aLH`Rkhe5{z(M z3SrKNwi=MuYjAS@#=}B_V{r?Wv)A)aOSg%Kzr9~;mFKk~uU^A^)E#tMdfke~>F_UG z<$2x4bV$^`aCq9Pearm6K3Eux?K}pDsru!j;py>bw#@JIa!7D2?l(!&@4YeU$kv<7 zKN;9JoTF%73W*EWj!A#rb#wXqcZUSW;(jCRT{&C&&(Yei8qcrs*%{yC+#AY zO<7eVJgw`)e@)H=O4M571T^4h5dEw4MW7Gb@66)_G%lBs;oV~G4Uq{SMl5@> z4UOSKY%~O0;sj{CtBwEF|NQFSk6n1K)rb+eAJBKEmSzIsLr+}T`CLgEH2jxgy$U`& zU1Ggsz6|Rn;bugzB~E~zA?NJ&%$*4zp02*()!&jq<6a{Cw`8!`lrRB}ty9M5k3LzS zxijIz63cykh9~`p2)4utXuLJ_!+Z}JdsTh#vs_qWxv$cov62b4LU?Q+Y326K%W9~LH?lR%S(+mDv0BGzQ6_v?*N6VviONb5C?9Ky6VNbqUXAdyZddxNEohiJ zR|M+WTH*vW9+Z}N$XYWG65(mxKlGPq&_IusewanOLVLBAH~|gQ2dfdD*8N<6`34Q1 z&(ZI!B~C!Yj0{SH2_KeNGD>I<0?=TBEpY-GW=vEXO!%r!jyT18-f^%k2FCQMmnWFD+Wcv||o^GspN$`Ndd6VQ-4&q%LQ8cg`GXgF^Yrp`S< zmN)?o^d{+5T7wA}mVWL$Q$T|Ww)m7V0S)PcS(yiw1`|F!y#PM}wl}Lj2*2lwU`w2U zhKwayJC-ov!_v>4XA0y4xkg^p97UEm0Sy@wvoa6rF_8%WT*4%yiOPqklIkm@So5<=CIp=5ju(T`Z%K{p*a?N5r z3W6wM_1L7@Qxech(YTH*wiRlX{LRB2k*hyG@i%1RT?`$aER zqSXm#m^!acI9j(W{mm#eOr0wN^=vJu51kSwpdo9xtX;z~;lsLr=&wwnA#1p-UBjWh zT1%XOhUtST%8Cgema=j_IiP|5hq+LdE?MFPG|b3QjquOa8*he`6bbJSiXW8d+s_=Ivd_HO-pb^h`MX;~+rH&^t!4|K_H3*G( z4ORrD>uVDl0U&@uMaJ8u1aXLd~ywwBvCX8cg_cuqFZ;W>%{* z?n+tFDC);~Xat0t0cs+k5ub5{aI~}%HxELC3AV%uXvAkuX(jHtQdVx(h6WRCi4#;- z88uSVvplWqL+|>itTZ7dYAtaB8m0!T6OQKf6*QPYyR!a0cwOTE4vqMVOt%tE^Ewe4 zOrW*v6=Y2WG)#}mqO6$kVcpO5t`8bapx;?boPdTIOOyr^KCDL{?@^8kj5yX3C!k?Q zIHkda59?9Xd&Ub0w=>b>mDXbd8fK){8cet_?}|`XO!$3`XhaEBR{E4vX)xi#h-G(S z&@gk9BG?iqK*x8Gc$R%G?`!dQCj36LCc>0e9wQLi6%#%zvD~g0Pm;271Y6<+G^7S` zE~<0R&vIdj<#zYb2ne=B31~=5#JQ-}V8Vr^pSx2LXfP32q69RgN8vt7X)xi#eC`7c zCj2>!^mCUICZHjCh@2EvsPk4mN=QF-=R@zp zpuq&5>nu@%$|{dO$b=8;`tUx4_zW54V=Zw48m0!71`|H4TZ#7}#02WuTH*vW_)MP( zALe@ll$EUEQoDvjd$sC!k?QIHkda4@)c=?YuX{fMAPD2@}vTBem9G!iD*k4E4bT#&hSrF-kxK=P~wv zaJKXP*R$Zm(Yf<8!=I022PWMrsgcXvei=T0kZbiNIt@r)3) z48fK-0gdib7pu)}9}_+-W#zmfLW9Rdw!{f&;C`@^x$R@Zho==}_hP)(L4(J3w!{f& zbdj65ZRWO*2_KeN&VM2_c#dLAoPb6v(HL*<2l-hptn;CNArBfn*W$U(5+$gt^tyxy zPwV>7zu`w^r3jRdwZsW%m^!aUcv`nB?V}MIy!JsoTT7gP#tdnREzAi$6F#i_hxRoI z4PL{cy;@70fQIRVS_^|Hh+5;vug0-lO0M-&GpusC-^i)guu*8y4LVJ~m1`}+F z6VNbYqRIyoJ}j|hw9{VYp<%{EO|ZqKgb8SvvAsIsXgwR~U*UrW?{P4mJ4=*+hMA+3 z1`|GvSoU}Opuu}Jw!{h0X0Fxw2%cr1J59~IF12>9RRrc&Z;276tZ*V+jqtSebLZvX zl$9gc5+|S`b)J!VP-!sX!=mASt-#c|yB}mroPdV3M0Y4RCB2UR|p@Zo8N!Oo{FG^7u@`$4wE324YzlC@(A6Fw~c-1(G+26n;7i&`O*B~Cy? z#>A}5gL+IP!arAX?tIEZL&ijRKggCi0S&Y%+)p4?O!%;9h|f$nOW1Q!O^_u{K%>9h z#Qn|Q_A%kY(yp9OS>z))vm}d82@}w`S~Tvrw|zwT=jwcDU$f8%&R!)Y))FVEtn#X? zh(M||t?NVknuP|RA)|b(B~C!Y)VbDR!i9Ca(q3q(&J}@rwid6)1T7tF^=lXqY~jqO6$kVJR!;DIFT74=RE!aRM4C_XqK(1_1CLO5F5m7BYu!31041T^9^r?e9HTq!Hj)AKnr zm|#nspt8!?dC)$~)4D$Nu8+z}6H=nq5+|S$U&-jw)wFIU-e*4(Xc^Xm8mvx0BfcWj ztwhtjPDDPKKnvIV!I}tY#8;NOwQE}UbG?Uy1{3J#*5dV;fJS_UEM?_rJzn`=8Dj$D zhqc5BXqXW$i#lh*hxNGYe`PEn+|ERgS6Yt=Xqb^&YcS!$ypKXzG2!<$dfe41VM3J^ z-48P1!-!>fVbG{@Kj?npJx+j*?;!Ck`&{1F;_poOeP&IBDXTn2Ak+sFJ}j}^t{6{} zvT_7l;si9L2L1gYKg)$BmfPJ!BOurkC7>ZK(ccd;;lk3--5CcomMxjBxILkO?1_vT~!@dUBZM9>-w<2J>tqruVmZ_w$8cTL89C=0S!}w)d-G-+VsCl!US951T^?e zp9vr4djph}tl?6-hC~0bze*A(pkaEH+T$?c!@8gQ-(6w?{mxqA1T@UZpfs59VTmQ9 zg#XPaCfE`upkYQhrNM*`ODq}f{I6OC1Y2B6n1F^EskH_ZF3h)Ns1GJEp6mUYSfT_p z`1?WsTe!UnK0LkPf7e#MTT3^JY>5-NgXHfAnegH11^>IY(BNGvTjB&X`1?U7d|2|~ zej^teTvlv}6VTxA2bu6;(Qvs+M@^=vJ10vcvk%VJH`&i4)M^6*3b(tj8;v2aN_37(c8fPC$ddA7sLZ^|&kZpwZyH0meaVi4)M^?*{|I z(R%)n+0JP29tY#OwRoBdXz=%gO!%Thozs(TeG&*)ja43w!{f&@b`mE_^@cm+s3x_gr^2 zOFx&l*zKs~?pPGTmN)?o{(g`NAC{cU`}B5nRr8>`A7o3MfChg*$b=7zhI}JnX9;&M zs>fZj#0hBd_k;W_AC`6{-#0W*Mw>p!XO?V<6VSMlz8_@5hjl*WEYoO!Kwnq0f#kzl z;slkI+N&WYmhfR+AAViJXUHfYYl#!k;O_?m!qK{2$@!(phpc^2=PFgGXKV2^6VNc< zzNW}I6F#i_hn#B|4RbE42((vgi4)M^?+2OiVJR!==W_aKG-Mt`A5-j_8A~6~= z4`OUrImdWzEuLlq8u6W11?|uDJlOnPXyBbxCNM8q3+6$s$Aqen=nk@i_L-b2Xz=}@ z&qqxJG~zk02==wU6wJG|uB_PN^|%J15wF1tHNWcGQRD6A80V)$B&u_Xv9aj3N^p# z(T>MmXfWZ&!I}tY#7An$IgPu1)P_btxY?j40vhodM+iqtyK?g&G?-vZoPb7r=9E_A zo-1V~dU`&G1`}+F6I51JRscF5`nkG3^tyz~N)v9yQWF6UQ-jqBN9%T_*H_SB0`1CL zP=h)pOhALza7_3xuM?qRZo{*fInh7#3R1T#t;Ym3OpmHYcv|;!z21ce6X@sG5+|U+ zYicHZSdUkF-3|>VFydHCoPdTI;Z#1D@L@fQ>iq{a0>bS~^mwK9n1F^E+qDK0F3kHV zXfWaTHKGwER9QuLUV8q}yD;7lsRCU`w2UhSZ?DA7sLZMZ=vYKqDZ?5+_uB(ET7k%ZH`cx>FHVA4ISv zPC!F?l)E2f!iV|X2O3QHa~SF8E+tGrgU^5-lh@ad^&fRmR*Sb?fXfVN+I023L38eH|_graL?pzcaOt2+RKqG#V zDm}_QSLZ|T;h@0;o@*^}g33zmyqNG|T_1YaM`fi5l#jK<322xatVVcRw=2C4f(8?) zXKRTQ(1@SV%k1oEzBhmd6KJn`rB@RH4b!7ij8{zfum5;clv=B|1GOpdqswMry6WgbVY% z8Z?-|c&_(nq7fya!QT)5Q{Jr<4`#AY>sj#OX|fM|C)ZT=gZR6Y747cW5+`s6$=?q$ z;ltAkH_L6N)pqls$~jx&1T^^jK_+}y@*%gR;@80BgUgC7aRM6r{U8%QEE;m#D_#+d z2G==T;si9fB?g3h?zBQqZpp=)gsl&1?QHQh6VTxA2bu8UX@!E^_RII~MuYnxTjB&X z%r{u72AS~TX@yPlK7;t@Fd96Tuq94FgTEhS!iOd2@|J~oDKQ#6CbA_?K!d*@WWtB1 z6`IRiB;tM3Xz=|YTjB&X`1?U7d|29*yq(fi&P8<}vlTH~|g*elQ>$t>+Kfzp*EpY-G{QV#kJ}esYwy|wJYVCuwaFr^y#0h9fOLX^x0pXr2 z{aoIAw!I)E*y3p>puyh{GU3D13Kz=T-?lfawWzxvWJ{cYhVhc7a?XSgOFx&l*zKs~ zd^9S8EpY-G{QV#kJ}fzxx8v>Ts`du%evmD30vc#j_WMC5d{{K(djmU5xN}i8wzDNp zK!d*@3<&pJX;<=ngP#Za%#tmhW&#@g{U8%Qtn=aL^DF6o5YM%iI6-Bl_G(P{u&xik zE zhQqh7ia>j{mN)?o{(g`NAC|I`e(u-1G7q}@LAJyRXqd4?rHTn3*5j35w=;q9!&>45 zH2C{LCVW^lWZd=p52*`xKggCi0S*3sFd*D>_59)YQPQR`8>pQ7{aH^+2@}xZ+dj-> z`dKOM&-6T~_k(yRl?lvC*5YXqF}?0S#WmG2z3!PK3rCG7pMp z?kr|b^bfs))a^>^F#!$JqpA^}mYlowE;N{6OPqiPuc?{vVLcD(bvrbe!1!S;aRM4< zgj4xo!iV)Js`nqz2ne?`k(TK6n1F^E+qDK0F3kHVXfWaTHKGwER9Vq&9}_;z`$1J! zMEL!go^kZPjR|PPcaVBk)B8-`r9y)Vzt60RFlB`^WK~v7_^_nP?W0XuIf5;50vb|- z?tYL79~KRFngES}AWNK3^+C6N{45`qUh7UpRDBS^mN)?o=~3=}kO?2=b026h;m={D zpSzSW0S!J|V#0@|pSx2kXvkQCUuse{$d)((4H@Cw{U8%QEM?_R+n~V&TjB&X__mJ; zAC_M0P7R^K1Y6<+G~y?a(revwrCqsmQD`v1mN)^8_(`htDEC~Q554Py1`~L$wZsW3 zE4A}t!iRNz=sg^jl_F3+))FV6VQR1%;c4Bj^g0L{OrV~vB~CyienKxZr=$7a02)l7 zz3P=-O$0Pdk4iCfGU3CzpX>b~G?+lYvz9mk4Vl&4{U8%Qtj8<8>w^Xp7(c8fPC&zq za4H{6_^=*#^?nc<0pV_{q$N5%CZHj+8b)fZ!GsI*y&5!_z<6$VcNlkdN|=Dg-N#?AfCHV>ESEsZ4-_*7Ctt~2xckEWN@thmFKKWgX%AMEM zt=Kk8{(h>2*X|}7P5YH(ejZkme_jZ-Fwvm>^<5{-Y*D#*%HBf!baqMRBO%JG5FATV zOQ|Y4t0eQ|;FA3P`7l*e_PnXc9&HB_1u!ozW*)BuUirl9IMxm8@sO9F2u?`gt+aNlFSRwpPjGw^wnun_r|Uh z{*WB5t5s3@uN%64@IQ&ws7^&lIm*j^_&bih~ zuP^O-YWJpvUoq_V}75K%#Kba z`2iIn!LdF(Pl#QcRW7~=WmQX3^}3|$B1siLms2?S%SK(_Ui?hqk2AYS+r6WtB-7xW zlKcuG*uuo<$9Cy@?73?SO$TR%*k^#$;DC~Rw<-k3x_SMdxt`75DWpSkLVPN9Ub{z0 zenBev=+LO^sC%9+)iEdABO{vF41DOozit@|z1`=`wLg%hIl2&1zvi1SNv5vX$wZZ}Y?=>11oPTeA-21K4 z79SU-Y++*c3l)U}S|fjTCFf)JoSC0rzhzplMTd}}SgUsy3J07%#b`{OzaroM?E}+Y zZz__Udka7Jm>$au2b?k0Xxy@6b^fY`jnc1f=nxPbtH+P!h3jsZWHe5F^5^{6@wL*8 z#}=h*VPgKJ&li?00fBtHbp7x7Nmu@!@AhVgfZ$lGZ+@}xL7j<4*I{ZZx0-u9`pNg`6azYg9wf_|H8$E)~m)EjsCwBr`gATDBo*ByOb>f(V(ob zVBj@IZ-6bEbAN!&6K_(y8!p}vX7MwTOXl#+PI_US~GApF4 z_*onaWw_wm^NhwDQXdsZjm*q9^4Q3_XK^gFo&^m{ zj7HaEny24iw;=OKxo%h1!UWpbf_-`zjZL!}ru_!4&P?B3w<||bEcAi}jk+6+MPnPJ zpKaQh*|bgf4{PD)qOY`mv76E8J@)r}X6)~o*H=nEr)P02^yURepKLV7NI#!8zE(DG z`nk0*fj&QSYG@k+FoI#j!9djhvP>8fLu8+VRR-0zyW+kt;hIjUh57 z-dDe6wv~*D{49)cHWo(Lkymvx8fM(h+Hu!fn7|l3a$=FuFk^cbV>>^KV_}w9@So$1 zhM7OIcK)yyCNP(@-rmM&j5_az^0N*p&h9I76hDh&VTN1K&}tOT9#wwdlH#oVCpq_) z>V(zUFn3hvsY1wq0ikIf3v;kf)z?FA=zON6>Mv&IwCWsd#G3cQoM&X_R5@o06Z6mg zm`Zo>{1Ym2WAU5VCM7|CPqB`Z))u_b7o}b%<7rb6CA6@&P~*#PMG&| zX5B5dvP03M$il?xabHod?RvxS8T|Lc3dsi%9BcK^FKJ{Lc722FgfBK`p4loR16cwh z{|${kkN&e^_Up4(XEyI9BQ+BgYeeza;Ru(tBOF^+6S2DMcQlG#_?H&hZ)FtC$tW5S z6l+8`NfnROSvyj*g`d0EuUlz0_~3z~v$bV5_(*00COFpW3Eze@PS(yiYzc@Dzo%I( z+0iz;_S~_Zrw*2~qGzq9SgUt_OEc$+TRLVF`FGq+m^r;AAcXd_^TzFMvnTc$TmB+6 zst`67w1X8u)~*290u4(bPkxoL=YvOQyT~fzF)1r1I2Ot5TO-G&6vp5#oLa-vs+7%gFm_QrztG=^mH_SFES)IRP58bZpvp5#ov|m{^{6~ZA zRiAIn{~a?YSpq`(pkKW{deiTjLD&4AKMgY{6BG-5)31;(m45#HEw$2ark`62`k;L- z`n+F-%gmXPnKM;0Cq0W}VN~)feKTIAcD%9{CNOsS-NY6d6Yt!sW%^As%$)vN91CM* zuw%ivt9C4GVFF{Y-xXafWBbptD;gqWdq7YujQPRN3-gECd9j6`%lpJ68PoWN&M(XE z?)MY){9&KPvGm^1?jUEB%`QeC6kmwx&|m9TcD!(wnuSs44gb@b_O_!7DkWgiDuGtK(XN zElhCzC&}hs4VQrU^UrZX&N&vhO8xYmAGa?C(deSBx&D%>+ay&z<{Xf1)329GA*WUo z`hQDPwlJ}%|Ng0^w3J@AW~Iy%4fL)WxtFt zr#4AmxNVHeIqIA(Ocag!I5$&v^q?i)r`LC|sR{^+HLd6Sx##7?LKC?ai(NjDs-e<; zVCnn*H@Pxd-6PDYmGi4fue(;l7AE@k|1LLL_8(fKZ`&qIkt)vePE~Z0tm>)T6-t+% z#j#56|0?&@oJoe5*!`^bC)|6nq^vaEyvvx}Q<5sQ_MNZ2k^AcQ87da1Hc9$^-N)se zEld>Ge@F7C=_DDx--)UQQC3WFtm#sNRxfNv#cK7!z+9as`3S+5C(?eo!yCO6NmVj!KQ~^n1{0U; z)i?L`Bg>4&>f-6qd~mEMUh9<`_UWQXs@Sr5mtInv|B9tbGJoV*ldIJ^6VoqRPVH*u z^`~}t_l`0(`fxrtR>?aRt{qEDT=2MS?O#etl9JQ%XjeP-crLfMjJ4%9(ZAfjIPrp1I`B z>$6Bzk+j#chHY|46{l9-Byad(`(OIJp~{LaOknhBBRfdl&-dH@VKnC)3*jlN+L%-w z^jHJeO4z~##>992USx<@?wagIQMObiM$6t=r^>hY(v%5=Z7htz?>yGgXmr?PrYl{x zR3)yEGk}N&Jqxsr^{$Lp?_A#5Xl#D-4%gb*Qk57jXBk@Kna|p~k(vpFZLGdB!cCdp z&1md8Yl_PUTdERmb|KA1q*#=^|7x2#b#v3tj#yarjS5_a~Hd$r7eT@CWHc*fxo zTu!!^U(?~`T6K%6w%tQ>J#vLDb-Pq;$GXM`{<&JUU2d;T?2vKZx7{uk$90%_?G;Lc zElgZ|_UXC8%YBue));*Ki%NqDj@9?cS6v%RlA#B5TKdyh^OXi$n3!8QDL43sNu<&K zz$ew{!vx3bE2Gb7*An}kaMO|=W4_QDWMSgasVC+Je^_QTDqD~5F!s26RX+Gx9BZ14 ziMEZ&_xZcuvSdJmy;Z8%!o}NEP_v>FyRSoj9I2L9G zzrH%@(uM6yS6r_&*uuozoxA3?wQfNgqc7>CTRT0AV-?B#u}x0TbwB@d>(V6+f0(HA zK^7+7nDAAXvLVNihOS2$cZuLw_NL}7SPK(pWL9+9c7#29ZGKzN z4*O3nUWAc>pT)6IBHQFPLu<5a{K(>)COx6rE?by5qxak{qetUJ7%vkT%B7BKlhE=w{#i(w^K-C;+%SmRX*rh91CstzjC{zHO6%r-(kTM z{WL+AfRKLkyxe(d;URw)JtILV_&;K{uF5a@K9?b@5U0(NLkShD97U4#U#1mKle*Z$3Mvj z-BdEMbkJ87|B8-@0YS0&c2V9n_}@~u6J`rPx5>s`3*Wo3z1y|t_|l~tP>#j7i%GKn zh<;9kElhm!zXpYW1#^_mITIXOh)VxbrKTg!kT3qQ9>T2$B&tbJ@*@v}G<-!3M} z^ZVSQ@_|zWwlML@4JQ@`xiuW8iV2Rzw~I+~ZNHmbS+RwQCi71!3<}nwHXlrIEWTY# zl1~5CCq?KVY+<5F?)1WPx2AsYp?%zbFd!%v-!3M}74IMCS_xbDxep!Pqp;lU6MRV_ zRZMU!zK=|jJJ(&a#N}MwbLyK)CLS8vv#{+Ay{Ar+i*MRBPEf3Y-}NkXF=qowa?Klm zbHo6#*z*hYE_*^75+g1h?sCo+CeYLTiEyJI-gg>Ia4hsFdjcJn)jHPHmF3fBhn-!4@WtmOJ{><>XGUuO=?Ip@S`5COFnS>1kW!>C^Ueb1hq#IOy4a1$&kyZq*fL=8g#~-|#!pI; zOaHlj`d*E(FJ>Im?R5^yyfPoyX8#(X;W*% z`AJD~!Wk#HcEuJZR>|85D^IxJ)W^M(=c~03#w#W`)+%`$;&eId^=oQd=X}pGPwt0o zEKY5bG`j7-(R?s5PwsSlsz$E9&ETYiA86 zc(v>mFedWZec$iDcY8oS>z6l|pIGN|&K4#RwtKiFdFayn+S@v>O4wM?_ItGpkDlnt ziY>U0uzM3M-$(hp>w5!xkHfKWmgRR7AM|YKQpFaWs@Yvin5wF` z8CHV{ocr0@)M*;=&$ZI4q(11x6z!_lcgGgc68TIvNyeX7vE+-<^A@A+vV{q>F@N?t z=fyADe{jRSN`ncGh4$vpUXiW?AGlEwY(cxSr>FcRc@KHreM_GF^So*rOrRzDbI}u? zzPA0I?_{eH91FWUf69qe-MX};BG`icvOT8^QrYgN-=0z3M*|MX-g5 zVoBAhYsQ;YJ@x1ZOFFz=T#Q!21jj0tQaJ3oI}LHv!jTZ*Mb?adfJDM=P~ zuWaA;z!~bige^?)U5L*4tJ~Hn4ZayEk+!r#<_wf5-=v6dqGwN8I&Y_6)`=`z($%UB*P)V!~9hr9{SBd)vd>(hA=wb!EjCCJ^?wOKZ|~ z!AR{=MX@j*hppX~6@a;gDbFAC%m0KjNCa_lTBV!`M zysDL6v16yI4`{H33B03WpA>2^!Lbnb?C#nM$((`PfjMtQk7UMcV3|e$|@j)wz2SzhJUxVPoIZf>9Peh z6KmzpE7U-$m_XRZ;1hJIbYsEleQXP;Pj2 z>24dgpX=vU2^(uqdEcjx%s$oYgDtD%4WZLzmZ_d9-KKQA3N(mVC1rSo%s5)((>L!> ztpqs_2#U2z>c;QxSc5IYrIpxSBR|Q{tmUl}b!8_i0vM0AC$~)vFd1cLCT&mc@#5_3zu(jzm zP*wp!v4+c;L%fx+WuBZZ+IGcHN|KNNc-GZ9TbMxDw)`Zy>d61O)?SscvG`oW=L4n7 zXBIeNv;CY$@FXd&wXaJRTbRJvnH`Ceq}#d`?X^;AFn@3?oP^oYE=(0$aF%69YStFN zQCF{vriuxk?d1Exo&GEXme}`dd^?aNuN^Yil`dQKJBj)WH_SfvN%F25?VXw6SeQ%v zdzL=$QXgc&Y+&E`o+M1LB}VA4Gv{5kusm-xn6P2QvR_nc4JOzUBeX`}TgT`BI7NT4&V&sk zmi?kqYcRo<7@;-(KIp^zO}p#gWM#sJ5zBs2sWq5jON`JO_rKRL-LP1D7-zzU5ewf< z;eBzf!30}kgw{BrPWyD;F8X({n6P1$5A&_1)?mVZYY9t?&>C+)*E{{`L+!7R2^&T% z`$eVJcvFbq4Z)Tep*2t!C}E5dOxUo}n5)0F)EWUnmKdQm(5BE*lm-(fj9B)IO0B^J zTlh;&`**E@zJV4G4Qs)(Y#6cZ_mNtI3AV%tt${v{o(l~oY}n=lUsP%hCh%Nqi4j`E z{!VZOE0 z8cbmPz_*sL#0afnMmU{wA}ozq813*yrPg4AEipoCn2}m(Fk!=pg;5({RB8<-*b*bO z#`8}uEI+c=IHkda4I>t2AAIeoHJD&ajL;gV&Rf{|5Tn6_4I>t2QJ)Vc*b*bOhU7dW z{ZQqD2^&T%`?aGhD@U*;MraN6Kj~FUg9#f(Ec<<=)?k7yF+yudOU%kVs5F?cVU-W_ zwWHQx!hQz{ON`JO(xaTuWhQJ`<->gKs5O|d-$B9>BecdBl7}gh7d7tEvn-8R_G?G2 zfm|amAlMQkvi=T<5;(KRT@iP$+baPx(e?#s-X+2t_iTK{>Ccby}6W=>* z;pg%lbdt>8zB>Q7eD(XM_{(5|V=b!pd2WpC2ek(K-eC(9d`lks-eH1c72Wh@?nCjt zqcwVp@13RMduP7*-eC(9d|#g=?0Y95=)Z{@3aCOB5#S>NW`$e6D+dWp}PBJsVmpZKg{OF#tgWjro^ah8bhoj&4whY5ar zqp1FWcofE|O&SX;`*1`np#((>|Kz#3fFJ2>lFVgj4 z366!fP$qjgt?`+(tAoZY$oxlq@34glv@!pERINuFrk%z2&W+-GCm<*m+H{%h2eroI z;(KSM_}{g?f?}a>mdSolYYZ0OJGYDPop;28 z09*LE==1(7p+z#5+$i2i4!p5LKyWOKF{5SIr#0Hhc-8mq1GBrE@yc2Pg1)Fr5;G=d zF(&e}g0JXg+#N0ZL9OwQjJp?#=axgwxN9v;@OOUlE~kv`;z1w_4+0o>9YNm@V$3g- z{h-z`^GDXsAJ)Rp#a!aQK4afI{49=zxvNa}gIc4-qod027f(9!pXA(IsuT9>%r_tR zzIT|=VI2!|uus*O;(O~qowL!S$ihVUP28I6 zf6x3~eDACk-#bijtfHAO(#UYD_}*D4zISdH-#csx2zf)uk3I$Qy|Yk!?|dx2cLIW9 zO?z`$IKpM^2*(!w){ehplXp_Z_l_M!147R46CA5(%;Ipy$=Vr*EdfE_vB^G#eD5&9U%M66UraM+{adx~ogFt~=Jb|; z2)>DXQGD-=5Z^l+#P?2B!oD>L?O+9vwJQL&@b_`ZlYh@rX3nf#WiY|9P=>)uCTmwR zY+(X*W8czDl0C%tPFq;bV&} z{9N>T`|haR-N{(;u&ly=lvOwr91CNNU+Lc>!30}kgw`;p=jsfA2^&T%yHC^_Ot2+JXbn02aCeYQ*f3%(GJ8&~!30}k zgx262MJ8-m<-_bbwFVP*2MJ4z&>DOP$%G9fmfa_64Zee9ON`JOe51&O4J!?^=hPYj zL6#VyHRN>A-9g$tC!S@)h-LSQT7wC;#0agyH;PQyFk;z#qSj!7EipoC@Qor9Hf-~O zou$@b0?)OU7@;*x&eb_J6E=)kcF!4#0agyH;PQyFk)e}!#+`KFu|4>p*74%t@6Qy4I>stZR{+y1`}+F5n6+9 z6q&GL#KP=@U7yxqf-NyZYw(RC6E=)km_>a)m|#nc&>9EIJyD%g^&KP=HjG$y*H>R^ zR{VI;ttDGxgx2UQcaZbV9V8Prj95ix2dOod3vr(z*b*bOhO|U?2g!sDt9+P!qSj!- z?gwFs5nAIvatHaF{HOW{JS9bsXIud1QweQ z8_Vwcw1z1wMX<%v(6E2k`QRHxYr(T@SP^CisWk$EEHOfB@Qor`26m%LgLbB9mDoXQ z4JO!PX*}2dU2C+HJIF=meK>2uvuqf#?5EjEJU_c|mqe8=6E=)ktJh2}EZFrZqw$FlOAW!67@;*z zZFO39?ZZu#1`{@nSR>ZmRcL)Iw0#A=tvi21j7EB>6~fKCZfae6Ee87tiwH9fd|0 z+>tAjveFt%uq94Fw^g&mXT=VUAZ<==URgaw!{f&NV`gHyJEtJB_Hc2 z=gOq*Y7HjX5+|VX@{;q@fxrBz`XCcNETdhQskv>^2ek$hY>5-lc%l2q^w>tapEKdZ zGAI6dZ*H`VC0c_Cw!{f&%)D=G`uW>>^kKq>WpDVG>A5yCCTfibg!se|Y>5-lka0Ji zXhu;ce0YbnG0~9mSZgrBmN)^8x=*jSU%q6y7d>>`QH4QeZ+GE7sC!hhZIJyQC(C_; ziHF{AR@hLnRnamVEc|RS=0N#kBqS)-C-wF#9Q)ZGk`JWH|0@kr#bXKU`S{Ra3llur z$<@T9vs^xy;8;8chZ=0**?^xE5^Q0D=PP*^e2eom7370s@hlo@beGxrsh=J#pcDsw zcWR-_D<|c34eD82m+tx5`u3YRsSj^qV&LCTEo}Q{Y*rJm47|aWRX|Xzfd`*lSpIY! zQ|Ax2d&quYo8{+n3I|9E;l)R5_?(nx*}}x#E2kH}esZoM^35+wvjzSB6*T&t-U{E*XXpJfqcCiGnX>4w3|FYlb00lzk7QSY+>TT8KVlP zJ)r3%d1_Uw4!bVcs5F@1SP$MZv`}aKYn1Z=T?ST5)v6aCEWCdIl4>bTlJEBaXZu^z zJK=Lc$_jpQv^o>RTg@sAJN!k;`Pa`qqcoV{Sa%;gr*KExydk=6cyY<-E8bTGTaGR~ zQK<7sA(AST?vd}-Rb|B*Obmbd*}`f4U!hbDs+(Z3 zKcon@>{+(7aOva~HKgi;4ufQrLo4xR#YFcDm&;eJnij8h@2ptb;gWKdbFQfY-(64` zmc9~cC07mV*#4jc9#QqdbHV;%I=X@xtQFE+&I zA3fCmq9Ol=*X%4?xCgT~+KByEn&mO0$sxJI@_D_@jN?ZoS&@Bzgqx#y^kJgOs7{3q zqwY4Nk5xdb0)k>SIk>nmXzc<+Oxbs^8{yazjM_9-dIf0k?A2sP?ZWp(jdFV2)vH%M z!VO;bgVY87h4Ua2%lhr8I5yW*(Mi(eUFRh&m^nGtvM1lG_}8~b7(ze4x(3GzSFhJz z-p zs@THBgpvm{p15({+b&gXVdCVQ{+{)zVhy%1(c*%avOecbu!V`KhbLY1&I_x)J!jW< zIcEzKhdy>+*4N;?PA9ou%LK=|_q~0)_*TNHV#~b~&+lSeB0nifdTw|ps=>s{!|(0l zTl;{!+eGuhu~weExJ#MqQ8rcRQEWN=o%gzwnZ6yS>gpexE!I?NmMu*1ZZb*A*ZQ%9 zEljK&x1&oNH~NgH@rntKHMe%1+%_}X*<9fNOS5dbxaoemHfD9tPZB>9i$8N?B3qdF za!a$^Mz@vA%43a<0Oy+kG9DX4x`#%&EELTfHA(ZFy6+v+uQRVdBeOPRk``FOno*T#->Z zM{8$-V_hx#TDz0+X+pbV3lp0~Bfgtpf@3XycY4n6CcH{%mMu(_)Vn{2-9+^r3tO1b ze!T47fHgt_KD~6T_v*~dVP8^RgDw2reP4YrhkZhIf-Ou;Z!;^0y@4h!Yvb2fY++*Y z@pE$68&ua|3lk-8K9R#dp*q19CKj)LHix}INT8Llg^B5{p3AL}y+KHzm9T}0;un|Z zhRQxc6MMhiT0GX_Uul*tOk92Wa{0X?OX%2|;Cg;y`Dr=3DrVZphXz{$V)Gd}zY2fz z_{nZ8VPZ4IYBl;SX)$`$A8N4Wi4*1bgUk+spCrVgdo2Tp(q#)1mmJnV7w%ZJQkV~p zwRxApIlDtjl2>f+Yz(CBT5 zIWOP3ge^?)dR~=o-j*&C9IL5Y=|khsukO#Mrasuh1n&Tn2$Ktch zkYEcF^WEtuH12+GaQ5Hl{+M6#?s>&ba4bGsWMX|WTbNkw&M%>H;P>6L?_b_HowGJ1 zI2NBqh6G!f7~xJip<&*|QT>Anj>Tu0p6L4S`eL>)G0B~aLL)P*adzbo-IWFt9E(pp zLxL?#9OF(^mBuAMW;V|stTdS5SbRn*8ittj{`z9JFfqcNy+Wh&*9$Xi*N@U=Ty1Y6<+G^EFNmY%CLnDAlAM{vH& z1Y6<+H2gm~7j-AiTt2K(mGBxN!R6)^u*zV9V{vVU1Y5XW@spC|$=27o6&YKY;Fg~x z4|gec>k=k77Wc<6RZMWKV;a9z*z)lNH3o~Xs3AwWoiJON;Bh6?V1i@uXje1Au~uLI zM&ZssZ#Su0xS&$)ov}h@3lltQix1O3dboTr!LfKQNs^T(z3NUs>^Zf1v!?0Gg+6P} zQz;3Fx0bC{>vpsfw)7xEew3teZ}gq!PDZrxz?uZrCuGY;u-L*uvFk#<8&>E*TobPhZ1jn-PHiW4{=`z8w zM)ZD#TH?%qY1?dsu3LPyJuf59B}4%(rB^kCyHPT6C+-Gy|C=; z+llz;yPP7}!o*uUzZdUGuNz{*RUOC?;@c9gDC&^zP-*xf1Pd)ft)l@Oj zuKu=Me`)RY)I9imul7qXyL0$r)F4}!;IkT?s_D}XS_};)I2ND0B*_Q6t!aPxk(*Q> zWDB3R@RO2czy7lp9sKOyt7$N?WBu#7=cS+P_Y;3g%Q}>19<4@jtVIJ><^C(ZRueiW z_}@~wEAsEwE^7aB?pztw5R3JaWXd7OxOtE*Ok7p@YVJT8ue8Rt3){FEhY60wDU`G{ zt*!b8>cgMVriH%C#H)s^ckoh}$yVa%37AE}pHLu7}A53tp9YbHqwUO1UPSuRw z+g<6hg$aL>4vodl4tM!rf@59PWkqhZtirWM(ZiSc(j^NM{(Qe`KKNN2%ikyb-w2M? z_ue;h+hqTtQ`PvD&t2)Vg$aK@TvdY!j*}}vFd(`Rrob1)~c$HkdW$B=A)>b1pR?+zPsjQmr+q^@| zuA9_*WNcxgf4e$ee~`VJ);QzUilzDAA5|JmaI8k_KBQK1i|p0bJgwhuV+#{cFO_`A zUd`k~y2hAY?~%SvsJ?_G(_k_CY2%)>WH7 zRlQadAML%-w|25Has0FOx;`g+wdxxDERI!l!Dnjh(nPnt3a;(4g^36D*t2Up*{fC8 zV1i@y-F>4P;i?mCVWQD$NtKLnnmGFVJ>6Ks7A6qxFYBx78dV7!tM798s#(_5n&`S@ zyz5bH;pZ;exL(aZUgNhW!o<5Ty-PFa;*v>=H$B}(5o}>1oX??g&xR|i5gZF&8J{aFWIg(Txb}w$ieL*9 z|F`+vzT=S=Fgu?mCti3ik1KLl^l(S%fB1(LfdASdAY?v&>(X-+E#-8~{Zv`b~3UQ3p~?!A??z)$k=(GuCh#3J_&3u|CDV1i@$H&vK`23!2wDgU=rap|%i zW^G^R>n}TG$?E6cQ~M~kFi|Y~54`o_N4UMVT`aYzR{-`|91C->?JK6N8WkymElgk} zdh(}7Nn`hO@2*C0EX={SuV{^>J?@Zt*R!*=Fo78rJ<8`pb25sOg$c}$XMHy=La>Di z%yyFx8XF5kDp|oyCOpp88Q!d67D%3k|AV@QpRMc3?<=BlB5Z7 zDMRJ$EmMSxiw5^O9t|S5%teyw%}^mjsU-ik&fe?Uzx~`(@4wH-`|i(O>$}(4=j>ta zwe~sB`gBd)v+$Z=32@>p`l{`~V+n8Ft=7uM7R;=T8U|p!iK4a%OH8sI~ z>e<=P8&*AXY%O0EN|0dRxAVy=U?b~4S%D2CP>a|3lH0q$`q92h zzV+M=lpw*Yc4zuEb+ewoc5*EFSd%=IAi?XovGL1oRo6!^P79(2C_w^OZO4gpZXM4@ zA%R-<>b$IY51Om^zeyg}%VpVfAgy%O|Ju1C&Kq^3JIXO#%sSDR{kvDCJInvs87w3? zYM4ZKS4D)co0v(xFfV~x9GT1{FC%XZnR7+msQ<8pqj;i)_Eha+10_gs)X-ej&sR;4 zk0>Nii({GH=$YreDy$c;kfVmX$-mMquU?aS2>(a%c90;!d8#BDQF(13fm)n(>PF-I zp9$3B$fRUR9j8L=>=d~wlpw)brzD!Ml#S}I&5h4jNT3$SGEFY^-9Ep@?=DJ^;Fx75 z&D6@q@t2L)hXiVIT-0P=xAmJJTvc#)L4pKlvodM@P&S?)Un00F9_J`Qg3E8xT5I3k zFhaCA$CgQ}noaOkp#<{;^Q18NbI0YgL)e<(IZ0wwKxZD&NHZ9sKy6Mkie4>Mn9N+pf1$Ha}G9v z;~8fk9RD_f^AcxhWNh1W;_EBZ<2e?TSOlCqFgCbf;h6%?e@TDkn&kYQA%d2J1PRW! znVxvIsLAkRU8u!bz`Q+?uL>ockCfhrHBoNmmL+B`fvZA-Gp42|&R_mOeAHrHsD)=j z?3QC3H@SB#h(@SAr-^vem!RF@@!oDlgn_^)H=PkJurPjAxVPlUE&I56_qF%9RReQwWq<2@0t3JJb% z?7b=*Jxdf1B~S|^2z))0Jb5bo1o103(qHB8^1i_&Z$;NN$zMMEY6?p5`Qypc;H+AX zoK-Wst#j5s)9m#4oj5*^Dg;Ul?Z?dDdA{1P{?6z+edf+c&RJS!XUR5@K#8IKnE5-~ zcppl%jwD6q`L+ssucPdH@O)(&A?>u$DFVRM;)fq@6Pz&EAq2I#R#67zX zWupWM+^YvCGkrPBi3Dol`zRVg)-)#}7h3`$-1WJ&=SQdTtlEw!2_{aC&os9%);rm~P==bl%*(gB* zqlUpra$lb$w+Ph2x6%wzq2P1bC_w^eKAEW|1?OIIHZWxx^Le5;G|L49O2P>B<*%NN zOYj#8EP^FS$QwM0SboPuS~-;sl!OuSSv07hTZFqfQ&wNOk$5TVP4eI9x@O(JXJ5_6 zdx8YsLnin?byet7g?nV?3p9zuxfl{sR=?C#re%qE%Z&{~u$Fv(LJ>E^y+VnU`Tk%{ z6l?#qtamoOv-jU6(F_wK*%LD{nLV)sHH)>H(XMH%;`5)=OucS-Iq$;qPG03!?_{6^ z2`+znrde!YaV82?D(o#?($U-5;srO65G^K3e%~}!?T-UQ%)Gz6xB9B)Ua?Ed^AMu- z&TDj4>(XLdemh9Sd!vuJuk?y|#hi04O0eGGs^+G~)-E{2#L5a@si{@GUwb-UBJru# zdUImYRx{c+i4AnVB%>-QImw3^Yhe(c@l+>R^vrFo<4o^YF#DeR#Hi4$(oR-Nyz6Px_*S46zgp{ti$ zdbWG$`O7X6sCDOIibiGEinY4PcX#%!UA;ceY&SjgvWpTVo_(IKYFqVKt0HXU&H@9y zqciilZSOf|5vawntRS{Dp4)Lt(>~sjYo5yZ?upATN{|TRWfVJE(3fotF5Sxec+l#M zo1d)Vp#+I{W)yAp>B6e9EepRU;)3UTE!$nUDfO1R7J*var}?VR9%N!}rE=cb1}|ic zp5NI+2@?D?ndq?l8zK&TdbQW0=X)7D{_ISVA|tVgX7tQ|sTs>`cZ7)5XRr1$pLsXq zr|)fIK4=9!=9-$Z-s9QEvDXWFO+SCZJ^o~;z{aOql1OwuS2y;@Lu{k}P1ku_Dy?zz zy`7@2N=uNyr|CFDKCkROR^%PGbE#yDKrQTJ^ot?AOL;$DEbDE#P*z=)9us`+Gg2DI z2JScIwe{>pg&_uW>%!X9&ARN+>ip067F zxh!{O!qW4AB+8G%~_GO?12@^HkL&Q&+6TM0$_Gf(iM!yzFpq7clGV$@~N4(wc zWVi5|O?hnuQQ$qX_A}|K((A-JytU&p+?@NifLZej`>|APz%=; z$GQ6PTHdDA`d-?Fw=4p+aL#v}#z)(F-{+%Qy5%yf9cT~de8<^6rIvT3Zhi03!Yf^r zAYt36_TRQ%=fZ`(i%o4CNaGAn-!Hi@&C96T+RZ*x&%=2TM=g$d$0<$3fty;p=MUEN zaE?OSCXyc<;H4hh45hy`|%PorDzFDmwV&h*SglGjbTzvhQpI}2)7Oa=cW{qmy$_?6aQ@gs> z8ifR|kB)-`N)idaLbcYWWc3MbbSdaqD<{*Ug)^$-Gywu7i3HO{0}mi$+~~lD-*lnn z0Wd9EIHS_rfIy%mkziWQ?M3EK3~aP1wLb$1E{hhVSX2|AXd5EIdb!MhS2mjJmhYu|g%TwAE(A3NcejHkhUvR2l0<^9 zP(6>D`UwuEXO4AoS+w|Ra!sn2bk{^#-AhE0NHDF48+708OMMsX;<9LQujHE4h^nrM zKDxJyB#~fR5z^b6Ya9HW**f-iF8}`s(L#Hsw|CX|O8P5niM{_nAuY%I<~SYo6YQ>^ zx%5}o5_>k$B4K}uDQETM0tIC@{jh0b!Z=*+R`Rai`T?8zg3SY?^S!2 zQSmHAf&}*xb?!BouVzp5&g9>p^W7BXy$XR^_6(2Fi|{T5dyM0x z(~jlEN^7D`c*l~^`-EVx=FAgyB5GfI+t4&GyHV@tLtoXi2-L#o?>JXIkmjAav30bN z_I;#}B7sknq93#?iWYe%+K6^VsKsMKu8MaujbCdRQ9F9Q$BD`wM1{|2*xZurAc%@`E|45fz!3^UyK3(j5_h=H;_4OV$*LJ7*wV#{g}oP-bo2*hs7R4W z@Gfxqp=+8)RBWmIigMoS<(>RP5fzO>LbRArr;53^zd#YMFVj2w)t5zSJvWkICJN3s ztB9A>K_a!Yia$AH@Lj6%MW`&wWqiY^&2d*sI}cAcVcD&8C>lu>5^9`cO;;>&5leCZBvlTQ33hi};^)kJWPZ;0%+25VUWF6(GdDC7zmK7K{&lwncKE8)Sy$Csbq*DCA%9P( zb_l_D!JJ~%cQ>$s5>r;sT%AdUCzyxeCn#E`480^EP-4oe@0#eK?pJvT?pLB^%4|dT zc9-unN=#XeL3N6i+wpe0 ze*S+srN#L(F7tcTs$68tu+9r(Q!f_TLcK&2rvk!A5{dKy3yEeza)Vq-w87^^JJOyC z>AZxwl48LLQz7{KC0tg-_j6YSXJxQ1E{hhIN6@bC?jX~^SCuk}ze8`XiqE~V)^3XL zXH#a3%Y0%_WfYmXu=hf68W1IkL?&ef1_k~u6Z786ADrh*Bt(n<-i@*Ve+Jo%#Cs)Y z9a&42_r$MC&h<_5KkQM{x+-Z061yn}IVi|MvW<*o{N7zi%e5BUOQIZP^&khCcvT`{ zt;Bm}u8QmD|FDGtK{*|M23)r9?z6A1u&zpa;%*?M$8gOmgDf`W*>b(7Xy?Uul*`h4 z6hY4;ey>E5NHm}wi+O^__FafSK_oAb65M7pL{oC6Gd^j zu6WOANaKU@j&mrA!+$ruWaqZ4{VN`RFXOMviV(>VAjUpfbjxnarG60PQb$!T=chh8 zBctR3n?Nl-lgu@p4|1vRG;{sK&s5*^=B;%-lpqnDlqTYpAjA7w=~n(^%J5!68D5ki z(RNaiEt!;ezB$M{4`|WHA6Mq7jJ=~TyGWoGpZMmhDjvi|w-*}d`=j%@hx#0IQG&!Z zd*~!NWy5a{vf;_4hxom}zLfFg)q5-gwdUSic*}0eLH-%!AYUys+8^A!y?YBqaZrLp zp{K|OkM{d^Z0|l6u?f^_dmRy!gDf88AR9mYi2vCwlif0Dn=(*>ggG70 zt6GKG6aBA~_Gi?-)Vl=|sAbOYGV#aj1^w3hUvLXf>16jS?n`=h#vVhN(VMRGPh7jk zUA{5JLrKv4G_f(6dI_CQm=c^$I58;AU)Zs=Tl(vI7J*v${OMi&p=o~0R;}IbU)J+b zf&@NIItlniW&hG|Z@Z5rC3~o4T~&1&D|9X+e{e3N<*!BkzFYq5wk?t7Z3GDtT$c5U zq6Xbc`HL=>^>QgAo=Aum6S6W;j=tNm=!Jd}FQvdamnE`(jD3;nrE@DEP!z`|@-466 zUz%LSYu?XM&qJ@s7BRZ$mP|U4GAKBaGO|QPzsUePk3&%$tZN8p;nh0Mmj~1QudAPM z>roU3B^F^lL2p2Le{jX--m;6!UF%AqO>-+zo9KklwZRFY*<}j*?N@a4R=O{^D8aiB zTy1=HF8)S2e_~cA@4>e3WF!)@hBF~+yW^brw5)$q)6U)t6QUU?G4D<6iD6BYaX-|^ zUsNg0yCNmObyY}=Ek<)9WvXuuGS#0?sO3MDT;Jm;4%UTQc;D!3)Umey9H+3CpQ1P@ zL1OC^n&IfY&!*tK&zyZ}erlZ)?k`D&JtR;I`?TY%Xy4WEP-eC}clu=)B}mxgqx-`d zexsM_cxA`Dn}Mx0@3HKO;T6&wZqIl2hrU+EyZ)ssU6dfPv~H0tNpy1Hr{Ltk=%3p9 zbuSh2#-=W_2-LzWq!U8J2KfIfl;b|qbe@Y6BydKhUp#Ho)!$iuwp)DuWs5*9yXBXP z_3?YAU3OC&F3iAdH*X2;iJ?8m`FD}Q{+QKYxX!&NGf;vA&cTkef5ZSknX=*U)|}@e zfm(Qlj`L*A(f*_P7rG;!?wW!1;!KS+eL;D^M88Cr8#9u>*+;!y-Z!QwKvPkp12*Qi38_?8HiAi?E!lm%ou z$i4?;C%~n+X1ne2$Uoee1*!B zc`94|#^{numo0*6(L$eyeuqvI?f$a8r9^^h<&iy+;RaVVxl>)sBjb8S3w=BKs=Owq z5P_0Jf@$R^(kY9;2A{G(g3F@CGdSN}wXdBA1WJ(LGWQr|<4;ZWBO8f?Xz|}=S4?j~ zXkw2hM1u8lng6bAtkW&ORkvIuNbp_YzpJ}DP!mh^-4#h9!B?n=4*Cf`te>C|T(4;H z)8xOaUNTM-`*bf6Ng~0tBIv9^@I3ge0oKK3(c)goHL2cCXAJ`4KHb|zl1MO}cYLrG zKWDa%y`9U3ptB!=4H+Luh!)y&oGH5HZ&J&#_n|$T=%tCa`tGs~zVE1o_bqR4m;Q?O z{{IBGgYDt-cbwnIlWEwrvpVoHj)j%XzZ*W!dsKEsCcb8AD;wO>6i*=zEuOAI4YpML*>E!SJ z(Z8I36`jCF2@>qpHlTd1^7K1>PWunaT7E$OE)uB4-bVw;GnHQ=b)gn}0ITTafZB5|A!0$P+0h;^U3O7|1bZ?K z=sbhk3D+z<(7$J7zUVcyuSEj2xF5^-Cr^g<&hraDmD7v%&L}~G`z{k|_BlZN^M-e= z&N)V>EKq_3@5n~b*$)*p7~I_ThmWe>;)f1u{gAp)E9lc?L(QU{DbCPm@Qj>(6lXvQ z5%=Lz!L$LC)d?fy*H43r=d+=bxF+-&17+D)8W`9*ZhppzDXTD)giMcHt* zkGe=ZmhNenqe~hs4E7%)L4wDo`Z71$Xh3_l+g>Z*04ZP=W-mM2@qI_RcR>O7pX6?~DX$*=y9$$7}ghQ|tRXf2F+vSVt|K^BpJk z$F~02i-r6i-ZHBlNaGCdIL}Y1<)5uv-}h*LjuIqn8*7fY^^@`y_9xL<1H4yAE!DVG}falwp3U-BzX`zY)s=I@-l3nzSwFflAbdG9ff7?@FB5m$e@CE}DYFebA7vsFtfltRoLxj4i3G3C+)Kgbo1{wvjMp^~}u|XprEiCX#T1ZRlPS*g(RR zRo^w=tU-c%pGd+9wxN5w$4>?cQ&!{Ae6vQ6sDR*6B$9A~ZRk;(hcL9-y+|I{CU^!A zNjSka__ydrI*zwc=jbJ)n5)0pE;)LWac@O=wf?lTdt7JYM1sV0%F6XB@`29L=NmXO zBf37t=YQuu+8&v?qfzWB%HH#Ls=AzP2<3Dt7ox2GuDeF&yieNvPiZL$60>jH7q5v< zo|T!9v-P?Z|H|g67J*vlj_r+<-r7{#nEz;#Xj*zBzhW!8Dv%(NJn~><=b+@^3h8{} z%4X5a^&0qhY)rKX)Y`M~KxAj9=Gw-VKAF*O`)c~>2a|o2Ad!5_*O8rXaQpZ?!xP2l zMK=_?!OvGM%_cxAx!B>z&f%W6QEBDY=*^#%_sdR9rj{EC*1KozcafdajG7K&^E}zm1eG)JEIrzw|Xd^1&W6c8N|5OO(y_?QIX7z?ryso(jXiWJ zdi^J97J*vH6TgpiK6R_M@$=Zy{vTf-iGFvsiH{N_y6^iTQu3#c+Qy5oCi(Z@nH#NL zFx@6V>s*K9^u3hs+QwD&s`^VFSrxs)Z{ni_>+OE$$;hYaJ++N;C9C-@ub&&;n38T2 zpmnY{UDZc-Ya1mVsqf!icSQ8zSI7oPu-@6FPe)3o_t!SE=GXJ+dQ49gEN8lzzI2j}jz$oIV}tyy!k{W6_z${`x}WbGi*ow+PfqDfScH ztC8A9lS%1;hjC<56CWi=aJgjK7;WQEveBgE_>6M{((@3a)q~nGW65}JqYt&C%^PPj z3R62!g7wa!d)4`k$F+?ubg#TiP2C^qULk>6=jk5SdhQ8rqX0dRZgoev6X|)N1c@H> zG~4c)qHU}yRn0$r?OgX#a=JyJ)_LkzOMiVz+xVLLRmE|u+@EsD21tPx`j0v{Umd5$`DFwYFG|o|i_3ov)q;2{vZR0S_C9fov@qU>= zyB4SmwNhwSYMVAw+tBls$MY3REP`gcww2~+8&zmde5Ke8UPGD_kw^ipy)^H(y(LrI z(DSax^Dat|NTIoXYqOWMjeBWszfiA%H<0FbivX?jv`Q>}cDA;WOY6t5^hVyXNQ#dV ztalErQOBmv)izq(Jt3#|bt&FWv_>I;S}C+9F8x((RQvbHoR`+8c=V52ZX|gLvGK{G zkr}gypnn#jXr*Y6x#wlaq{x5 z?z~;)y*(4SCmIP7bMDy$z5T_rxi0tiLbP%sfm+$cqA;R{y>-DoJ-MKFGmj{cAdxcZ zZ5XvH9=+tc6E3-@wo*HQK&_N{@50P5^wHAZ)BioR!XsKSUHP5 znI8D;=N{vg(?~3WXtO$heYUapTDS2z@3D;pLbQ^}w($V&|2@U4_n$L41!(0&3EL3j z9NjD9WzfpW_bSROClaVNo1TZ|$#~+)pah9zdYZ;ts!_6<*O|PfMfA*(K&{!-uPl$u z6ORlfNF-AqGhSca*OI*7yXQtPO)lu)&K@#Il7W~_bBXc7*U?<^7JkuY8`bP=Z8vniI`#VlmB$GfUjypS_+veNz`|t)scp+OhDw8|+w6f<$+k z+s&?sR!)~zPM=p!ivX?Jw0>ASFIRS6D8YJhpGfcaRhW?RKJD%g&H)lq4%(sjoXSRJB0kZC>^WHyMkpJft?BCj z`bCmz2h=4rYst=1+4zKrOPWAQ7@=(Nv*0_-u_Yv=9N5tNL}kMwKoUkM8{DV3rvx^T z&}G(=ou#sY1WItnDt}itcx-TwXB#5nx}?ln$$HPJY^){Xp0R6l>V8>vJxY+ky{O~x z80WE`|7)8-Ev9+TscZ<*_1l8$QGx{SEGfIB?v;CJU$RA@7T*Q-WUPDT?%aAh8zo5K zUes}x7Z~dIyYmb8k@sx^wfJfBo>SSd2#_FwJ4^a)4%K(P=RY7DNWlJ+dnNBVl?~l@ zy}3l71nb4UX#5M9UT11K5~#(ai}#$$27h6bfBl^alpujSOUKbOgIDR}k?WB_EuJNK zz(!95WrNZ`)War6x5B@(D5`$S~}36z8pYJBLKI!a%toS1WLjPWurTdzm)}s<{^Y;tz^AVR5p0T(m3=Ud4FUoN|3;P zV$gRzS_cCgNT3#bgFHTzjnDQbc^ios_wmS7lpuloMEXh^ji!tA@6N5KQ;Y zD;qri^cYM*2@<$Zq%WA!715}oF?iY{P>a2Dp0AV*Bv66`?h`5EMR#@#-QgMUpH4vn zwRo4o^RBYN&qB|lDJVe#_lflDL)1eCQcwAb?v+Kr&XjjcynZMf+^4v2(Q1&2608^Z ziS#>IG&Z=$uRdJXB2X(?@A{MtA@YA)kouL{L9zr1+$TB?k8vKkUmheINWgAVc74i5 z8WC44QmZpcuwMDQ8Xx*z1wMmFxGpKPmhAeJ4SlZy0wrODvO%7VC%z97QVwkBU7xaH z5g-X8lnvbzeV*H82g!9wnYCosr)(gBk}yKqAkWf^dzN}P%5@3NTC(d?HjqF`7@=(N z_@gTe+JS_WgLdd$pR$1j&py1jWJwsIY^M%s526%RigYSu_VgZDjQWMG>JB$d~G?(*P;Z8+?n)?7?iJ7 z?}qD`eh`^J0=4Q7_$aoU^0mrFSIXCppy)>v${U~riQIQK$97Y`R@oR&xrvpOuPsWs z35x)&-1D*6ZW?LI#w^O$rc%B(ALTz#g7wz#v?;cm^0msw@N>D*K@=(aopLNlpjM|} za$-r8uT?h2Q66VDW4kF|t88?md~FIvAg53S(jq{s#A3QC%GauPyg8=6Ka29UJ1IYi60CRl>8w~1 z!AJvYI z)Q$#}udPV!Knd3S0Ntx@l&@7bPSCxoNcq~Wbgz&=t>W}NYLgGAY;33Jv6=Fb0ko!IQ6SH$rn{NTGg-WpB}r)eUXo%A zU#o0zl?{D{#p5$9NbCTudNl90r+lrl(U0cc$0^%ajpkjHAhCny z_HC4}RW>kRYZ0JToYs#wDPOB>l%(~e8s%$mr1b+OSnmV0MxCI1t+KI*^0lKWGx{?{ zosmGT9rTNAZ&JQi*+_nEWX_9}eWicYawEx0h>gRGO}-WhRaRQXX$>}4l}q{BrgT+R zY2`!$wI0~D*KWBhEk_9wZ{2Ya?rwjI>7S*1?O=-OBY|2SpE+PZL06t2N|1P~;n&bh z-lg0`FUr?erF^YLfYy%lUqMg&jqP zI-dUqMil02QG&#d$B)6NO`%*Z|BF$+775haG30xg8OBh)_7%$4&ZB%SN-QG!1I#}E zrhM&j%GVyHe62-*)&nWW?HSIK84e{ofY{OMB+Q}%C|~;{&7u*SMJ)of9=MsV3TJ9h zW@?mRy~Y1H1*^g5l!GiptHA+U4Uj;s9Z&yguQ;BpI4H4*FHXa%hWT0~c7WE7^FPAM zxplJ2*EXHVE2oiI1kq-7K1=!9+bLhWjPkXKglOebJB$Y~l=8K;C|_HYR!)?#4IxU< zy)s@#@dfp~mgHr;LH7y?)EZ9D!}4T2@nlefL@qr|<1IC(d~Jlhr8)G>kwC5C)UPa$ z%oC3cB}n8_A2VLx?Ub*r)FU_gAmwW<0<>~zd>GF%>0hP2(Uh+pL@Ossu-;r6gT{OP zH|1;lQognwt(+DCTAgT|8xL8JbDz&;pakn3PIHOz!p~5?b_{vpB`IHv1Zw5dd}TcS zVk@?~b9a^ZSJQlj5+qjAY-e^8`V5QDXIPLxtxh!WT00h3b}T4CVkOP(W>++h=Jvw% z8~C@;+-?z|HJsKDYv<+4&I=`2FYXf^ryu2O*U;{+G_6rcpcd}>?Ch%$#VIl&WnN!} z;J@1hO2P=WI%D<~2`RId>=Ts@Bv2AYC>uILAH)EVkTPq@K2g~~0wrODvY|5#fej?2 z%v!QfR5p-6Nf@DQ=!{8V0|_a!mh2Oi4J1$!MkpK2DEs=B&b}fc<)9sU!6Av;Kx zgb~UH=4+9VGHb~`QQ5$JElR=&WdpOXNJu%bq4%81hDCrRj8HZ>+QmJEqd2nXSS7d@W~qQGx{S zEKRoXQ5~Yf*v(?kw$mtwq58lY1ra zIh75}*P;aL#hs;{uSEj2cy#feQ`w*>YCKr*z6KuH*(Y+&{k2`RId?D~`qBv2AYC>zxBc=iBpH9mC91D`=8T$hwtOLl$A1`;R(s1;_fC}o%Fi=;&Sm_V=u z2`MW=+X!0E61neqN9FG}vEb~?6qF#*L}%X>!Pj4d?(7!2GHeI_8nNB-n`doLDMG|o zM4$u-RaRdJW()YOd-)E%X}R15`9A&M5$bF8+)IRzU)WW|@#p;D3(DMbk#HFa`GwuQ zHbjz0$nWLmB}9@)NIwp~9UVM9W`nDO-x(Dx{=59_h{d*t{%zP3@7h^?AHNf@DQa2vQSYy$}? zvsTSfog>SBeNSuqA1ythHoQyT~(Dv$c%}iO4re5hw{Glnw6b+~b3L1$7A>wBw3)bgx!x z8%z|SQN_ejkc1J+25WvvD{~22q2&}Cdw2K+{@y3Y#+LoMRp-w?`=(t=G15Ln6iV_E zvYwB5E5%!T#bY`2|3tKg5uRb19C#`lNq^*(u<{yTqR z71wr&4gG2z(M)VU(a_tlpha}s@njz*NG#ahA;!;Kd9N#fs_UgM>=G^BH_akY>)>zQ zV#iESj1hOsU7cW8$&Kv_FnmRS=9YH%_0thR>c)PV>gyz zg4YY6x_VL`!+Qxr=+U4dP zE$a`WcA&%}PWFrOoTzMk^vyE2|K-a5Sh`n8^aibi3x~#zkK(K1dsSe_0(bwk8vfIF z(enTa5(_2|iSgX7Y&4wS#r^K5y7ZMzdLBTa)`BXdVmHo_zB?(ig(%SG?#cX``B7)1oQlXql>=1 zL&QlvU!g>3B-HHlOq;P@+6*-(A|Ykg!qMe8NT4K)P&Q~a@MJYWLdvX#qswuSKuH*( zY|yIa$*P8glvxW$m*XITk}yKq(DB4zdgp>mtFuEM) zVIqoYKM}`W7@=&?*vJrH)FO1ftcB|%eT{vlAy6VT63Pbq)P1w|C-W1Oajvw?7?i)O z*$2IFl;9YYvLd!!k?J+O_q9#Ee@(GwhL?xj7W;YoqaM#6Sd-&a$xZPNZ&|$Q{o3~I zV-bVe#(w@`Jkfmid{fyJZ^D=rIm=g(4Ui!5a=lKmO(%-9RP)s!FWKu-E-PpDgJc5< z(7LN~o7ko|3lqUMIxlMMjXYE?I&LJ{014JxDbhZ+>HY57#?5sac};Jt81256Yyg2; zm9C4#HoetV+t{$NzIV;O0-1jLsUTEzN(k)>_)oK(ZB{qwZwg_>y=fm)R+r^Nd1 zUZrhRdakOsVb8MYNAHsjkXVGD96Q``x3+P6f$O|=`By|s+(kBks03OsH?14%oAsHt zvAJIbZ~7Y_M(fN@_ECaFrKz=JeG8w}HU_1Y^`_0-8f`u`%_czW<$c%34sSlCZQO9C zly`pbk?6sJWCJ8vZ>8gvV-5dXD5Cn+-ipP%7CpX=KD3T(AOTum7A+fV_;mpyxL+-Z z6z~c)`y<-3MY4|)toO@5OUG6(DXVP^T5;JeUEyN%6n$?S3Dl}|u2AfBav5zS>GWB* z!pDXE7s}D|0EtB$$rn4_pqjSv)7hi$i9Ln=S-;cs0HP9TZRmM!bHhj#ZKHRG1MXMd z%lP|#Y2u^ABKjWNyn0}LZKG719d73FB)``+=@zj8v^Ff=yLt7GwY81sKgn^&y?L#_ z;Q-kHiA9v%y7_eNbZw)_!PRcd4VC;)8j%eoKr5|s_U6@Kfe-rVS_HrmFbhw{763`_C&2eRc#}p`?`chZlpwM0&T@XE zo?Wz!j5`WsoajgA21lk_1Zs8ZSgrZb)7ohpy#9@UINd)zR9%v21HjAG%ko=w2aF6SQXUy}G4& z9+?m4kG@OK;|_WrD6xn;nzuC1y!U-IqNyL$_uJ4jM`AW;&3>*=OYT=3*P@e0?b}3i zsb6)ZeuWYwwilY*()8Wy-ncjV0rlNqdXf#O3$?c2nAwuYhq7@~`sCtGWfC0OtFr;oMFiqDB3M0P}Z zPHb5|-6BwH`{UJFJ^6H+MW9xVPIV*w$uChh9vWD| zU;O%q(Q9WV`zS%;-aW~YBXQrSP~q$Rp9`*tCf|`}5vWBTVWdC#SIS1GX;uBs`gf<%p3Eh7EnKHNi3*6^=5H7z=$Iz0~{Q0v|&n@5h2pQvn{>2ag~!P@7dD}JZv z0TLt@$681F$9>V`Gwb?~Tz^-z*6CD>K&^Y5L?SWrca@Fp8|(Yu|J*ZLze$RZ5{tOK zeIyq5sjsWk$bavSiqQ*e$OhDPFKB(=xJ_g;`R&Svv#7CO{%E;q8}i#xf<%o-r${Wm zHz?mS*~TN%2vFM2!izMVwF6eurWi z+f)3BC6;U&P%qUcKzdlQfvt&NYqRj6*2LvKQmiIyHosXHN~$`ViAzDaGW2W>JqJe zs;)nn;-VG-S~b@VjhHyxl%WfvC1%v{%TZhuC6dih?ZEuU)5n%YbN;IAuR2UNpf1Tx z1jNS!A|{?#`Q)zXhZIk|iQUExe30K zqclELc7S7+n`m6zKx3p~Fg}dLCNTdol%iel?VYl25=A+24C1)Myoid2vUkaGQIyz( zvCX>XSEq&Gn2gxtvix255+cTA?O(?%N|2DUA_{!}xIeYXkDHi4iImv}&SUh=ej?t` z1WLjPrXA;tYv}g}pZGn<6(J$zpiS0Hy^n}%HG%VP7@=%*O!}AKw8CA%={6*!%v!ig z&>2x6P!dKc8~;8$+P^aA<-i6KQVwju`sg@|i8!=L6CepAl#QRByWej+<6~t530-C_ zT(#-@K0u&ER%#@ajR$HD@b@i07uY~T%B+R{isK9=;u}q%B#cltE`8F&pWmfq5D`W~ z%B+Qc7mW)dmTCeeVT7{r?c7`Z(a%>6Y#nVQiP%rXrYHZ%MhOzz^xi<(XnB2- zpVg#WU;_!%!hH$7QANahO`rsc_Ii(_Y~=bEqf>wA8`wYswQ#pY$J&T^mWa7isU5H< zLt>l$yRtE{*skb`tYNAhK%f@x`siH%BC>>ly(JRc^xu_@AD>(lUHia8$_5gkg}Yb! z;t3Jinm`HGo2mD^%0{cQ!=twr8z0y}0<~}#PV*HKu-8W-Q~zDrc(g*P=*bC>DH}+D z7Df~3cT9-*k%()kU!er+t)XKX%0|07Ud~Hzt1qh}fm#?9ah%>nyr>D3AhEfZRE{%@h=cm>q6CQ% zIj-wJ_R7-^oM*;&4ce(0^ApsPDSccd;(i!l)trY7Y@vy6>U{iH$nW zsBD}ryvuF2MvXxvPz&Rwlvg97sU}c@M7oZ>DjPI2xI8nkUxEZ`VHDSKwh_Uz&t!Un zC_!SQj{7Pbd#WaRFEv(kA`+;D@oUHV90`bdBe7BcUD-HSsfPEdp4+i5)WWE`yJvz27S{NBM9_NI9@!W#ZNoacQ*RiO@(W8xLGF(fjLVwKqUQ$^ijcSvoC3 z#1SDt5=JN+Rla}R%m2y`!5#-QyiyKqz}XhcJ0k&-Fhbdw{>(G9>r$s>@k~2@mCZii z{){GGUt1>yB}m{G+IS|E|0c!XqgU@{d`917NDtnYRPUnSrr(_GJ-GOK#Z00v2(Xrt z$Q$cS%bVru-3+n7dru@#tNzV9VoBS(Xd6hN#3J-})$-avLf$`Tt>GVi9Lwy{UE7#e ze0p%An6C;YNXVPzd2JwpS|?Y~_u+>13TX#QkdQaa^V&cHwd6hVex7SZL*&NI4dtZnR zlwiH`o_JmxNT3$JGj94J_Yx#fYvn~hmbvZ0gsY;n^gc=~!g~L_?}BGiWkex?ZZ>-C8u?>_Uf$xlqKL0E0| zlYEPSx76_sa5{f=(DW-LP-}SC4`Rd4OisAF!KeiZ68HwVY0J>E=rKVH^9x^O(ak&_tEXKXD?6H?btVTT5wgt69fqo@(y?2zKeCCmb{Uz zh(GqHZItJM1Zvf<@M-MC!KXv+E=rJ)H?s3y6%we`Y3HsG8{Be~AR%vLD;t09PfM3} zAc0ydhwp>CYo5p?A0}J62@?GNsCm;HZ6JYKC3b!VGs7!Gi*HcWBp)S6;M>{s&fs9x z+j-O?fm-}_u6b|Ux+<`aS}WUq{Wo(WN|4~UjLm!7Xafn<$~{Ro^33hQED92fu-@B7 z8(0^f})*pS7oPJsGjv{lQ{7g`G zoLW~Fj?e8%OG%L6-xZRY9B1oZb9a$Itv&DUiTt+UX>DUdvFUOD3MCdnzwTK6&P+|1 zwomer;9nmSt=Tty9(nurshZf3xhLLtQGx{jE=c+IGc}R2_fx32@?D(IKRCjS9KUXON#)lGPz$zM*U|@hz*orz5HuF zjdqOx9|UUgZwzH6jnc%gyEnvpBHBQ$?)i^IMx~7iv4IkcpsN~n=U`0?yJ16$>c5kG zB>1XCE4d%F{Cgp!xAP2#5+wL8Wc_%zwlU~4vwk3fTBDDCMJ?~IiSGs(4*(@d@YBpn z>Y<61u$!<5(BeLpRi>jR?$Xbk+kpgX&0h6oq*3MGn)tk^S#eN;1do-hdTlfz_loC4 zBv7l&{x2ebiste=`DTotz*3DnwibXTNNhc24PE;2pd6H$T$&)``}i8i?9NTAlb zhM$6sHYKKKOK(RB61)YlkB?k?S{^;g_mm)b%j3M5GI??Uk1Rgt^W^SY%i zZ1XbRVVgj$Wcqase&&kcHf;Cj<{?mPbjz*KuWm0^A}#y(X{kYP2MH4Vs~g;Rm5n*q zrlk+tR+>D&Nj}zvTIYs*5R4B+d|AZA$WVd=|9S|ILDLR-9!Q|pxrSSUnIVJ#2@?D( zC_FR#Gl5$C+bld^{SN}Px^LVZ%!!Kl3ifI!!Fu^OW_U);YXb??N=_mhG`Hs^P+}4E z>pHxC{0{=OMz<#$w5sJLP{P09BlWU9Ue*2w0a|<)c&$~$;e%;$-v@1=R&wuHu%73& zff6M6X|m7oKM2rTm->F-m*gc-g7tDAW8cRnctjzATBEmo7H z!DEFzGDZ9`f48|;K%f?nVD=Lg(ed-N^dkq}3}yz)256l-^fCCN)o#t&@UK5!Ue8yB z60DbJBKBlW%k!UIn1?{Eb-j1kKK1%*?phqoi6}t=cL4NzUI$GS2MN?de_q{J^}i}N zF_v}{y!+ujM=#nb^k7ic$O@4Wc#qQoL7 zH*pQ!-G3%H(;!-$PuNJi2}LC4CPab+M+&c@UXs@a)`eP}Pq>D56L|@gAi)vOvDA0} znLsU$!+uU9>YoYJ;tWJD+D#}TF*hL+Bsl8ai)IEzB<3cBKrPNEjG)~_-m5|h5*+2e zKr`I`AV7<=10!hO%}byJ>*Z*D1DbdLnLsVhA*`a+;GYT9;(WpgT5)WGXE>Bt1YOk# zTGbShn46Hg_^L#U^9dtpH<8x{N|4~Yu!>e^o8S?J1Zr`1U={5q6tP$5Cb%6aL4u#= zD)Jc=k(is1x=@Sz*edd56p@&l5CXM0pU{AI6M5T#5+r!6tRjz05gQY76H*syaRy=p z?Isja7qXTpL4rr{2=XlLtKxfw1Zr`1;1um96tP9;CW7Yy5+ryg8bSW9Z6lFDEuJ4& z(QZN!iMa`}j#`{gXh6G(yf#pR1kd2BXgBfC1Zr_UA>0N^kl^T-X~(Y+FF^veIG-Tx zvsWCHAi*&?b9WPS6H*syailQsGw0`lHc*T638r5q<|agf1V=ng-!(0vY#-ExTAWXi zK5g{*s!)Oi$6?JFG>lE47UvUWY&uS2ZbBqTa6H+}3=I=<6GEUCN4dl2E3}SUoKFa! z6H$T$$Mj`JHSG?bAk>9goKKMX*d|b75tN$Ow8fCx|cMIElFlks!f+%=kWuxd|aq zi?aja9vMoI;IR_!ks*OvJc5m%_<+t$1WypGqZa2A#N%|Fy$QJqks!e{k$AGEC$bH! z3$-|(5bjf>1PPuW!~J$7Pz(Keb5%T|c+XLqe)myw6J6+}laxEtc_#H6po0cai^rCD zXCe|V3&F80smZp11Zr_Up(LGjQa0-B{WZRWM2SUEjG~ zF4W?D!VEg;qzJiJOrQh_j&hfz--A>HdX^ReTAUr2K{;XD20uZRV7(lz|CD|Y@}CLR z;v7O}`gKP|B<3c>I%;t~VFqQxZ5u($L1GbfRs74=ib%{&NL_qYqQ&`y8FbRgw!tk& z2@-r4_!qhrk(is1x=@R=1D)xllOlf7xe0CuN|4~E$-gwNhy@9`38@RUxR3GgpDQ9U zHz5RSaXw)Pope&f4>~u&SA`NJc&za6xGO?>Vld93F4W=-#8x`#q=>pOGoSHzt zcQb4od{s!G7H0>Zrjt&JIFXQ>5D5}{Y3^!EztyOSdq4z$iY@XpH_<`NO^6ND;(UVX zSHmbb@iFBl_<5iN366Mj-&HocQ*I&^auZS)YH>b+$A==eCgdhWf&|B5c?_C%s4+ru zQK$>GI5)v#GlT#M5*$zFnc<%a)Z!>N&sYD004>fZ@I0o7V>&m%cNZmCFURzGM$Kyj z3Dn{Y1kcBL36xj_$mAnK>I5#2nvOQka{s#eCd>44FRRrxOOuQYe zqZVf%cs;jm@c2Lp68tpTXRwK2_JO)ki}MNWedHxjf&}+5_I+$3m`k88)Z**_dr>wK zj6skf!DEFzGDUna*qrObx=@QpF#Cy$pxs3JUzD5Rt3m>`I0IpP(fg)%Pn$xy2_{g2 z1m_UglT|j(R!ZB5xe2KYwK$((`P6CEAU7crBya~{*3IDVLS3kZ{=DP7xZz|*(KhrB zI{jz%AAZb~B~QWm1pZz)5@u)ecLcxVzG&6SoExY#?FE=VB%U!8VXUNjSka?n`av zw_4dSuz`dr({Gx@GYxD536z8rY-2-KAOC>@j(X-$m!Z$aOg@2aAc2x_f^9tQj-l_* zWd`rjBVo#Pui}{owt)mn!U?v~eb(cC@t=nW-%dcnl&Kx@yaC%l0wv)D+j!vG3I52> z8oN9`kT7K$AMv~a+du*(;RM_GuGIbh=pEYw8%UV)xtPfguniBuUr&lL`*^%-d zw*v`NrrsXU0JGg&jPTGp+pSP1WLjQwsB_j_t9!w z2L(2eFlBlk@mN3GKmsM<1lt&&`apDU`SF1bButs+t9VSGZ6JY?a3Xjf{2=r@aY&dl zjq`X+KX@KMpd_5o?Qo?XNSHE>k9bU9w^N15D2`AVF z^(#;M6%wXQZ|cP(^lXFrl_&iQCE*0y__|vsFZrk%A4r%o*@#Ez*@i`cB%ELy1!+*DZQIv!cD*7=Wd{HE% z%vy3%UfDoj6eVGVvT-;0q918r6bUJ_mYkGVHqaMENf@DQ)F)pwS^J_$NSU?d+`F=Y zz9>q<2xS93OC+SsTISq4KMy2O5>D_lN6!)oQ$80n=ib={5-15L*amu*NSHF+tN0mu zwt)mn!U?v4o+T2dOznuDh-Vu}pd_4N8|YagVahZ<;wR$S1`;R3PIYlCupY zP!dkC4fHILFl8Da@ss3i0|}Ib6Kn%LOC(I0o_YKvIom)2CE*0yK+h5hQ>J#r&xNxM zBv2AgunqJqkuYT%gYk3WYy%0DgcEE7Jxe4^neJ8mEH~Rg0wv)D+d$6}2~(!Nt512W zF?a)cuj$&8K}i^)#vu7uuJ~6-NSU?715`H97ez@Jp=@B3lf75l5m1;pl6AMDXX}s`Z^5TK!W3xA_*th26~oAn6iqC zs;|Sa4J0^DDUxu4ZJ=j~gej}IsCti{Z6LvMN|A&UYy&+@BurVwMb-BJ*ai|DrxZyz z!8XvdM8cG*x5vNF!ZwgVNjSka(6dCslvP|*ed~p7Ai;4;k%SX$13gP5Oj*T6)t6h? z1`-^n6iGP2HWK5aLKs@bMb(#E*arHd9H$gXIKej1vqZv_>3L9GRDHRHZ6JY?aDr{1 zXNiOTVY6;vWkmJP0AA$@0H_}A_*sSJK~-t5~i%; zqUK&vJK_Y#DMb=a=;smlERir}6&IB!8$6FV!Es8FgcEEdF)k{Ep;cT|`di+(s7S&I zwt=1{M>d5pWfd2dk(NNjzj)#Y5n4qf!8XvdoRJ zB4NrjKH^_OVH-%GB%ELy=vg9R$|^1@Gq_D~oKhs=1lvH*5(!hLcErDU!tFo;CE*0y zK+h5hQ&w?NSy63*Exj8Oh= zVq8?}5}LI*8Y#AIUlb)_gtCzs7nQn%W-X3J^2vy}-yYBEqa=(_HWK5aQkT%I#nDK0 zzJ$jI`l2WaBa{vFERm2hYjHGEozi6+NT4K~;Af7WB@(8r;-c#OF55tYmXmYy%07Q;H;oRJB4NrZE~?JfvJE6SPAQUbf^8(m zMTIc5ii`5OMKuP|7v(smNWus;J`&@iLI}-T9F64jm&ykEq9_R?l#Rr=sMIAiYjHG^ zPq8W+=!>Exj8Ha|Z>fAyB&5t*9E~(KkU&Wo5pPG_vqVD5ti{ntXx1!QK?I4*5YWSI^D{BH!&_Ml5m3iF8ZQamno~bs51;?C%jKqnGdQ5VBjX|wJj9Y`4?i~aGw*?C< From 138508ddcfd7682c71516b989902b4db08b90609 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Wed, 23 Jun 2021 17:25:35 +0200 Subject: [PATCH 33/80] Updated SL1S bed model. From 5b90033b3154cfefeb1f07913b7d322b0467e151 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Fri, 25 Jun 2021 14:44:09 +0200 Subject: [PATCH 34/80] Cherry-pick of 2e55898d78ddca4753adb60c9222c52bc9ee8ba8 Fix of an extremely slow bridging calculation, caused by an extremely slow bridged area detection function, of which the results were never used. Fixes "slicing fails or takes too long #5974" --- src/libslic3r/Layer.hpp | 2 +- src/libslic3r/LayerRegion.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/Layer.hpp b/src/libslic3r/Layer.hpp index 508269f1a..9a3fe368d 100644 --- a/src/libslic3r/Layer.hpp +++ b/src/libslic3r/Layer.hpp @@ -46,7 +46,7 @@ public: // collection of expolygons representing the bridged areas (thus not // needing support material) - Polygons bridged; +// Polygons bridged; // collection of polylines representing the unsupported bridge edges Polylines unsupported_bridge_edges; diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp index 5ce56896d..f0b293931 100644 --- a/src/libslic3r/LayerRegion.cpp +++ b/src/libslic3r/LayerRegion.cpp @@ -278,7 +278,7 @@ void LayerRegion::process_external_surfaces(const Layer *lower_layer, const Poly if (bd.detect_angle(custom_angle)) { bridges[idx_last].bridge_angle = bd.angle; if (this->layer()->object()->config().support_material) { - polygons_append(this->bridged, bd.coverage()); +// polygons_append(this->bridged, bd.coverage()); append(this->unsupported_bridge_edges, bd.unsupported_edges()); } } else if (custom_angle > 0) { From df559decd9490fa7022b366fc633ff5d40dced5c Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Thu, 15 Apr 2021 16:29:30 +0200 Subject: [PATCH 35/80] After issuing the color change custom G-code, which is most likely just M600, reset the internal retract counter, so that a retract will happen after the firmware returns from M600 to the initial position. Fixes "Blobs on print after manual color change #6362" --- src/libslic3r/GCode.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index cc9dfce30..8cd6b8f1d 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -1646,6 +1646,10 @@ namespace ProcessLayer else { gcode += config.color_change_gcode;//ColorChangeCode; gcode += "\n"; + //FIXME Tell G-code writer that M600 filled the extruder, thus the G-code writer shall reset the extruder to unretracted state after + // return from M600. Thus the G-code generated by the following line is ignored. + // see GH issue #6362 + gcodegen.writer().unretract(); } } else From 2359d8f2ebd880a4e8f7b1d938da83c6ab2e354f Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Fri, 25 Jun 2021 16:38:42 +0200 Subject: [PATCH 36/80] Fix after cherry-picking df559decd9490fa7022b366fc633ff5d40dced5c --- src/libslic3r/GCode.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 8cd6b8f1d..6a996aaa3 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -1602,6 +1602,7 @@ namespace ProcessLayer { static std::string emit_custom_gcode_per_print_z( + GCode &gcodegen, const CustomGCode::Item *custom_gcode, // ID of the first extruder printing this layer. unsigned int first_extruder_id, @@ -1869,7 +1870,7 @@ void GCode::process_layer( if (single_object_instance_idx == size_t(-1)) { // Normal (non-sequential) print. - gcode += ProcessLayer::emit_custom_gcode_per_print_z(layer_tools.custom_gcode, first_extruder_id, print.config()); + gcode += ProcessLayer::emit_custom_gcode_per_print_z(*this, layer_tools.custom_gcode, first_extruder_id, print.config()); } // Extrude skirt at the print_z of the raft layers and normal object layers // not at the print_z of the interlaced support material layers. From e06ec9d4bf15b48bdbb83a37df793937a035cad8 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Fri, 25 Jun 2021 16:44:06 +0200 Subject: [PATCH 37/80] Windows specific: Transactional saving of PrusaSlicer.ini to ensure that configuration could be recovered in the case PrusaSlicer.ini is corrupted during saving. The config is first written into a temp file marked with a MD5 checksum. Once the file is saved, it is copied to a backup file first, then moved to PrusaSlicer.ini. When loading PrusaSlicer.ini fails, the backup file will be loaded instead, however only if its MD5 checksum is valid. The following "Fixes" comments are for github triggers. We implemented a workaround, not a fix, we don't actually know how the data corruption happens and why. Most likely the "Move file" Windows API is not atomic and if PrusaSlicer crashes on another thread while moving the file, PrusaSlicer.ini will only be partially saved, with the rest of the file filled with nulls. We did not "fix" the issue, we just hope that our workaround will help in majority of cases. Fixes prusaslicer wont open 2.3 windows 10 #5812 Fixes Won't Open - Windows 10 #4915 Fixes PrusaSlicer Crashes upon opening with "'=' character not found in line error" #2438 Fixes Fails to open on blank slic3r.ini %user%\AppData\Roaming\Slic3rPE --- src/libslic3r/AppConfig.cpp | 170 ++++++++++++++++++++++++++++++------ src/libslic3r/AppConfig.hpp | 2 +- 2 files changed, 145 insertions(+), 27 deletions(-) diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 7c9403382..6d588075d 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -3,6 +3,7 @@ #include "AppConfig.hpp" #include "Exception.hpp" #include "Thread.hpp" +#include "format.hpp" #include #include @@ -16,9 +17,13 @@ #include #include #include +#include -//#include -//#include "I18N.hpp" +#ifdef WIN32 +//FIXME replace the two following includes with after it becomes mainstream. +#include +#include +#endif namespace Slic3r { @@ -164,25 +169,114 @@ void AppConfig::set_defaults() erase("", "object_settings_size"); } +#ifdef WIN32 +static std::string appconfig_md5_hash_line(const std::string_view data) +{ + //FIXME replace the two following includes with after it becomes mainstream. + // return boost::md5(data).hex_str_value(); + // boost::uuids::detail::md5 is an internal namespace thus it may change in the future. + // Also this implementation is not the fastest, it was designed for short blocks of text. + using boost::uuids::detail::md5; + md5 md5_hash; + // unsigned int[4], 128 bits + md5::digest_type md5_digest{}; + std::string md5_digest_str; + md5_hash.process_bytes(data.data(), data.size()); + md5_hash.get_digest(md5_digest); + boost::algorithm::hex(md5_digest, md5_digest + std::size(md5_digest), std::back_inserter(md5_digest_str)); + // MD5 hash is 32 HEX digits long. + assert(md5_digest_str.size() == 32); + // This line will be emited at the end of the file. + return "# MD5 checksum " + md5_digest_str + "\n"; +}; + +// Assume that the last line with the comment inside the config file contains a checksum and that the user didn't modify the config file. +static bool verify_config_file_checksum(boost::nowide::ifstream &ifs) +{ + auto read_whole_config_file = [&ifs]() -> std::string { + std::stringstream ss; + ss << ifs.rdbuf(); + return ss.str(); + }; + + ifs.seekg(0, boost::nowide::ifstream::beg); + std::string whole_config = read_whole_config_file(); + + // The checksum should be on the last line in the config file. + if (size_t last_comment_pos = whole_config.find_last_of('#'); last_comment_pos != std::string::npos) { + // Split read config into two parts, one with checksum, and the second part is part with configuration from the checksum was computed. + // Verify existence and validity of the MD5 checksum line at the end of the file. + // When the checksum isn't found, the checksum was not saved correctly, it was removed or it is an older config file without the checksum. + // If the checksum is incorrect, then the file was either not saved correctly or modified. + if (std::string_view(whole_config.c_str() + last_comment_pos, whole_config.size() - last_comment_pos) == appconfig_md5_hash_line({ whole_config.data(), last_comment_pos })) + return true; + } + return false; +} +#endif + std::string AppConfig::load() { // 1) Read the complete config file into a boost::property_tree. namespace pt = boost::property_tree; pt::ptree tree; - boost::nowide::ifstream ifs(AppConfig::config_path()); + boost::nowide::ifstream ifs; + bool recovered = false; + try { + ifs.open(AppConfig::config_path()); +#ifdef WIN32 + // Verify the checksum of the config file without taking just for debugging purpose. + if (!verify_config_file_checksum(ifs)) + BOOST_LOG_TRIVIAL(info) << "The configuration file " << AppConfig::config_path() << + " has a wrong MD5 checksum or the checksum is missing. This may indicate a file corruption or a harmless user edit."; + + ifs.seekg(0, boost::nowide::ifstream::beg); +#endif pt::read_ini(ifs, tree); } catch (pt::ptree_error& ex) { - // Error while parsing config file. We'll customize the error message and rethrow to be displayed. - // ! But to avoid the use of _utf8 (related to use of wxWidgets) - // we will rethrow this exception from the place of load() call, if returned value wouldn't be empty - /* - throw Slic3r::RuntimeError( - _utf8(L("Error parsing PrusaSlicer config file, it is probably corrupted. " - "Try to manually delete the file to recover from the error. Your user profiles will not be affected.")) + - "\n\n" + AppConfig::config_path() + "\n\n" + ex.what()); - */ - return ex.what(); +#ifdef WIN32 + // The configuration file is corrupted, try replacing it with the backup configuration. + ifs.close(); + std::string backup_path = (boost::format("%1%.bak") % AppConfig::config_path()).str(); + if (boost::filesystem::exists(backup_path)) { + // Compute checksum of the configuration backup file and try to load configuration from it when the checksum is correct. + boost::nowide::ifstream backup_ifs(backup_path); + if (!verify_config_file_checksum(backup_ifs)) { + BOOST_LOG_TRIVIAL(error) << format("Both \"%1%\" and \"%2%\" are corrupted. It isn't possible to restore configuration from the backup.", AppConfig::config_path(), backup_path); + backup_ifs.close(); + boost::filesystem::remove(backup_path); + } else if (std::string error_message; copy_file(backup_path, AppConfig::config_path(), error_message, false) != SUCCESS) { + BOOST_LOG_TRIVIAL(error) << format("Configuration file \"%1%\" is corrupted. Failed to restore from backup \"%2%\": %3%", AppConfig::config_path(), backup_path, error_message); + backup_ifs.close(); + boost::filesystem::remove(backup_path); + } else { + BOOST_LOG_TRIVIAL(info) << format("Configuration file \"%1%\" was corrupted. It has been succesfully restored from the backup \"%2%\".", AppConfig::config_path(), backup_path); + // Try parse configuration file after restore from backup. + try { + ifs.open(AppConfig::config_path()); + pt::read_ini(ifs, tree); + recovered = true; + } catch (pt::ptree_error& ex) { + BOOST_LOG_TRIVIAL(info) << format("Failed to parse configuration file \"%1%\" after it has been restored from backup: %2%", AppConfig::config_path(), ex.what()); + } + } + } else +#endif // WIN32 + BOOST_LOG_TRIVIAL(info) << format("Failed to parse configuration file \"%1%\": %2%", AppConfig::config_path(), ex.what()); + if (! recovered) { + // Report the initial error of parsing PrusaSlicer.ini. + // Error while parsing config file. We'll customize the error message and rethrow to be displayed. + // ! But to avoid the use of _utf8 (related to use of wxWidgets) + // we will rethrow this exception from the place of load() call, if returned value wouldn't be empty + /* + throw Slic3r::RuntimeError( + _utf8(L("Error parsing PrusaSlicer config file, it is probably corrupted. " + "Try to manually delete the file to recover from the error. Your user profiles will not be affected.")) + + "\n\n" + AppConfig::config_path() + "\n\n" + ex.what()); + */ + return ex.what(); + } } // 2) Parse the property_tree, extract the sections and key / value pairs. @@ -259,22 +353,21 @@ void AppConfig::save() const auto path = config_path(); std::string path_pid = (boost::format("%1%.%2%") % path % get_current_pid()).str(); - boost::nowide::ofstream c; - c.open(path_pid, std::ios::out | std::ios::trunc); + std::stringstream config_ss; if (m_mode == EAppMode::Editor) - c << "# " << Slic3r::header_slic3r_generated() << std::endl; + config_ss << "# " << Slic3r::header_slic3r_generated() << std::endl; else - c << "# " << Slic3r::header_gcodeviewer_generated() << std::endl; + config_ss << "# " << Slic3r::header_gcodeviewer_generated() << std::endl; // Make sure the "no" category is written first. - for (const std::pair &kvp : m_storage[""]) - c << kvp.first << " = " << kvp.second << std::endl; + for (const auto& kvp : m_storage[""]) + config_ss << kvp.first << " = " << kvp.second << std::endl; // Write the other categories. for (const auto category : m_storage) { if (category.first.empty()) continue; - c << std::endl << "[" << category.first << "]" << std::endl; - for (const std::pair &kvp : category.second) - c << kvp.first << " = " << kvp.second << std::endl; + config_ss << std::endl << "[" << category.first << "]" << std::endl; + for (const auto& kvp : category.second) + config_ss << kvp.first << " = " << kvp.second << std::endl; } // Write vendor sections for (const auto &vendor : m_vendors) { @@ -282,17 +375,42 @@ void AppConfig::save() for (const auto &model : vendor.second) { size_sum += model.second.size(); } if (size_sum == 0) { continue; } - c << std::endl << "[" << VENDOR_PREFIX << vendor.first << "]" << std::endl; + config_ss << std::endl << "[" << VENDOR_PREFIX << vendor.first << "]" << std::endl; for (const auto &model : vendor.second) { - if (model.second.size() == 0) { continue; } + if (model.second.empty()) { continue; } const std::vector variants(model.second.begin(), model.second.end()); const auto escaped = escape_strings_cstyle(variants); - c << MODEL_PREFIX << model.first << " = " << escaped << std::endl; + config_ss << MODEL_PREFIX << model.first << " = " << escaped << std::endl; } } - c.close(); + // One empty line before the MD5 sum. + config_ss << std::endl; + std::string config_str = config_ss.str(); + boost::nowide::ofstream c; + c.open(path_pid, std::ios::out | std::ios::trunc); + c << config_str; +#ifdef WIN32 + // WIN32 specific: The final "rename_file()" call is not safe in case of an application crash, there is no atomic "rename file" API + // provided by Windows (sic!). Therefore we save a MD5 checksum to be able to verify file corruption. In addition, + // we save the config file into a backup first before moving it to the final destination. + c << appconfig_md5_hash_line(config_str); +#endif + c.close(); + +#ifdef WIN32 + // Make a backup of the configuration file before copying it to the final destination. + std::string error_message; + std::string backup_path = (boost::format("%1%.bak") % path).str(); + // Copy configuration file with PID suffix into the configuration file with "bak" suffix. + if (copy_file(path_pid, backup_path, error_message, false) != SUCCESS) + BOOST_LOG_TRIVIAL(error) << "Copying from " << path_pid << " to " << backup_path << " failed. Failed to create a backup configuration."; +#endif + + // Rename the config atomically. + // On Windows, the rename is likely NOT atomic, thus it may fail if PrusaSlicer crashes on another thread in the meanwhile. + // To cope with that, we already made a backup of the config on Windows. rename_file(path_pid, path); m_dirty = false; } diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp index c8ccd18cd..0a53a5330 100644 --- a/src/libslic3r/AppConfig.hpp +++ b/src/libslic3r/AppConfig.hpp @@ -37,7 +37,7 @@ public: // Load the slic3r.ini from a user profile directory (or a datadir, if configured). // return error string or empty strinf - std::string load(); + std::string load(); // Store the slic3r.ini into a user profile directory (or a datadir, if configured). void save(); From a4ad186dc3fe08b14006d2c06d1e7247cb8e1a8e Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Thu, 11 Feb 2021 11:15:14 +0100 Subject: [PATCH 38/80] Experimental: Switching all solid infills from Rectilinear to Monotonic for regions with Monotonic top infill type. This should likely implement Monotonic of last layer before ironing #4939 --- src/libslic3r/Fill/Fill.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index 6dbfa18fa..9d6b446e8 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -130,7 +130,7 @@ std::vector group_fills(const Layer &layer) params.density = 100.f; params.pattern = (surface.is_external() && ! is_bridge) ? (surface.is_top() ? region_config.top_fill_pattern.value : region_config.bottom_fill_pattern.value) : - ipRectilinear; + region_config.top_fill_pattern == ipMonotonic ? ipMonotonic : ipRectilinear; } else if (params.density <= 0) continue; @@ -284,7 +284,7 @@ std::vector group_fills(const Layer &layer) if (internal_solid_fill == nullptr) { // Produce another solid fill. params.extruder = layerm.region()->extruder(frSolidInfill); - params.pattern = ipRectilinear; + params.pattern = layerm.region()->config().top_fill_pattern == ipMonotonic ? ipMonotonic : ipRectilinear; params.density = 100.f; params.extrusion_role = erInternalInfill; params.angle = float(Geometry::deg2rad(layerm.region()->config().fill_angle.value)); From 19d38f849817c5a1841a64d41d11bf614b11fd28 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Fri, 25 Jun 2021 17:24:34 +0200 Subject: [PATCH 39/80] Follow-up to Cherry-pick of 2e55898d78ddca4753adb60c9222c52bc9ee8ba8 Fix of an extremely slow bridging calculation, caused by an extremely slow bridged area detection function, of which the results were never used. Fixes "slicing fails or takes too long #5974" --- xs/xsp/Layer.xsp | 2 -- 1 file changed, 2 deletions(-) diff --git a/xs/xsp/Layer.xsp b/xs/xsp/Layer.xsp index fdcc26eb6..5d006e676 100644 --- a/xs/xsp/Layer.xsp +++ b/xs/xsp/Layer.xsp @@ -18,8 +18,6 @@ %code%{ RETVAL = &THIS->thin_fills; %}; Ref fill_surfaces() %code%{ RETVAL = &THIS->fill_surfaces; %}; - Polygons bridged() - %code%{ RETVAL = THIS->bridged; %}; Ref perimeters() %code%{ RETVAL = &THIS->perimeters; %}; Ref fills() From 3c248763629b3687c6c63b7e8884ae461f76a752 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Fri, 25 Jun 2021 17:53:31 +0200 Subject: [PATCH 40/80] Because of a crash in PrusaSlicer 2.3.0/2.3.1 when showing an update notification with some locales, we don't want PrusaSlicer 2.3.0/2.3.1 to show this notification. On the other hand, we would like PrusaSlicer 2.3.2 to show an update notification of the upcoming PrusaSlicer 2.4.0. Thus we will let PrusaSlicer 2.3.2 and couple of follow-up versions to download the version number from an alternate file until the PrusaSlicer 2.3.0/2.3.1 are phased out, then we will revert to the original name. --- src/libslic3r/AppConfig.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 6d588075d..45ea6ab67 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -29,7 +29,12 @@ namespace Slic3r { static const std::string VENDOR_PREFIX = "vendor:"; static const std::string MODEL_PREFIX = "model:"; -static const std::string VERSION_CHECK_URL = "https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaSlicer.version"; +// Because of a crash in PrusaSlicer 2.3.0/2.3.1 when showing an update notification with some locales, we don't want PrusaSlicer 2.3.0/2.3.1 +// to show this notification. On the other hand, we would like PrusaSlicer 2.3.2 to show an update notification of the upcoming PrusaSlicer 2.4.0. +// Thus we will let PrusaSlicer 2.3.2 and couple of follow-up versions to download the version number from an alternate file until the PrusaSlicer 2.3.0/2.3.1 +// are phased out, then we will revert to the original name. +//static const std::string VERSION_CHECK_URL = "https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaSlicer.version"; +static const std::string VERSION_CHECK_URL = "https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/PrusaSlicer.version2"; const std::string AppConfig::SECTION_FILAMENTS = "filaments"; const std::string AppConfig::SECTION_MATERIALS = "sla_materials"; From a53174a2fd8e0f3f00f4ecd229862612cac146cd Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Fri, 25 Jun 2021 21:51:51 +0200 Subject: [PATCH 41/80] Removed Peopoly Clear Tough Same as Peopoly Neo Clear. --- resources/profiles/PrusaResearch.ini | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index d5f99eb91..7d7b4085e 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -5525,13 +5525,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = 3DM -[sla_material:Peopoly Clear Tough @0.025 SL1S] -inherits = *0.025_sl1s* -exposure_time = 1.8 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Peopoly - [sla_material:Peopoly Deft White @0.025 SL1S] inherits = *0.025_sl1s* exposure_time = 1.8 @@ -5646,13 +5639,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = 3DM -[sla_material:Peopoly Clear Tough @0.05 SL1S] -inherits = *0.05_sl1s* -exposure_time = 2 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Peopoly - [sla_material:Peopoly Deft White @0.05 SL1S] inherits = *0.05_sl1s* exposure_time = 2 @@ -5767,13 +5753,6 @@ initial_exposure_time = 25 material_type = Tough material_vendor = 3DM -[sla_material:Peopoly Clear Tough @0.1 SL1S] -inherits = *0.1_sl1s* -exposure_time = 2.6 -initial_exposure_time = 25 -material_type = Tough -material_vendor = Peopoly - [sla_material:Peopoly Deft White @0.1 SL1S] inherits = *0.1_sl1s* exposure_time = 2.6 From 84b28a25e8c92d789ba3d7731dc34af7bc056161 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Sun, 27 Jun 2021 16:04:23 +0200 Subject: [PATCH 42/80] Support for forward compatibility of configurations, user and system config bundles, project files (3MFs, AMFs). When loading these files, the caller may decide whether to substitute some of the configuration values the current PrusaSlicer version does not understand with some reasonable default value, and whether to report it. If substitution is disabled, an exception is being thrown as before this commit. If substitution is enabled, list of substitutions is returned by the API to be presented to the user. This allows us to introduce for example new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer 2.3.2 to fall back to some default and to report it to the user. As a preparation for PrusaSlicer 2.4.0, the new firmware_flavor "marlinfirmware" (signifying Marlin 2.0 and newer) that is not supported by 2.3.2 yet will default to "marlin" (signifying legacy Marlin). When slicing from command line, substutions are performed by default and reported into the console, however substitutions may be either disabled or made silent with the new "config-compatibility" command line option. Substitute enums and bools only. Allow booleans to be parsed as true: "1", "enabled", "on" case insensitive false: "0", "disabled", "off" case insensitive This will allow us in the future for example to switch the draft_shield boolean to an enum with the following values: "disabled" / "enabled" / "limited". Added "enum_bitmask.hpp" - support for type safe sets of options. See for example PresetBundle::load_configbundle(... LoadConfigBundleAttributes flags) for an example of intended usage. WIP: GUI for reporting the list of config substitutions needs to be implemented by @YuSanka. --- src/PrusaSlicer.cpp | 24 +++- src/libslic3r/CMakeLists.txt | 1 + src/libslic3r/Config.cpp | 94 ++++++++++----- src/libslic3r/Config.hpp | 81 +++++++++++-- src/libslic3r/Format/3mf.cpp | 46 +++---- src/libslic3r/Format/3mf.hpp | 3 +- src/libslic3r/Format/AMF.cpp | 32 ++--- src/libslic3r/Format/AMF.hpp | 2 +- src/libslic3r/Format/PRUS.cpp | 7 +- src/libslic3r/Format/SL1.cpp | 10 +- src/libslic3r/Format/SL1.hpp | 8 +- src/libslic3r/GCode/GCodeProcessor.cpp | 5 +- src/libslic3r/Model.cpp | 39 +++--- src/libslic3r/Model.hpp | 19 ++- src/libslic3r/Preset.cpp | 16 ++- src/libslic3r/Preset.hpp | 29 ++++- src/libslic3r/PresetBundle.cpp | 127 +++++++++++++------- src/libslic3r/PresetBundle.hpp | 25 ++-- src/libslic3r/PrintConfig.cpp | 16 ++- src/libslic3r/PrintConfig.hpp | 14 ++- src/libslic3r/enum_bitmask.hpp | 80 ++++++++++++ src/libslic3r/pchheader.hpp | 1 + src/slic3r/Config/Snapshot.cpp | 2 +- src/slic3r/GUI/ConfigWizard.cpp | 9 +- src/slic3r/GUI/GUI_App.cpp | 63 +++++----- src/slic3r/GUI/GUI_App.hpp | 4 +- src/slic3r/GUI/GUI_Init.cpp | 33 +---- src/slic3r/GUI/GUI_Init.hpp | 4 + src/slic3r/GUI/Jobs/SLAImportJob.cpp | 11 +- src/slic3r/GUI/MainFrame.cpp | 22 +++- src/slic3r/GUI/MainFrame.hpp | 2 +- src/slic3r/GUI/Plater.cpp | 17 ++- src/slic3r/Utils/FixModelByWin10.cpp | 3 +- src/slic3r/Utils/PresetUpdater.cpp | 35 +++--- tests/fff_print/test_data.cpp | 4 +- tests/fff_print/test_flow.cpp | 2 +- tests/fff_print/test_gcodewriter.cpp | 2 +- tests/fff_print/test_print.cpp | 2 +- tests/fff_print/test_printgcode.cpp | 2 +- tests/fff_print/test_skirt_brim.cpp | 22 ++-- tests/libslic3r/test_3mf.cpp | 8 +- tests/libslic3r/test_config.cpp | 14 +-- tests/libslic3r/test_placeholder_parser.cpp | 2 +- xs/src/perlglue.cpp | 5 +- xs/xsp/Config.xsp | 4 +- xs/xsp/Flow.xsp | 2 +- xs/xsp/Model.xsp | 2 +- 47 files changed, 644 insertions(+), 311 deletions(-) create mode 100644 src/libslic3r/enum_bitmask.hpp diff --git a/src/PrusaSlicer.cpp b/src/PrusaSlicer.cpp index 6a019271e..b0df2c99a 100644 --- a/src/PrusaSlicer.cpp +++ b/src/PrusaSlicer.cpp @@ -110,7 +110,8 @@ int CLI::run(int argc, char **argv) boost::algorithm::iends_with(boost::filesystem::path(argv[0]).filename().string(), "gcodeviewer"); #endif // _WIN32 - const std::vector &load_configs = m_config.option("load", true)->values; + const std::vector &load_configs = m_config.option("load", true)->values; + const ForwardCompatibilitySubstitutionRule config_substitution_rule = m_config.option>("config_compatibility", true)->value; // load config files supplied via --load for (auto const &file : load_configs) { @@ -122,13 +123,19 @@ int CLI::run(int argc, char **argv) return 1; } } - DynamicPrintConfig config; + DynamicPrintConfig config; + ConfigSubstitutions config_substitutions; try { - config.load(file); + config_substitutions = config.load(file, config_substitution_rule); } catch (std::exception &ex) { - boost::nowide::cerr << "Error while reading config file: " << ex.what() << std::endl; + boost::nowide::cerr << "Error while reading config file \"" << file << "\": " << ex.what() << std::endl; return 1; } + if (! config_substitutions.empty()) { + boost::nowide::cout << "The following configuration values were substituted when loading \" << file << \":\n"; + for (const ConfigSubstitution &subst : config_substitutions) + boost::nowide::cout << "\tkey = \"" << subst.opt_def->opt_key << "\"\t loaded = \"" << subst.old_value << "\tsubstituted = \"" << subst.new_value->serialize() << "\"\n"; + } config.normalize_fdm(); PrinterTechnology other_printer_technology = Slic3r::printer_technology(config); if (printer_technology == ptUnknown) { @@ -166,7 +173,9 @@ int CLI::run(int argc, char **argv) try { // When loading an AMF or 3MF, config is imported as well, including the printer technology. DynamicPrintConfig config; - model = Model::read_from_file(file, &config, true); + ConfigSubstitutionContext config_substitutions(config_substitution_rule); + //FIXME should we check the version here? // | Model::LoadAttribute::CheckVersion ? + model = Model::read_from_file(file, &config, &config_substitutions, Model::LoadAttribute::AddDefaultInstances); PrinterTechnology other_printer_technology = Slic3r::printer_technology(config); if (printer_technology == ptUnknown) { printer_technology = other_printer_technology; @@ -175,6 +184,11 @@ int CLI::run(int argc, char **argv) boost::nowide::cerr << "Mixing configurations for FFF and SLA technologies" << std::endl; return 1; } + if (! config_substitutions.substitutions.empty()) { + boost::nowide::cout << "The following configuration values were substituted when loading \" << file << \":\n"; + for (const ConfigSubstitution& subst : config_substitutions.substitutions) + boost::nowide::cout << "\tkey = \"" << subst.opt_def->opt_key << "\"\t loaded = \"" << subst.old_value << "\tsubstituted = \"" << subst.new_value->serialize() << "\"\n"; + } // config is applied to m_print_config before the current m_config values. config += std::move(m_print_config); m_print_config = std::move(config); diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt index 5e0808190..d8bd5118e 100644 --- a/src/libslic3r/CMakeLists.txt +++ b/src/libslic3r/CMakeLists.txt @@ -29,6 +29,7 @@ add_library(libslic3r STATIC EdgeGrid.hpp ElephantFootCompensation.cpp ElephantFootCompensation.hpp + enum_bitmask.hpp ExPolygon.cpp ExPolygon.hpp ExPolygonCollection.cpp diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index ea6c78f7c..3f51e9eaf 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -21,6 +21,10 @@ #include #include +//FIXME for GCodeFlavor and gcfMarlin (for forward-compatibility conversion) +// This is not nice, likely it would be better to pass the ConfigSubstitutionContext to handle_legacy(). +#include "PrintConfig.hpp" + namespace Slic3r { // Escape \n, \r and backslash @@ -209,6 +213,10 @@ std::string escape_ampersand(const std::string& str) return std::string(out.data(), outptr - out.data()); } +void ConfigOptionDeleter::operator()(ConfigOption* p) { + delete p; +} + std::vector ConfigOptionDef::cli_args(const std::string &key) const { std::vector args; @@ -359,7 +367,8 @@ std::ostream& ConfigDef::print_cli_help(std::ostream& out, bool show_defaults, s // right: option description std::string descr = def.tooltip; - if (show_defaults && def.default_value && def.type != coBool + bool show_defaults_this = show_defaults || def.opt_key == "config_compatibility"; + if (show_defaults_this && def.default_value && def.type != coBool && (def.type != coString || !def.default_value->serialize().empty())) { descr += " ("; if (!def.sidetext.empty()) { @@ -467,7 +476,7 @@ void ConfigBase::set(const std::string &opt_key, double value, bool create) } } -bool ConfigBase::set_deserialize_nothrow(const t_config_option_key &opt_key_src, const std::string &value_src, bool append) +bool ConfigBase::set_deserialize_nothrow(const t_config_option_key &opt_key_src, const std::string &value_src, ConfigSubstitutionContext& substitutions_ctxt, bool append) { t_config_option_key opt_key = opt_key_src; std::string value = value_src; @@ -477,29 +486,29 @@ bool ConfigBase::set_deserialize_nothrow(const t_config_option_key &opt_key_src, if (opt_key.empty()) // Ignore the option. return true; - return this->set_deserialize_raw(opt_key, value, append); + return this->set_deserialize_raw(opt_key, value, substitutions_ctxt, append); } -void ConfigBase::set_deserialize(const t_config_option_key &opt_key_src, const std::string &value_src, bool append) +void ConfigBase::set_deserialize(const t_config_option_key &opt_key_src, const std::string &value_src, ConfigSubstitutionContext& substitutions_ctxt, bool append) { - if (! this->set_deserialize_nothrow(opt_key_src, value_src, append)) + if (! this->set_deserialize_nothrow(opt_key_src, value_src, substitutions_ctxt, append)) throw BadOptionTypeException(format("ConfigBase::set_deserialize() failed for parameter \"%1%\", value \"%2%\"", opt_key_src, value_src)); } -void ConfigBase::set_deserialize(std::initializer_list items) +void ConfigBase::set_deserialize(std::initializer_list items, ConfigSubstitutionContext& substitutions_ctxt) { for (const SetDeserializeItem &item : items) - this->set_deserialize(item.opt_key, item.opt_value, item.append); + this->set_deserialize(item.opt_key, item.opt_value, substitutions_ctxt, item.append); } -bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, const std::string &value, bool append) +bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, const std::string &value, ConfigSubstitutionContext& substitutions_ctxt, bool append) { - t_config_option_key opt_key = opt_key_src; + t_config_option_key opt_key = opt_key_src; // Try to deserialize the option by its name. - const ConfigDef *def = this->def(); + const ConfigDef *def = this->def(); if (def == nullptr) throw NoDefinitionException(opt_key); - const ConfigOptionDef *optdef = def->get(opt_key); + const ConfigOptionDef *optdef = def->get(opt_key); if (optdef == nullptr) { // If we didn't find an option, look for any other option having this as an alias. for (const auto &opt : def->options) { @@ -521,14 +530,38 @@ bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, con // Aliasing for example "solid_layers" to "top_solid_layers" and "bottom_solid_layers". for (const t_config_option_key &shortcut : optdef->shortcut) // Recursive call. - if (! this->set_deserialize_raw(shortcut, value, append)) + if (! this->set_deserialize_raw(shortcut, value, substitutions_ctxt, append)) return false; return true; } ConfigOption *opt = this->option(opt_key, true); assert(opt != nullptr); - return opt->deserialize(value, append); + bool success = opt->deserialize(value, append); + if (! success && substitutions_ctxt.rule != ForwardCompatibilitySubstitutionRule::Disable && + // Only allow substitutions of an enum value by another enum value or a boolean value with an enum value. + // That means, we expect enum values being added in the future and possibly booleans being converted to enums. + (optdef->type == coEnum || optdef->type == coBool)) + { + // Deserialize failed, try to substitute with a default value. + assert(substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable || substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::EnableSilent); + + if (opt_key == "gcode_flavor" && value == "marlinfirmware") + static_cast*>(opt)->value = gcfMarlin; + else + opt->set(optdef->default_value.get()); + + if (substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable) { + // Log the substitution. + ConfigSubstitution config_substitution; + config_substitution.opt_def = optdef; + config_substitution.old_value = value;//std::unique_ptr(opt); + config_substitution.new_value = ConfigOptionUniquePtr(this->option(opt_key, true)->clone()); + substitutions_ctxt.substitutions.emplace_back(std::move(config_substitution)); + } + return true; + } + return success; } // Return an absolute value of a possibly relative config variable. @@ -587,36 +620,37 @@ void ConfigBase::setenv_() const } } -void ConfigBase::load(const std::string &file) +ConfigSubstitutions ConfigBase::load(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule) { - if (is_gcode_file(file)) - this->load_from_gcode_file(file); - else - this->load_from_ini(file); + return is_gcode_file(file) ? + this->load_from_gcode_file(file, compatibility_rule) : + this->load_from_ini(file, compatibility_rule); } -void ConfigBase::load_from_ini(const std::string &file) +ConfigSubstitutions ConfigBase::load_from_ini(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule) { boost::property_tree::ptree tree; boost::nowide::ifstream ifs(file); boost::property_tree::read_ini(ifs, tree); - this->load(tree); + return this->load(tree, compatibility_rule); } -void ConfigBase::load(const boost::property_tree::ptree &tree) +ConfigSubstitutions ConfigBase::load(const boost::property_tree::ptree &tree, ForwardCompatibilitySubstitutionRule compatibility_rule) { + ConfigSubstitutionContext substitutions_ctxt(compatibility_rule); for (const boost::property_tree::ptree::value_type &v : tree) { try { t_config_option_key opt_key = v.first; - this->set_deserialize(opt_key, v.second.get_value()); + this->set_deserialize(opt_key, v.second.get_value(), substitutions_ctxt); } catch (UnknownOptionException & /* e */) { // ignore } } + return std::move(substitutions_ctxt.substitutions); } // Load the config keys from the tail of a G-code file. -void ConfigBase::load_from_gcode_file(const std::string &file) +ConfigSubstitutions ConfigBase::load_from_gcode_file(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule) { // Read a 64k block from the end of the G-code. boost::nowide::ifstream ifs(file); @@ -637,13 +671,15 @@ void ConfigBase::load_from_gcode_file(const std::string &file) ifs.read(data.data(), data_length); ifs.close(); - size_t key_value_pairs = load_from_gcode_string(data.data()); + ConfigSubstitutionContext substitutions_ctxt(compatibility_rule); + size_t key_value_pairs = load_from_gcode_string(data.data(), substitutions_ctxt); if (key_value_pairs < 80) throw Slic3r::RuntimeError(format("Suspiciously low number of configuration values extracted from %1%: %2%", file, key_value_pairs)); + return std::move(substitutions_ctxt.substitutions); } // Load the config keys from the given string. -size_t ConfigBase::load_from_gcode_string(const char* str) +size_t ConfigBase::load_from_gcode_string(const char* str, ConfigSubstitutionContext& substitutions) { if (str == nullptr) return 0; @@ -688,7 +724,7 @@ size_t ConfigBase::load_from_gcode_string(const char* str) if (key == nullptr) break; try { - this->set_deserialize(std::string(key, key_end), std::string(value, end)); + this->set_deserialize(std::string(key, key_end), std::string(value, end), substitutions); ++num_key_value_pairs; } catch (UnknownOptionException & /* e */) { @@ -717,7 +753,7 @@ void ConfigBase::null_nullables() ConfigOption *opt = this->optptr(opt_key, false); assert(opt != nullptr); if (opt->nullable()) - opt->deserialize("nil"); + opt->deserialize("nil", ForwardCompatibilitySubstitutionRule::Disable); } } @@ -881,8 +917,10 @@ bool DynamicConfig::read_cli(int argc, const char* const argv[], t_config_option // Do not unescape single string values, the unescaping is left to the calling shell. static_cast(opt_base)->value = value; } else { + // Just bail out if the configuration value is not understood. + ConfigSubstitutionContext context(ForwardCompatibilitySubstitutionRule::Disable); // Any scalar value of a type different from Bool and String. - if (! this->set_deserialize_nothrow(opt_key, value, false)) { + if (! this->set_deserialize_nothrow(opt_key, value, context, false)) { boost::nowide::cerr << "Invalid value supplied for --" << token.c_str() << std::endl; return false; } diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 8cdacd59f..1538433fe 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -16,6 +16,7 @@ #include "Exception.hpp" #include "Point.hpp" +#include #include #include #include @@ -120,6 +121,41 @@ enum PrinterTechnology : unsigned char ptAny }; +enum ForwardCompatibilitySubstitutionRule +{ + Disable, + Enable, + EnableSilent, +}; + +class ConfigOption; +class ConfigOptionDef; +// For forward definition of ConfigOption in ConfigOptionUniquePtr, we have to define a custom deleter. +struct ConfigOptionDeleter { void operator()(ConfigOption* p); }; +using ConfigOptionUniquePtr = std::unique_ptr; + +// When parsing a configuration value, if the old_value is not understood by this PrusaSlicer version, +// it is being substituted with some default value that this PrusaSlicer could work with. +// This structure serves to inform the user about the substitutions having been done during file import. +struct ConfigSubstitution { + const ConfigOptionDef *opt_def { nullptr }; + std::string old_value; + ConfigOptionUniquePtr new_value; +}; + +using ConfigSubstitutions = std::vector; + +// Filled in by ConfigBase::set_deserialize_raw(), which based on "rule" either bails out +// or performs substitutions when encountering an unknown configuration value. +struct ConfigSubstitutionContext +{ + ConfigSubstitutionContext(ForwardCompatibilitySubstitutionRule rl) : rule(rl) {} + bool empty() const throw() { return substitutions.empty(); } + + ForwardCompatibilitySubstitutionRule rule; + ConfigSubstitutions substitutions; +}; + // A generic value of a configuration option. class ConfigOption { public: @@ -697,7 +733,7 @@ public: return escape_string_cstyle(this->value); } - bool deserialize(const std::string &str, bool append = false) override + bool deserialize(const std::string &str, bool append = false) override { UNUSED(append); return unescape_string_cstyle(str, this->value); @@ -1193,8 +1229,15 @@ public: bool deserialize(const std::string &str, bool append = false) override { UNUSED(append); - this->value = (str.compare("1") == 0); - return true; + if (str == "1" || boost::iequals(str, "enabled") || boost::iequals(str, "on")) { + this->value = true; + return true; + } + if (str == "0" || boost::iequals(str, "disabled") || boost::iequals(str, "off")) { + this->value = false; + return true; + } + return false; } private: @@ -1601,6 +1644,14 @@ public: static const constexpr char *nocli = "~~~noCLI"; }; +inline bool operator<(const ConfigSubstitution &lhs, const ConfigSubstitution &rhs) throw() { + return lhs.opt_def->opt_key < rhs.opt_def->opt_key || + (lhs.opt_def->opt_key == rhs.opt_def->opt_key && lhs.old_value < rhs.old_value); +} +inline bool operator==(const ConfigSubstitution &lhs, const ConfigSubstitution &rhs) throw() { + return lhs.opt_def == rhs.opt_def && lhs.old_value == rhs.old_value; +} + // Map from a config option name to its definition. // The definition does not carry an actual value of the config option, only its constant default value. // t_config_option_key is std::string @@ -1679,6 +1730,8 @@ public: } }; + + // An abstract configuration store. class ConfigBase : public ConfigOptionResolver { @@ -1766,9 +1819,11 @@ public: // Set a configuration value from a string, it will call an overridable handle_legacy() // to resolve renamed and removed configuration keys. - bool set_deserialize_nothrow(const t_config_option_key &opt_key_src, const std::string &value_src, bool append = false); + bool set_deserialize_nothrow(const t_config_option_key &opt_key_src, const std::string &value_src, ConfigSubstitutionContext& substitutions, bool append = false); // May throw BadOptionTypeException() if the operation fails. - void set_deserialize(const t_config_option_key &opt_key, const std::string &str, bool append = false); + void set_deserialize(const t_config_option_key &opt_key, const std::string &str, ConfigSubstitutionContext& config_substitutions, bool append = false); + void set_deserialize_strict(const t_config_option_key &opt_key, const std::string &str, bool append = false) + { ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Disable }; this->set_deserialize(opt_key, str, ctxt, append); } struct SetDeserializeItem { SetDeserializeItem(const char *opt_key, const char *opt_value, bool append = false) : opt_key(opt_key), opt_value(opt_value), append(append) {} SetDeserializeItem(const std::string &opt_key, const std::string &opt_value, bool append = false) : opt_key(opt_key), opt_value(opt_value), append(append) {} @@ -1783,17 +1838,19 @@ public: std::string opt_key; std::string opt_value; bool append = false; }; // May throw BadOptionTypeException() if the operation fails. - void set_deserialize(std::initializer_list items); + void set_deserialize(std::initializer_list items, ConfigSubstitutionContext& substitutions); + void set_deserialize_strict(std::initializer_list items) + { ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Disable }; this->set_deserialize(items, ctxt); } double get_abs_value(const t_config_option_key &opt_key) const; double get_abs_value(const t_config_option_key &opt_key, double ratio_over) const; void setenv_() const; - void load(const std::string &file); - void load_from_ini(const std::string &file); - void load_from_gcode_file(const std::string &file); + ConfigSubstitutions load(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule); + ConfigSubstitutions load_from_ini(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule); + ConfigSubstitutions load_from_gcode_file(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule); // Returns number of key/value pairs extracted. - size_t load_from_gcode_string(const char* str); - void load(const boost::property_tree::ptree &tree); + size_t load_from_gcode_string(const char* str, ConfigSubstitutionContext& substitutions); + ConfigSubstitutions load(const boost::property_tree::ptree &tree, ForwardCompatibilitySubstitutionRule compatibility_rule); void save(const std::string &file) const; // Set all the nullable values to nils. @@ -1801,7 +1858,7 @@ public: private: // Set a configuration value from a string. - bool set_deserialize_raw(const t_config_option_key &opt_key_src, const std::string &str, bool append); + bool set_deserialize_raw(const t_config_option_key& opt_key_src, const std::string& value, ConfigSubstitutionContext& substitutions, bool append); }; // Configuration store with dynamic number of configuration values. diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index b99e954be..8618493c5 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -423,7 +423,7 @@ namespace Slic3r { _3MF_Importer(); ~_3MF_Importer(); - bool load_model_from_file(const std::string& filename, Model& model, DynamicPrintConfig& config, bool check_version); + bool load_model_from_file(const std::string& filename, Model& model, DynamicPrintConfig& config, ConfigSubstitutionContext& config_substitutions, bool check_version); private: void _destroy_xml_parser(); @@ -438,16 +438,16 @@ namespace Slic3r { XML_ErrorString(XML_GetErrorCode(m_xml_parser)); } - bool _load_model_from_file(const std::string& filename, Model& model, DynamicPrintConfig& config); + bool _load_model_from_file(const std::string& filename, Model& model, DynamicPrintConfig& config, ConfigSubstitutionContext& config_substitutions); bool _extract_model_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat); void _extract_layer_heights_profile_config_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat); - void _extract_layer_config_ranges_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat); + void _extract_layer_config_ranges_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, ConfigSubstitutionContext& config_substitutions); void _extract_sla_support_points_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat); void _extract_sla_drain_holes_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat); void _extract_custom_gcode_per_print_z_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat); - void _extract_print_config_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, DynamicPrintConfig& config, const std::string& archive_filename); + void _extract_print_config_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, DynamicPrintConfig& config, ConfigSubstitutionContext& subs_context, const std::string& archive_filename); bool _extract_model_config_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, Model& model); // handlers to parse the .model file @@ -514,7 +514,7 @@ namespace Slic3r { bool _handle_start_config_metadata(const char** attributes, unsigned int num_attributes); bool _handle_end_config_metadata(); - bool _generate_volumes(ModelObject& object, const Geometry& geometry, const ObjectMetadata::VolumeMetadataList& volumes); + bool _generate_volumes(ModelObject& object, const Geometry& geometry, const ObjectMetadata::VolumeMetadataList& volumes, ConfigSubstitutionContext& config_substitutions); // callbacks to parse the .model file static void XMLCALL _handle_start_model_xml_element(void* userData, const char* name, const char** attributes); @@ -543,7 +543,7 @@ namespace Slic3r { _destroy_xml_parser(); } - bool _3MF_Importer::load_model_from_file(const std::string& filename, Model& model, DynamicPrintConfig& config, bool check_version) + bool _3MF_Importer::load_model_from_file(const std::string& filename, Model& model, DynamicPrintConfig& config, ConfigSubstitutionContext& config_substitutions, bool check_version) { m_version = 0; m_check_version = check_version; @@ -564,7 +564,7 @@ namespace Slic3r { m_curr_characters.clear(); clear_errors(); - return _load_model_from_file(filename, model, config); + return _load_model_from_file(filename, model, config, config_substitutions); } void _3MF_Importer::_destroy_xml_parser() @@ -586,7 +586,7 @@ namespace Slic3r { XML_StopParser(m_xml_parser, false); } - bool _3MF_Importer::_load_model_from_file(const std::string& filename, Model& model, DynamicPrintConfig& config) + bool _3MF_Importer::_load_model_from_file(const std::string& filename, Model& model, DynamicPrintConfig& config, ConfigSubstitutionContext& config_substitutions) { mz_zip_archive archive; mz_zip_zero_struct(&archive); @@ -648,7 +648,7 @@ namespace Slic3r { if (boost::algorithm::iequals(name, LAYER_CONFIG_RANGES_FILE)) { // extract slic3r layer config ranges file - _extract_layer_config_ranges_from_archive(archive, stat); + _extract_layer_config_ranges_from_archive(archive, stat, config_substitutions); } else if (boost::algorithm::iequals(name, SLA_SUPPORT_POINTS_FILE)) { @@ -663,7 +663,7 @@ namespace Slic3r { else if (boost::algorithm::iequals(name, PRINT_CONFIG_FILE)) { // extract slic3r print config file - _extract_print_config_from_archive(archive, stat, config, filename); + _extract_print_config_from_archive(archive, stat, config, config_substitutions, filename); } if (boost::algorithm::iequals(name, CUSTOM_GCODE_PER_PRINT_Z_FILE)) { @@ -734,7 +734,7 @@ namespace Slic3r { if (metadata.key == "name") model_object->name = metadata.value; else - model_object->config.set_deserialize(metadata.key, metadata.value); + model_object->config.set_deserialize(metadata.key, metadata.value, config_substitutions); } // select object's detected volumes @@ -751,7 +751,7 @@ namespace Slic3r { volumes_ptr = &volumes; } - if (!_generate_volumes(*model_object, obj_geometry->second, *volumes_ptr)) + if (!_generate_volumes(*model_object, obj_geometry->second, *volumes_ptr, config_substitutions)) return false; } @@ -828,7 +828,10 @@ namespace Slic3r { return true; } - void _3MF_Importer::_extract_print_config_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, DynamicPrintConfig& config, const std::string& archive_filename) + void _3MF_Importer::_extract_print_config_from_archive( + mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, + DynamicPrintConfig& config, ConfigSubstitutionContext& config_substitutions, + const std::string& archive_filename) { if (stat.m_uncomp_size > 0) { @@ -839,7 +842,7 @@ namespace Slic3r { add_error("Error while reading config data to buffer"); return; } - config.load_from_gcode_string(buffer.data()); + config.load_from_gcode_string(buffer.data(), config_substitutions); } } @@ -914,7 +917,7 @@ namespace Slic3r { } } - void _3MF_Importer::_extract_layer_config_ranges_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat) + void _3MF_Importer::_extract_layer_config_ranges_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, ConfigSubstitutionContext& config_substitutions) { if (stat.m_uncomp_size > 0) { @@ -963,8 +966,7 @@ namespace Slic3r { continue; std::string opt_key = option.second.get(".opt_key"); std::string value = option.second.data(); - - config.set_deserialize(opt_key, value); + config.set_deserialize(opt_key, value, config_substitutions); } config_ranges[{ min_z, max_z }].assign_config(std::move(config)); @@ -1855,7 +1857,7 @@ namespace Slic3r { return true; } - bool _3MF_Importer::_generate_volumes(ModelObject& object, const Geometry& geometry, const ObjectMetadata::VolumeMetadataList& volumes) + bool _3MF_Importer::_generate_volumes(ModelObject& object, const Geometry& geometry, const ObjectMetadata::VolumeMetadataList& volumes, ConfigSubstitutionContext& config_substitutions) { if (!object.volumes.empty()) { @@ -1957,7 +1959,7 @@ namespace Slic3r { else if (metadata.key == SOURCE_IN_INCHES) volume->source.is_converted_from_inches = metadata.value == "1"; else - volume->config.set_deserialize(metadata.key, metadata.value); + volume->config.set_deserialize(metadata.key, metadata.value, config_substitutions); } } @@ -2880,13 +2882,13 @@ bool _3MF_Exporter::_add_custom_gcode_per_print_z_file_to_archive( mz_zip_archiv return true; } -bool load_3mf(const char* path, DynamicPrintConfig* config, Model* model, bool check_version) +bool load_3mf(const char* path, DynamicPrintConfig& config, ConfigSubstitutionContext& config_substitutions, Model* model, bool check_version) { - if ((path == nullptr) || (config == nullptr) || (model == nullptr)) + if (path == nullptr || model == nullptr) return false; _3MF_Importer importer; - bool res = importer.load_model_from_file(path, *model, *config, check_version); + bool res = importer.load_model_from_file(path, *model, config, config_substitutions, check_version); importer.log_errors(); return res; } diff --git a/src/libslic3r/Format/3mf.hpp b/src/libslic3r/Format/3mf.hpp index ccfd9356d..553b31898 100644 --- a/src/libslic3r/Format/3mf.hpp +++ b/src/libslic3r/Format/3mf.hpp @@ -25,11 +25,12 @@ namespace Slic3r { }; class Model; + struct ConfigSubstitutionContext; class DynamicPrintConfig; struct ThumbnailData; // Load the content of a 3mf file into the given model and preset bundle. - extern bool load_3mf(const char* path, DynamicPrintConfig* config, Model* model, bool check_version); + extern bool load_3mf(const char* path, DynamicPrintConfig& config, ConfigSubstitutionContext& config_substitutions, Model* model, bool check_version); // Save the given model and the config data contained in the given Print into a 3mf file. // The model could be modified during the export process if meshes are not repaired or have no shared vertices diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index 14d23011e..c55b6fd37 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -62,10 +62,11 @@ namespace Slic3r struct AMFParserContext { - AMFParserContext(XML_Parser parser, DynamicPrintConfig* config, Model* model) : + AMFParserContext(XML_Parser parser, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, Model* model) : m_parser(parser), m_model(*model), - m_config(config) + m_config(config), + m_config_substitutions(config_substitutions) { m_path.reserve(12); } @@ -256,6 +257,8 @@ struct AMFParserContext std::string m_value[5]; // Pointer to config to update if config data are stored inside the amf file DynamicPrintConfig *m_config { nullptr }; + // Config substitution rules and collected config substitution log. + ConfigSubstitutionContext *m_config_substitutions { nullptr }; private: AMFParserContext& operator=(AMFParserContext&); @@ -699,8 +702,9 @@ void AMFParserContext::endElement(const char * /* name */) } case NODE_TYPE_METADATA: - if ((m_config != nullptr) && strncmp(m_value[0].c_str(), SLIC3R_CONFIG_TYPE, strlen(SLIC3R_CONFIG_TYPE)) == 0) - m_config->load_from_gcode_string(m_value[1].c_str()); + if ((m_config != nullptr) && strncmp(m_value[0].c_str(), SLIC3R_CONFIG_TYPE, strlen(SLIC3R_CONFIG_TYPE)) == 0) { + m_config->load_from_gcode_string(m_value[1].c_str(), *m_config_substitutions); + } else if (strncmp(m_value[0].c_str(), "slic3r.", 7) == 0) { const char *opt_key = m_value[0].c_str() + 7; if (print_config_def.options.find(opt_key) != print_config_def.options.end()) { @@ -718,7 +722,7 @@ void AMFParserContext::endElement(const char * /* name */) config = &it->second; } if (config) - config->set_deserialize(opt_key, m_value[1]); + config->set_deserialize(opt_key, m_value[1], *m_config_substitutions); } else if (m_path.size() == 3 && m_path[1] == NODE_TYPE_OBJECT && m_object && strcmp(opt_key, "layer_height_profile") == 0) { // Parse object's layer height profile, a semicolon separated list of floats. char *p = m_value[1].data(); @@ -843,7 +847,7 @@ void AMFParserContext::endDocument() } // Load an AMF file into a provided model. -bool load_amf_file(const char *path, DynamicPrintConfig *config, Model *model) +bool load_amf_file(const char *path, DynamicPrintConfig *config, ConfigSubstitutionContext *config_substitutions, Model *model) { if ((path == nullptr) || (model == nullptr)) return false; @@ -860,7 +864,7 @@ bool load_amf_file(const char *path, DynamicPrintConfig *config, Model *model) return false; } - AMFParserContext ctx(parser, config, model); + AMFParserContext ctx(parser, config, config_substitutions, model); XML_SetUserData(parser, (void*)&ctx); XML_SetElementHandler(parser, AMFParserContext::startElement, AMFParserContext::endElement); XML_SetCharacterDataHandler(parser, AMFParserContext::characters); @@ -904,7 +908,7 @@ bool load_amf_file(const char *path, DynamicPrintConfig *config, Model *model) return result; } -bool extract_model_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, DynamicPrintConfig* config, Model* model, bool check_version) +bool extract_model_from_archive(mz_zip_archive& archive, const mz_zip_archive_file_stat& stat, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, Model* model, bool check_version) { if (stat.m_uncomp_size == 0) { @@ -920,7 +924,7 @@ bool extract_model_from_archive(mz_zip_archive& archive, const mz_zip_archive_fi return false; } - AMFParserContext ctx(parser, config, model); + AMFParserContext ctx(parser, config, config_substitutions, model); XML_SetUserData(parser, (void*)&ctx); XML_SetElementHandler(parser, AMFParserContext::startElement, AMFParserContext::endElement); XML_SetCharacterDataHandler(parser, AMFParserContext::characters); @@ -980,7 +984,7 @@ bool extract_model_from_archive(mz_zip_archive& archive, const mz_zip_archive_fi } // Load an AMF archive into a provided model. -bool load_amf_archive(const char* path, DynamicPrintConfig* config, Model* model, bool check_version) +bool load_amf_archive(const char* path, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, Model* model, bool check_version) { if ((path == nullptr) || (model == nullptr)) return false; @@ -1006,7 +1010,7 @@ bool load_amf_archive(const char* path, DynamicPrintConfig* config, Model* model { try { - if (!extract_model_from_archive(archive, stat, config, model, check_version)) + if (!extract_model_from_archive(archive, stat, config, config_substitutions, model, check_version)) { close_zip_reader(&archive); printf("Archive does not contain a valid model"); @@ -1048,11 +1052,11 @@ bool load_amf_archive(const char* path, DynamicPrintConfig* config, Model* model // Load an AMF file into a provided model. // If config is not a null pointer, updates it if the amf file/archive contains config data -bool load_amf(const char* path, DynamicPrintConfig* config, Model* model, bool check_version) +bool load_amf(const char* path, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, Model* model, bool check_version) { if (boost::iends_with(path, ".amf.xml")) // backward compatibility with older slic3r output - return load_amf_file(path, config, model); + return load_amf_file(path, config, config_substitutions, model); else if (boost::iends_with(path, ".amf")) { boost::nowide::ifstream file(path, boost::nowide::ifstream::binary); @@ -1063,7 +1067,7 @@ bool load_amf(const char* path, DynamicPrintConfig* config, Model* model, bool c file.read(zip_mask.data(), 2); file.close(); - return (zip_mask == "PK") ? load_amf_archive(path, config, model, check_version) : load_amf_file(path, config, model); + return (zip_mask == "PK") ? load_amf_archive(path, config, config_substitutions, model, check_version) : load_amf_file(path, config, config_substitutions, model); } else return false; diff --git a/src/libslic3r/Format/AMF.hpp b/src/libslic3r/Format/AMF.hpp index 3e33d4aa3..8a09b1b8d 100644 --- a/src/libslic3r/Format/AMF.hpp +++ b/src/libslic3r/Format/AMF.hpp @@ -7,7 +7,7 @@ class Model; class DynamicPrintConfig; // Load the content of an amf file into the given model and configuration. -extern bool load_amf(const char* path, DynamicPrintConfig* config, Model* model, bool check_version); +extern bool load_amf(const char* path, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, Model* model, bool check_version); // Save the given model and the config data into an amf file. // The model could be modified during the export process if meshes are not repaired or have no shared vertices diff --git a/src/libslic3r/Format/PRUS.cpp b/src/libslic3r/Format/PRUS.cpp index e2c38d957..6f86a203f 100644 --- a/src/libslic3r/Format/PRUS.cpp +++ b/src/libslic3r/Format/PRUS.cpp @@ -286,11 +286,8 @@ static void extract_model_from_archive( volume->name = name; } // Set the extruder to the volume. - if (extruder_id != (unsigned int)-1) { - char str_extruder[64]; - sprintf(str_extruder, "%ud", extruder_id); - volume->config.set_deserialize("extruder", str_extruder); - } + if (extruder_id != (unsigned int)-1) + volume->config.set("extruder", int(extruder_id)); } // Load a PrusaControl project file into a provided model. diff --git a/src/libslic3r/Format/SL1.cpp b/src/libslic3r/Format/SL1.cpp index f04855182..e1cd33b7f 100644 --- a/src/libslic3r/Format/SL1.cpp +++ b/src/libslic3r/Format/SL1.cpp @@ -287,13 +287,13 @@ std::vector extract_slices_from_sla_archive( } // namespace -void import_sla_archive(const std::string &zipfname, DynamicPrintConfig &out) +ConfigSubstitutions import_sla_archive(const std::string &zipfname, DynamicPrintConfig &out) { ArchiveData arch = extract_sla_archive(zipfname, "png"); - out.load(arch.profile); + return out.load(arch.profile, ForwardCompatibilitySubstitutionRule::Enable); } -void import_sla_archive( +ConfigSubstitutions import_sla_archive( const std::string & zipfname, Vec2i windowsize, TriangleMesh & out, @@ -305,7 +305,7 @@ void import_sla_archive( windowsize.y() = std::max(2, windowsize.y()); ArchiveData arch = extract_sla_archive(zipfname, "thumbnail"); - profile.load(arch.profile); + ConfigSubstitutions config_substitutions = profile.load(arch.profile, ForwardCompatibilitySubstitutionRule::Enable); RasterParams rstp = get_raster_params(profile); rstp.win = {windowsize.y(), windowsize.x()}; @@ -317,6 +317,8 @@ void import_sla_archive( if (!slices.empty()) out = slices_to_triangle_mesh(slices, 0, slicp.layerh, slicp.initial_layerh); + + return config_substitutions; } using ConfMap = std::map; diff --git a/src/libslic3r/Format/SL1.hpp b/src/libslic3r/Format/SL1.hpp index ab731ff84..898f264f4 100644 --- a/src/libslic3r/Format/SL1.hpp +++ b/src/libslic3r/Format/SL1.hpp @@ -38,23 +38,23 @@ public: } }; -void import_sla_archive(const std::string &zipfname, DynamicPrintConfig &out); +ConfigSubstitutions import_sla_archive(const std::string &zipfname, DynamicPrintConfig &out); -void import_sla_archive( +ConfigSubstitutions import_sla_archive( const std::string & zipfname, Vec2i windowsize, TriangleMesh & out, DynamicPrintConfig & profile, std::function progr = [](int) { return true; }); -inline void import_sla_archive( +inline ConfigSubstitutions import_sla_archive( const std::string & zipfname, Vec2i windowsize, TriangleMesh & out, std::function progr = [](int) { return true; }) { DynamicPrintConfig profile; - import_sla_archive(zipfname, windowsize, out, profile, progr); + return import_sla_archive(zipfname, windowsize, out, profile, progr); } } // namespace Slic3r::sla diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index d553d727a..6d5cb346c 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -822,7 +822,10 @@ void GCodeProcessor::process_file(const std::string& filename, bool apply_postpr if (m_producer == EProducer::PrusaSlicer || m_producer == EProducer::Slic3rPE || m_producer == EProducer::Slic3r) { DynamicPrintConfig config; config.apply(FullPrintConfig::defaults()); - config.load_from_gcode_file(filename); + // Silently substitute unknown values by new ones for loading configurations from PrusaSlicer's own G-code. + // Showing substitution log or errors may make sense, but we are not really reading many values from the G-code config, + // thus a probability of incorrect substitution is low and the G-code viewer is a consumer-only anyways. + config.load_from_gcode_file(filename, ForwardCompatibilitySubstitutionRule::EnableSilent); apply_config(config); } } diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index c25026cc4..cfd872172 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -94,13 +94,17 @@ void Model::update_links_bottom_up_recursive() } } -Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* config, bool add_default_instances, bool check_version) +// Loading model from a file, it may be a simple geometry file as STL or OBJ, however it may be a project file as well. +Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, LoadAttributes options) { Model model; DynamicPrintConfig temp_config; + ConfigSubstitutionContext temp_config_substitutions_context(ForwardCompatibilitySubstitutionRule::EnableSilent); if (config == nullptr) config = &temp_config; + if (config_substitutions == nullptr) + config_substitutions = &temp_config_substitutions_context; bool result = false; if (boost::algorithm::iends_with(input_file, ".stl")) @@ -108,9 +112,10 @@ Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* c else if (boost::algorithm::iends_with(input_file, ".obj")) result = load_obj(input_file.c_str(), &model); else if (boost::algorithm::iends_with(input_file, ".amf") || boost::algorithm::iends_with(input_file, ".amf.xml")) - result = load_amf(input_file.c_str(), config, &model, check_version); + result = load_amf(input_file.c_str(), config, config_substitutions, &model, options & LoadAttribute::CheckVersion); else if (boost::algorithm::iends_with(input_file, ".3mf")) - result = load_3mf(input_file.c_str(), config, &model, false); + //FIXME options & LoadAttribute::CheckVersion ? + result = load_3mf(input_file.c_str(), *config, *config_substitutions, &model, false); else if (boost::algorithm::iends_with(input_file, ".prusa")) result = load_prus(input_file.c_str(), &model); else @@ -125,24 +130,29 @@ Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* c for (ModelObject *o : model.objects) o->input_file = input_file; - if (add_default_instances) + if (options & LoadAttribute::AddDefaultInstances) model.add_default_instances(); CustomGCode::update_custom_gcode_per_print_z_from_config(model.custom_gcode_per_print_z, config); CustomGCode::check_mode_for_custom_gcode_per_print_z(model.custom_gcode_per_print_z); + sort_remove_duplicates(config_substitutions->substitutions); return model; } -Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig* config, bool add_default_instances, bool check_version) +// Loading model from a file (3MF or AMF), not from a simple geometry file (STL or OBJ). +Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, LoadAttributes options) { + assert(config != nullptr); + assert(config_substitutions != nullptr); + Model model; bool result = false; if (boost::algorithm::iends_with(input_file, ".3mf")) - result = load_3mf(input_file.c_str(), config, &model, check_version); + result = load_3mf(input_file.c_str(), *config, *config_substitutions, &model, options & LoadAttribute::CheckVersion); else if (boost::algorithm::iends_with(input_file, ".zip.amf")) - result = load_amf(input_file.c_str(), config, &model, check_version); + result = load_amf(input_file.c_str(), config, config_substitutions, &model, options & LoadAttribute::CheckVersion); else throw Slic3r::RuntimeError("Unknown file format. Input file must have .3mf or .zip.amf extension."); @@ -163,7 +173,7 @@ Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig o->input_file = input_file; } - if (add_default_instances) + if (options & LoadAttribute::AddDefaultInstances) model.add_default_instances(); CustomGCode::update_custom_gcode_per_print_z_from_config(model.custom_gcode_per_print_z, config); @@ -396,13 +406,12 @@ bool Model::looks_like_multipart_object() const } // Generate next extruder ID string, in the range of (1, max_extruders). -static inline std::string auto_extruder_id(unsigned int max_extruders, unsigned int &cntr) +static inline int auto_extruder_id(unsigned int max_extruders, unsigned int &cntr) { - char str_extruder[64]; - sprintf(str_extruder, "%ud", cntr + 1); - if (++ cntr == max_extruders) + int out = ++ cntr; + if (cntr == max_extruders) cntr = 0; - return str_extruder; + return out; } void Model::convert_multipart_object(unsigned int max_extruders) @@ -429,7 +438,7 @@ void Model::convert_multipart_object(unsigned int max_extruders) auto copy_volume = [o, max_extruders, &counter, &extruder_counter](ModelVolume *new_v) { assert(new_v != nullptr); new_v->name = o->name + "_" + std::to_string(counter++); - new_v->config.set_deserialize("extruder", auto_extruder_id(max_extruders, extruder_counter)); + new_v->config.set("extruder", auto_extruder_id(max_extruders, extruder_counter)); return new_v; }; if (o->instances.empty()) { @@ -1706,7 +1715,7 @@ size_t ModelVolume::split(unsigned int max_extruders) this->object->volumes[ivolume]->center_geometry_after_creation(); this->object->volumes[ivolume]->translate(offset); this->object->volumes[ivolume]->name = name + "_" + std::to_string(idx + 1); - this->object->volumes[ivolume]->config.set_deserialize("extruder", auto_extruder_id(max_extruders, extruder_counter)); + this->object->volumes[ivolume]->config.set("extruder", auto_extruder_id(max_extruders, extruder_counter)); delete mesh; ++ idx; } diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 99db132f6..23185f00e 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -12,6 +12,7 @@ #include "TriangleMesh.hpp" #include "Arrange.hpp" #include "CustomGCode.hpp" +#include "enum_bitmask.hpp" #include #include @@ -979,8 +980,20 @@ public: OBJECTBASE_DERIVED_COPY_MOVE_CLONE(Model) - static Model read_from_file(const std::string& input_file, DynamicPrintConfig* config = nullptr, bool add_default_instances = true, bool check_version = false); - static Model read_from_archive(const std::string& input_file, DynamicPrintConfig* config, bool add_default_instances = true, bool check_version = false); + enum class LoadAttribute : int { + AddDefaultInstances, + CheckVersion + }; + using LoadAttributes = enum_bitmask; + + static Model read_from_file( + const std::string& input_file, + DynamicPrintConfig* config = nullptr, ConfigSubstitutionContext* config_substitutions = nullptr, + LoadAttributes options = LoadAttribute::AddDefaultInstances); + static Model read_from_archive( + const std::string& input_file, + DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, + LoadAttributes options = LoadAttribute::AddDefaultInstances); // Add a new ModelObject to this Model, generate a new ID for this ModelObject. ModelObject* add_object(); @@ -1043,6 +1056,8 @@ private: } }; +ENABLE_ENUM_BITMASK_OPERATORS(Model::LoadAttribute) + #undef OBJECTBASE_DERIVED_COPY_MOVE_CLONE #undef OBJECTBASE_DERIVED_PRIVATE_COPY_MOVE diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index c24033df2..d5a31bce0 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -647,7 +647,9 @@ void PresetCollection::add_default_preset(const std::vector &keys, // Load all presets found in dir_path. // Throws an exception on error. -void PresetCollection::load_presets(const std::string &dir_path, const std::string &subdir) +void PresetCollection::load_presets( + const std::string &dir_path, const std::string &subdir, + PresetsConfigSubstitutions& substitutions, ForwardCompatibilitySubstitutionRule substitution_rule) { // Don't use boost::filesystem::canonical() on Windows, it is broken in regard to reparse points, // see https://github.com/prusa3d/PrusaSlicer/issues/732 @@ -674,7 +676,9 @@ void PresetCollection::load_presets(const std::string &dir_path, const std::stri // Load the preset file, apply preset values on top of defaults. try { DynamicPrintConfig config; - config.load_from_ini(preset.file); + ConfigSubstitutions config_substitutions = config.load_from_ini(preset.file, substitution_rule); + if (! config_substitutions.empty()) + substitutions.push_back({ preset.name, m_type, PresetConfigSubstitutions::Source::UserFile, preset.file, std::move(config_substitutions) }); // Find a default preset for the config. The PrintPresetCollection provides different default preset based on the "printer_technology" field. const Preset &default_preset = this->default_preset_for(config); preset.config = default_preset.config; @@ -1546,7 +1550,9 @@ PhysicalPrinterCollection::PhysicalPrinterCollection( const std::vector; + // Collections of presets of the same type (one of the Print, Filament or Printer type). class PresetCollection { @@ -280,7 +303,7 @@ public: void add_default_preset(const std::vector &keys, const Slic3r::StaticPrintConfig &defaults, const std::string &preset_name); // Load ini files of the particular type from the provided directory path. - void load_presets(const std::string &dir_path, const std::string &subdir); + void load_presets(const std::string &dir_path, const std::string &subdir, PresetsConfigSubstitutions& substitutions, ForwardCompatibilitySubstitutionRule rule); // Load a preset from an already parsed config file, insert it into the sorted sequence of presets // and select it, losing previous modifications. @@ -652,7 +675,7 @@ public: const std::deque& operator()() const { return m_printers; } // Load ini files of the particular type from the provided directory path. - void load_printers(const std::string& dir_path, const std::string& subdir); + void load_printers(const std::string& dir_path, const std::string& subdir, PresetsConfigSubstitutions& substitutions, ForwardCompatibilitySubstitutionRule rule); void load_printers_from_presets(PrinterPresetCollection &printer_presets); // Load printer from the loaded configuration void load_printer(const std::string& path, const std::string& name, DynamicPrintConfig&& config, bool select, bool save=false); diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index b31ee6664..fb1fca430 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -162,7 +162,7 @@ void PresetBundle::setup_directories() } } -void PresetBundle::load_presets(AppConfig &config, const std::string &preferred_model_id) +PresetsConfigSubstitutions PresetBundle::load_presets(AppConfig &config, ForwardCompatibilitySubstitutionRule substitution_rule, const std::string &preferred_model_id) { // First load the vendor specific system presets. std::string errors_cummulative = this->load_system_presets(); @@ -175,33 +175,35 @@ void PresetBundle::load_presets(AppConfig &config, const std::string &preferred_ // Store the print/filament/printer presets at the same location as the upstream Slic3r. #endif ; + + PresetsConfigSubstitutions substitutions; try { - this->prints.load_presets(dir_user_presets, "print"); + this->prints.load_presets(dir_user_presets, "print", substitutions, substitution_rule); } catch (const std::runtime_error &err) { errors_cummulative += err.what(); } try { - this->sla_prints.load_presets(dir_user_presets, "sla_print"); + this->sla_prints.load_presets(dir_user_presets, "sla_print", substitutions, substitution_rule); } catch (const std::runtime_error &err) { errors_cummulative += err.what(); } try { - this->filaments.load_presets(dir_user_presets, "filament"); + this->filaments.load_presets(dir_user_presets, "filament", substitutions, substitution_rule); } catch (const std::runtime_error &err) { errors_cummulative += err.what(); } try { - this->sla_materials.load_presets(dir_user_presets, "sla_material"); + this->sla_materials.load_presets(dir_user_presets, "sla_material", substitutions, substitution_rule); } catch (const std::runtime_error &err) { errors_cummulative += err.what(); } try { - this->printers.load_presets(dir_user_presets, "printer"); + this->printers.load_presets(dir_user_presets, "printer", substitutions, substitution_rule); } catch (const std::runtime_error &err) { errors_cummulative += err.what(); } try { - this->physical_printers.load_printers(dir_user_presets, "physical_printer"); + this->physical_printers.load_printers(dir_user_presets, "physical_printer", substitutions, substitution_rule); } catch (const std::runtime_error &err) { errors_cummulative += err.what(); } @@ -211,6 +213,8 @@ void PresetBundle::load_presets(AppConfig &config, const std::string &preferred_ throw Slic3r::RuntimeError(errors_cummulative); this->load_selections(config, preferred_model_id); + + return substitutions; } // Load system presets into this PresetBundle. @@ -230,13 +234,13 @@ std::string PresetBundle::load_system_presets() // Load the config bundle, flatten it. if (first) { // Reset this PresetBundle and load the first vendor config. - this->load_configbundle(dir_entry.path().string(), LOAD_CFGBNDLE_SYSTEM); + this->load_configbundle(dir_entry.path().string(), PresetBundle::LoadSystem); first = false; } else { // Load the other vendor configs, merge them with this PresetBundle. // Report duplicate profiles. PresetBundle other; - other.load_configbundle(dir_entry.path().string(), LOAD_CFGBNDLE_SYSTEM); + other.load_configbundle(dir_entry.path().string(), PresetBundle::LoadSystem); std::vector duplicates = this->merge_presets(std::move(other)); if (! duplicates.empty()) { errors_cummulative += "Vendor configuration file " + name + " contains the following presets with names used by other vendors: "; @@ -665,15 +669,15 @@ DynamicPrintConfig PresetBundle::full_sla_config() const // Instead of a config file, a G-code may be loaded containing the full set of parameters. // In the future the configuration will likely be read from an AMF file as well. // If the file is loaded successfully, its print / filament / printer profiles will be activated. -void PresetBundle::load_config_file(const std::string &path) +ConfigSubstitutions PresetBundle::load_config_file(const std::string &path, ForwardCompatibilitySubstitutionRule compatibility_rule) { if (is_gcode_file(path)) { DynamicPrintConfig config; config.apply(FullPrintConfig::defaults()); - config.load_from_gcode_file(path); + ConfigSubstitutions config_substitutions = config.load_from_gcode_file(path, compatibility_rule); Preset::normalize(config); load_config_file_config(path, true, std::move(config)); - return; + return config_substitutions; } // 1) Try to load the config file into a boost property tree. @@ -692,6 +696,7 @@ void PresetBundle::load_config_file(const std::string &path) // 2) Continue based on the type of the configuration file. ConfigFileType config_file_type = guess_config_file_type(tree); + ConfigSubstitutions config_substitutions; switch (config_file_type) { case CONFIG_FILE_TYPE_UNKNOWN: throw Slic3r::RuntimeError(std::string("Unknown configuration file type: ") + path); @@ -702,15 +707,18 @@ void PresetBundle::load_config_file(const std::string &path) // Initialize a config from full defaults. DynamicPrintConfig config; config.apply(FullPrintConfig::defaults()); - config.load(tree); + config_substitutions = config.load(tree, compatibility_rule); Preset::normalize(config); load_config_file_config(path, true, std::move(config)); - break; - } - case CONFIG_FILE_TYPE_CONFIG_BUNDLE: - load_config_file_config_bundle(path, tree); - break; + return config_substitutions; } + case CONFIG_FILE_TYPE_CONFIG_BUNDLE: + return load_config_file_config_bundle(path, tree); + } + + // This shall never happen. Suppres compiler warnings. + assert(false); + return ConfigSubstitutions{}; } // Load a config file from a boost property_tree. This is a private method called from load_config_file. @@ -882,16 +890,23 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool } // Load the active configuration of a config bundle from a boost property_tree. This is a private method called from load_config_file. -void PresetBundle::load_config_file_config_bundle(const std::string &path, const boost::property_tree::ptree &tree) +ConfigSubstitutions PresetBundle::load_config_file_config_bundle(const std::string &path, const boost::property_tree::ptree &tree) { // 1) Load the config bundle into a temp data. PresetBundle tmp_bundle; - // Load the config bundle, don't save the loaded presets to user profile directory. - tmp_bundle.load_configbundle(path, 0); + // Load the config bundle, but don't save the loaded presets to user profile directory, as only the presets marked as active in the loaded preset bundle + // will be loaded into the master PresetBundle and activated. + auto [presets_substitutions, presets_imported] = tmp_bundle.load_configbundle(path, {}); + std::string bundle_name = std::string(" - ") + boost::filesystem::path(path).filename().string(); // 2) Extract active configs from the config bundle, copy them and activate them in this bundle. - auto load_one = [this, &path, &bundle_name](PresetCollection &collection_dst, PresetCollection &collection_src, const std::string &preset_name_src, bool activate) -> std::string { + ConfigSubstitutions config_substitutions; + auto load_one = [this, &path, &bundle_name, &presets_substitutions = presets_substitutions, &config_substitutions](PresetCollection &collection_dst, PresetCollection &collection_src, const std::string &preset_name_src, bool activate) -> std::string { + // If there are substitutions reported for this preset, move them to config_substitutions. + if (auto it = std::find_if(presets_substitutions.begin(), presets_substitutions.end(), [&preset_name_src](const PresetConfigSubstitutions& subs){ return subs.preset_name == preset_name_src; }); + it != presets_substitutions.end() && ! it->substitutions.empty()) + append(config_substitutions, std::move(it->substitutions)); Preset *preset_src = collection_src.find_preset(preset_name_src, false); Preset *preset_dst = collection_dst.find_preset(preset_name_src, false); assert(preset_src != nullptr); @@ -941,6 +956,9 @@ void PresetBundle::load_config_file_config_bundle(const std::string &path, const this->filament_presets[i] = load_one(this->filaments, tmp_bundle.filaments, tmp_bundle.filament_presets[i], false); this->update_compatible(PresetSelectCompatibleType::Never); + + sort_remove_duplicates(config_substitutions); + return std::move(config_substitutions); } // Process the Config Bundle loaded as a Boost property tree. @@ -1085,11 +1103,20 @@ static void flatten_configbundle_hierarchy(boost::property_tree::ptree &tree, co // Load a config bundle file, into presets and store the loaded presets into separate files // of the local configuration directory. -size_t PresetBundle::load_configbundle(const std::string &path, unsigned int flags) +std::pair PresetBundle::load_configbundle(const std::string &path, LoadConfigBundleAttributes flags) { - if (flags & (LOAD_CFGBNDLE_RESET_USER_PROFILE | LOAD_CFGBNDLE_SYSTEM)) - // Reset this bundle, delete user profile files if LOAD_CFGBNDLE_SAVE. - this->reset(flags & LOAD_CFGBNDLE_SAVE); + // Enable substitutions for user config bundle, throw an exception when loading a system profile. + ConfigSubstitutionContext substitution_context { + flags.has(LoadConfigBundleAttribute::LoadSystem) ? + ForwardCompatibilitySubstitutionRule::Disable : + ForwardCompatibilitySubstitutionRule::Enable + }; + + PresetsConfigSubstitutions substitutions; + + if (flags.has(LoadConfigBundleAttribute::ResetUserProfile) || flags.has(LoadConfigBundleAttribute::LoadSystem)) + // Reset this bundle, delete user profile files if SaveImported. + this->reset(flags.has(LoadConfigBundleAttribute::SaveImported)); // 1) Read the complete config file into a boost::property_tree. namespace pt = boost::property_tree; @@ -1102,25 +1129,24 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla } const VendorProfile *vendor_profile = nullptr; - if (flags & (LOAD_CFGBNDLE_SYSTEM | LOAD_CFGBUNDLE_VENDOR_ONLY)) { + if (flags.has(LoadConfigBundleAttribute::LoadSystem) || flags.has(LoadConfigBundleAttribute::LoadVendorOnly)) { auto vp = VendorProfile::from_ini(tree, path); if (vp.models.size() == 0) { BOOST_LOG_TRIVIAL(error) << boost::format("Vendor bundle: `%1%`: No printer model defined.") % path; - return 0; + return std::make_pair(PresetsConfigSubstitutions{}, 0); } else if (vp.num_variants() == 0) { BOOST_LOG_TRIVIAL(error) << boost::format("Vendor bundle: `%1%`: No printer variant defined") % path; - return 0; + return std::make_pair(PresetsConfigSubstitutions{}, 0); } vendor_profile = &this->vendors.insert({vp.id, vp}).first->second; } - if (flags & LOAD_CFGBUNDLE_VENDOR_ONLY) { - return 0; - } + if (flags.has(LoadConfigBundleAttribute::LoadVendorOnly)) + return std::make_pair(PresetsConfigSubstitutions{}, 0); // 1.5) Flatten the config bundle by applying the inheritance rules. Internal profiles (with names starting with '*') are removed. // If loading a user config bundle, do not flatten with the system profiles, but keep the "inherits" flag intact. - flatten_configbundle_hierarchy(tree, ((flags & LOAD_CFGBNDLE_SYSTEM) == 0) ? this : nullptr); + flatten_configbundle_hierarchy(tree, flags.has(LoadConfigBundleAttribute::LoadSystem) ? nullptr : this); // 2) Parse the property_tree, extract the active preset names and the profiles, save them into local config files. // Parse the obsolete preset names, to be deleted when upgrading from the old configuration structure. @@ -1224,7 +1250,8 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla DynamicPrintConfig config; std::string alias_name; std::vector renamed_from; - auto parse_config_section = [§ion, &alias_name, &renamed_from, &path](DynamicPrintConfig &config) { + auto parse_config_section = [§ion, &alias_name, &renamed_from, &substitution_context, &path](DynamicPrintConfig &config) { + substitution_context.substitutions.clear(); for (auto &kvp : section.second) { if (kvp.first == "alias") alias_name = kvp.second.data(); @@ -1234,7 +1261,8 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla section.first << "\" contains invalid \"renamed_from\" key, which is being ignored."; } } - config.set_deserialize(kvp.first, kvp.second.data()); + // Throws on parsing error. For system presets, no substituion is being done, but an exception is thrown. + config.set_deserialize(kvp.first, kvp.second.data(), substitution_context); } }; if (presets == &this->printers) { @@ -1255,7 +1283,7 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla if (! incorrect_keys.empty()) BOOST_LOG_TRIVIAL(error) << "Error in a Vendor Config Bundle \"" << path << "\": The printer preset \"" << section.first << "\" contains the following incorrect keys: " << incorrect_keys << ", which were removed"; - if ((flags & LOAD_CFGBNDLE_SYSTEM) && presets == &printers) { + if (flags.has(LoadConfigBundleAttribute::LoadSystem) && presets == &printers) { // Filter out printer presets, which are not mentioned in the vendor profile. // These presets are considered not installed. auto printer_model = config.opt_string("printer_model"); @@ -1290,7 +1318,7 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla section.first << "\" has already been loaded from another Confing Bundle."; continue; } - } else if ((flags & LOAD_CFGBNDLE_SYSTEM) == 0) { + } else if (! flags.has(LoadConfigBundleAttribute::LoadSystem)) { // This is a user config bundle. const Preset *existing = presets->find_preset(preset_name, false); if (existing != nullptr) { @@ -1319,9 +1347,9 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla / presets->section_name() / file_name).make_preferred(); // Load the preset into the list of presets, save it to disk. Preset &loaded = presets->load_preset(file_path.string(), preset_name, std::move(config), false); - if (flags & LOAD_CFGBNDLE_SAVE) + if (flags.has(LoadConfigBundleAttribute::SaveImported)) loaded.save(); - if (flags & LOAD_CFGBNDLE_SYSTEM) { + if (flags.has(LoadConfigBundleAttribute::LoadSystem)) { loaded.is_system = true; loaded.vendor = vendor_profile; } @@ -1342,7 +1370,10 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla else loaded.alias = std::move(alias_name); loaded.renamed_from = std::move(renamed_from); - + if (! substitution_context.empty()) + substitutions.push_back({ + preset_name, presets->type(), PresetConfigSubstitutions::Source::ConfigBundle, + std::string(), std::move(substitution_context.substitutions) }); ++ presets_loaded; } @@ -1351,8 +1382,9 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla const DynamicPrintConfig& default_config = ph_printers->default_config(); DynamicPrintConfig config = default_config; + substitution_context.substitutions.clear(); for (auto& kvp : section.second) - config.set_deserialize(kvp.first, kvp.second.data()); + config.set_deserialize(kvp.first, kvp.second.data(), substitution_context); // Report configuration fields, which are misplaced into a wrong group. std::string incorrect_keys = Preset::remove_invalid_keys(config, default_config); @@ -1378,14 +1410,17 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla #endif / "physical_printer" / file_name).make_preferred(); // Load the preset into the list of presets, save it to disk. - ph_printers->load_printer(file_path.string(), ph_printer_name, std::move(config), false, flags & LOAD_CFGBNDLE_SAVE); - - ++ph_printers_loaded; + ph_printers->load_printer(file_path.string(), ph_printer_name, std::move(config), false, flags.has(LoadConfigBundleAttribute::SaveImported)); + if (! substitution_context.empty()) + substitutions.push_back({ + ph_printer_name, Preset::TYPE_PHYSICAL_PRINTER, PresetConfigSubstitutions::Source::ConfigBundle, + std::string(), std::move(substitution_context.substitutions) }); + ++ ph_printers_loaded; } } // 3) Activate the presets and physical printer if any exists. - if ((flags & LOAD_CFGBNDLE_SYSTEM) == 0) { + if (! flags.has(LoadConfigBundleAttribute::LoadSystem)) { if (! active_print.empty()) prints.select_preset_by_name(active_print, true); if (! active_sla_print.empty()) @@ -1405,7 +1440,7 @@ size_t PresetBundle::load_configbundle(const std::string &path, unsigned int fla this->update_compatible(PresetSelectCompatibleType::Never); } - return presets_loaded + ph_printers_loaded; + return std::make_pair(std::move(substitutions), presets_loaded + ph_printers_loaded); } void PresetBundle::update_multi_material_filament_presets() diff --git a/src/libslic3r/PresetBundle.hpp b/src/libslic3r/PresetBundle.hpp index 5d7cc84ba..b67edeb07 100644 --- a/src/libslic3r/PresetBundle.hpp +++ b/src/libslic3r/PresetBundle.hpp @@ -3,6 +3,7 @@ #include "Preset.hpp" #include "AppConfig.hpp" +#include "enum_bitmask.hpp" #include #include @@ -26,7 +27,7 @@ public: // Load ini files of all types (print, filament, printer) from Slic3r::data_dir() / presets. // Load selections (current print, current filaments, current printer) from config.ini // This is done just once on application start up. - void load_presets(AppConfig &config, const std::string &preferred_model_id = ""); + PresetsConfigSubstitutions load_presets(AppConfig &config, ForwardCompatibilitySubstitutionRule rule, const std::string &preferred_model_id = ""); // Export selections (current print, current filaments, current printer) into config.ini void export_selections(AppConfig &config); @@ -82,24 +83,26 @@ public: // Instead of a config file, a G-code may be loaded containing the full set of parameters. // In the future the configuration will likely be read from an AMF file as well. // If the file is loaded successfully, its print / filament / printer profiles will be activated. - void load_config_file(const std::string &path); + ConfigSubstitutions load_config_file(const std::string &path, ForwardCompatibilitySubstitutionRule compatibility_rule); // Load a config bundle file, into presets and store the loaded presets into separate files // of the local configuration directory. // Load settings into the provided settings instance. // Activate the presets stored in the config bundle. // Returns the number of presets loaded successfully. - enum { + enum LoadConfigBundleAttribute { // Save the profiles, which have been loaded. - LOAD_CFGBNDLE_SAVE = 1, + SaveImported, // Delete all old config profiles before loading. - LOAD_CFGBNDLE_RESET_USER_PROFILE = 2, + ResetUserProfile, // Load a system config bundle. - LOAD_CFGBNDLE_SYSTEM = 4, - LOAD_CFGBUNDLE_VENDOR_ONLY = 8, + LoadSystem, + LoadVendorOnly, }; - // Load the config bundle, store it to the user profile directory by default. - size_t load_configbundle(const std::string &path, unsigned int flags = LOAD_CFGBNDLE_SAVE); + using LoadConfigBundleAttributes = enum_bitmask; + // Load the config bundle based on the flags. + // Don't do any config substitutions when loading a system profile, perform and report substitutions otherwise. + std::pair load_configbundle(const std::string &path, LoadConfigBundleAttributes flags); // Export a config bundle file containing all the presets and the names of the active presets. void export_configbundle(const std::string &path, bool export_system_settings = false, bool export_physical_printers = false); @@ -155,12 +158,14 @@ private: // and the external config is just referenced, not stored into user profile directory. // If it is not an external config, then the config will be stored into the user profile directory. void load_config_file_config(const std::string &name_or_path, bool is_external, DynamicPrintConfig &&config); - void load_config_file_config_bundle(const std::string &path, const boost::property_tree::ptree &tree); + ConfigSubstitutions load_config_file_config_bundle(const std::string &path, const boost::property_tree::ptree &tree); DynamicPrintConfig full_fff_config() const; DynamicPrintConfig full_sla_config() const; }; +ENABLE_ENUM_BITMASK_OPERATORS(PresetBundle::LoadConfigBundleAttribute) + } // namespace Slic3r #endif /* slic3r_PresetBundle_hpp_ */ diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index a9761b6f7..f75919ec3 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3225,7 +3225,7 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va } else if (opt_key == "bed_size" && !value.empty()) { opt_key = "bed_shape"; ConfigOptionPoint p; - p.deserialize(value); + p.deserialize(value, ForwardCompatibilitySubstitutionRule::Disable); std::ostringstream oss; oss << "0x0," << p.value(0) << "x0," << p.value(0) << "x" << p.value(1) << ",0x" << p.value(1); value = oss.str(); @@ -3777,6 +3777,20 @@ CLIMiscConfigDef::CLIMiscConfigDef() def->label = L("Ignore non-existent config files"); def->tooltip = L("Do not fail if a file supplied to --load does not exist."); + def = this->add("config_compatibility", coEnum); + def->label = L("Forward-compatibility rule when loading configurations from config files and project files (3MF, AMF)."); + def->tooltip = L("This version of PrusaSlicer may not understand configurations produced by newest PrusaSlicer versions. " + "For example, newer PrusaSlicer may extend the list of supported firmware flavors. One may decide to " + "bail out or to substitute an unknown value with a default silently or verbosely."); + def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); + def->enum_values.push_back("disable"); + def->enum_values.push_back("enable"); + def->enum_values.push_back("enable_silent"); + def->enum_labels.push_back(L("Bail out on unknown configuration values")); + def->enum_labels.push_back(L("Enable reading unknown configuration values by verbosely substituting them with defaults.")); + def->enum_labels.push_back(L("Enable reading unknown configuration values by silently substituting them with defaults.")); + def->set_default_value(new ConfigOptionEnum(ForwardCompatibilitySubstitutionRule::Enable)); + def = this->add("load", coStrings); def->label = L("Load config file"); def->tooltip = L("Load configuration from the specified file. It can be used more than once to load options from multiple files."); diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index dc959e373..7f608c2f1 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -216,6 +216,16 @@ template<> inline const t_config_enum_values& ConfigOptionEnum inline const t_config_enum_values& ConfigOptionEnum::get_enum_values() { + static const t_config_enum_values keys_map = { + { "disable", ForwardCompatibilitySubstitutionRule::Disable }, + { "enable", ForwardCompatibilitySubstitutionRule::Enable }, + { "enable_silent", ForwardCompatibilitySubstitutionRule::EnableSilent } + }; + + return keys_map; +} + // Defines each and every confiuration option of Slic3r, including the properties of the GUI dialogs. // Does not store the actual values, but defines default values. class PrintConfigDef : public ConfigDef @@ -1420,8 +1430,8 @@ public: bool set_key_value(const std::string &opt_key, ConfigOption *opt) { bool out = m_data.set_key_value(opt_key, opt); this->touch(); return out; } template void set(const std::string &opt_key, T value) { m_data.set(opt_key, value, true); this->touch(); } - void set_deserialize(const t_config_option_key &opt_key, const std::string &str, bool append = false) - { m_data.set_deserialize(opt_key, str, append); this->touch(); } + void set_deserialize(const t_config_option_key &opt_key, const std::string &str, ConfigSubstitutionContext &substitution_context, bool append = false) + { m_data.set_deserialize(opt_key, str, substitution_context, append); this->touch(); } bool erase(const t_config_option_key &opt_key) { bool out = m_data.erase(opt_key); if (out) this->touch(); return out; } // Getters are thread safe. diff --git a/src/libslic3r/enum_bitmask.hpp b/src/libslic3r/enum_bitmask.hpp new file mode 100644 index 000000000..4c2076313 --- /dev/null +++ b/src/libslic3r/enum_bitmask.hpp @@ -0,0 +1,80 @@ +#ifndef slic3r_enum_bitmask_hpp_ +#define slic3r_enum_bitmask_hpp_ + +// enum_bitmask for passing a set of attributes to a function in a type safe way. +// Adapted from https://gpfault.net/posts/typesafe-bitmasks.txt.html +// with hints from https://www.strikerx3.dev/cpp/2019/02/27/typesafe-enum-class-bitmasks-in-cpp.html + +#include + +namespace Slic3r { + +// enum_bitmasks can only be used with enums. +template::value>::type> +class enum_bitmask { + // The type we'll use for storing the value of our bitmask should be the same as the enum's underlying type. + using underlying_type = typename std::underlying_type::type; + + // This method helps us avoid having to explicitly set enum values to powers of two. + static constexpr underlying_type mask_value(option_type o) { return 1 << static_cast(o); } + + // Private ctor to be used internally. + explicit constexpr enum_bitmask(underlying_type o) : m_bits(o) {} + +public: + // Default ctor creates a bitmask with no options selected. + constexpr enum_bitmask() : m_bits(0) {} + + // Creates a enum_bitmask with just one bit set. + // This ctor is intentionally non-explicit, to allow passing an options to a function: + // FunctionExpectingBitmask(Options::Opt1) + constexpr enum_bitmask(option_type o) : m_bits(mask_value(o)) {} + + // Set the bit corresponding to the given option. + constexpr enum_bitmask operator|(option_type t) { return enum_bitmask(m_bits | mask_value(t)); } + + // Combine with another enum_bitmask of the same type. + constexpr enum_bitmask operator|(enum_bitmask t) { return enum_bitmask(m_bits | t.m_bits); } + + // Get the value of the bit corresponding to the given option. + constexpr bool operator&(option_type t) { return m_bits & mask_value(t); } + constexpr bool has(option_type t) { return m_bits & mask_value(t); } + +private: + underlying_type m_bits = 0; +}; + +// For enabling free functions producing enum_bitmask<> type from bit operations on enums. +template struct is_enum_bitmask_type { static const bool enable = false; }; +#define ENABLE_ENUM_BITMASK_OPERATORS(x) template<> struct is_enum_bitmask_type { static const bool enable = true; }; +template inline constexpr bool is_enum_bitmask_type_v = is_enum_bitmask_type::enable; + +// Creates an enum_bitmask from two options, convenient for passing of options to a function: +// FunctionExpectingBitmask(Options::Opt1 | Options::Opt2 | Options::Opt3) +template +constexpr std::enable_if_t, enum_bitmask> operator|(option_type lhs, option_type rhs) { + static_assert(std::is_enum_v); + return enum_bitmask{lhs} | rhs; +} + +template +constexpr std::enable_if_t, enum_bitmask> operator|(option_type lhs, enum_bitmask rhs) { + static_assert(std::is_enum_v); + return enum_bitmask{lhs} | rhs; +} + +template +constexpr std::enable_if_t, enum_bitmask> only_if(bool condition, option_type opt) { + static_assert(std::is_enum_v); + return condition ? enum_bitmask{opt} : enum_bitmask{}; +} + +template +constexpr std::enable_if_t, enum_bitmask> only_if(bool condition, enum_bitmask opt) { + static_assert(std::is_enum_v); + return condition ? opt : enum_bitmask{}; +} + +} // namespace Slic3r + +#endif // slic3r_enum_bitmask_hpp_ diff --git a/src/libslic3r/pchheader.hpp b/src/libslic3r/pchheader.hpp index a1d6da5fe..0135fd712 100644 --- a/src/libslic3r/pchheader.hpp +++ b/src/libslic3r/pchheader.hpp @@ -111,6 +111,7 @@ #include "BoundingBox.hpp" #include "ClipperUtils.hpp" #include "Config.hpp" +#include "enum_bitmask.hpp" #include "format.hpp" #include "I18N.hpp" #include "MultiPoint.hpp" diff --git a/src/slic3r/Config/Snapshot.cpp b/src/slic3r/Config/Snapshot.cpp index 900172d3e..c6347248b 100644 --- a/src/slic3r/Config/Snapshot.cpp +++ b/src/slic3r/Config/Snapshot.cpp @@ -413,7 +413,7 @@ const Snapshot& SnapshotDB::take_snapshot(const AppConfig &app_config, Snapshot: ++ it; // Read the active config bundle, parse the config version. PresetBundle bundle; - bundle.load_configbundle((data_dir / "vendor" / (cfg.name + ".ini")).string(), PresetBundle::LOAD_CFGBUNDLE_VENDOR_ONLY); + bundle.load_configbundle((data_dir / "vendor" / (cfg.name + ".ini")).string(), PresetBundle::LoadConfigBundleAttribute::LoadVendorOnly); for (const auto &vp : bundle.vendors) if (vp.second.id == cfg.name) cfg.version.config_version = vp.second.config_version; diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 5af48ee36..0f9ae76de 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -58,7 +58,9 @@ bool Bundle::load(fs::path source_path, bool ais_in_resources, bool ais_prusa_bu this->is_prusa_bundle = ais_prusa_bundle; std::string path_string = source_path.string(); - size_t presets_loaded = preset_bundle->load_configbundle(path_string, PresetBundle::LOAD_CFGBNDLE_SYSTEM); + auto [config_substitutions, presets_loaded] = preset_bundle->load_configbundle(path_string, PresetBundle::LoadConfigBundleAttribute::LoadSystem); + // No substitutions shall be reported when loading a system config bundle, no substitutions are allowed. + assert(config_substitutions.empty()); auto first_vendor = preset_bundle->vendors.begin(); if (first_vendor == preset_bundle->vendors.end()) { BOOST_LOG_TRIVIAL(error) << boost::format("Vendor bundle: `%1%`: No vendor information defined, cannot install.") % path_string; @@ -2458,7 +2460,10 @@ void ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *prese } } - preset_bundle->load_presets(*app_config, preferred_model); + // Reloading the configs after some modifications were done to PrusaSlicer.ini. + // Just perform the substitutions silently, as the substitutions were already presented to the user on application start-up + // and the Wizard shall not create any new values that would require substitution. + PresetsConfigSubstitutions substitutions = preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSilent, preferred_model); if (page_custom->custom_wanted()) { page_firmware->apply_custom_config(*custom_config); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 770d50110..319b408d7 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -618,6 +618,13 @@ void GUI_App::post_init() this->plater()->load_gcode(wxString::FromUTF8(this->init_params->input_files[0].c_str())); } else { + if (! this->init_params->preset_substitutions.empty()) { + // TODO: Add list of changes from all_substitutions + show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." + " To recover these files, incompatible values were changed to default values." + " But data in files won't be changed until you save them in PrusaSlicer."))); + } + #if 0 // Load the cummulative config over the currently active profiles. //FIXME if multiple configs are loaded, only the last one will have an effect. @@ -637,6 +644,24 @@ void GUI_App::post_init() if (! this->init_params->extra_config.empty()) this->mainframe->load_config(this->init_params->extra_config); } + + // The extra CallAfter() is needed because of Mac, where this is the only way + // to popup a modal dialog on start without screwing combo boxes. + // This is ugly but I honestly found no better way to do it. + // Neither wxShowEvent nor wxWindowCreateEvent work reliably. + if (this->preset_updater) { + this->check_updates(false); + CallAfter([this] { + this->config_wizard_startup(); + this->preset_updater->slic3r_update_notify(); + this->preset_updater->sync(preset_bundle); + }); + } + +#ifdef _WIN32 + // Sets window property to mainframe so other instances can indentify it. + OtherInstanceMessageHandler::init_windows_properties(mainframe, m_instance_hash_int); +#endif //WIN32 } IMPLEMENT_APP(GUI_App) @@ -871,7 +896,7 @@ bool GUI_App::on_init_inner() // Suppress the '- default -' presets. preset_bundle->set_default_suppressed(app_config->get("no_defaults") == "1"); try { - preset_bundle->load_presets(*app_config); + init_params->preset_substitutions = preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::Enable); } catch (const std::exception &ex) { show_error(nullptr, ex.what()); } @@ -924,7 +949,6 @@ bool GUI_App::on_init_inner() if (! plater_) return; - if (app_config->dirty() && app_config->get("autosave") == "1") app_config->save(); @@ -945,33 +969,6 @@ bool GUI_App::on_init_inner() #endif this->post_init(); } - - // Preset updating & Configwizard are done after the above initializations, - // and after MainFrame is created & shown. - // The extra CallAfter() is needed because of Mac, where this is the only way - // to popup a modal dialog on start without screwing combo boxes. - // This is ugly but I honestly found no better way to do it. - // Neither wxShowEvent nor wxWindowCreateEvent work reliably. - - static bool once = true; - if (once) { - once = false; - - if (preset_updater != nullptr) { - check_updates(false); - - CallAfter([this] { - config_wizard_startup(); - preset_updater->slic3r_update_notify(); - preset_updater->sync(preset_bundle); - }); - } - -#ifdef _WIN32 - //sets window property to mainframe so other instances can indentify it - OtherInstanceMessageHandler::init_windows_properties(mainframe, m_instance_hash_int); -#endif //WIN32 - } }); m_initialized = true; @@ -1683,7 +1680,13 @@ void GUI_App::add_config_menu(wxMenuBar *menu) Config::SnapshotDB::singleton().take_snapshot(*app_config, Config::Snapshot::SNAPSHOT_BEFORE_ROLLBACK); try { app_config->set("on_snapshot", Config::SnapshotDB::singleton().restore_snapshot(dlg.snapshot_to_activate(), *app_config).id); - preset_bundle->load_presets(*app_config); + if (PresetsConfigSubstitutions all_substitutions = preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::Enable); + ! all_substitutions.empty()) { + // TODO: + show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." + " To recover these files, incompatible values were changed to default values." + " But data in files won't be changed until you save them in PrusaSlicer."))); + } // Load the currently selected preset into the GUI, update the preset selection box. load_current_presets(); } catch (std::exception &ex) { diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index 8aceb7a69..f3cdaa3d9 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -235,7 +235,7 @@ public: // Parameters extracted from the command line to be passed to GUI after initialization. - const GUI_InitParams* init_params { nullptr }; + GUI_InitParams* init_params { nullptr }; AppConfig* app_config{ nullptr }; PresetBundle* preset_bundle{ nullptr }; @@ -243,7 +243,7 @@ public: MainFrame* mainframe{ nullptr }; Plater* plater_{ nullptr }; - PresetUpdater* get_preset_updater() { return preset_updater; } + PresetUpdater* get_preset_updater() { return preset_updater; } wxNotebook* tab_panel() const ; int extruders_cnt() const; diff --git a/src/slic3r/GUI/GUI_Init.cpp b/src/slic3r/GUI/GUI_Init.cpp index 839782741..92223a767 100644 --- a/src/slic3r/GUI/GUI_Init.cpp +++ b/src/slic3r/GUI/GUI_Init.cpp @@ -50,39 +50,8 @@ int GUI_Run(GUI_InitParams ¶ms) // gui->autosave = m_config.opt_string("autosave"); GUI::GUI_App::SetInstance(gui); gui->init_params = ¶ms; -/* - gui->CallAfter([gui, this, &load_configs, params.start_as_gcodeviewer] { - if (!gui->initialized()) { - return; - } - if (params.start_as_gcodeviewer) { - if (!m_input_files.empty()) - gui->plater()->load_gcode(wxString::FromUTF8(m_input_files[0].c_str())); - } else { -#if 0 - // Load the cummulative config over the currently active profiles. - //FIXME if multiple configs are loaded, only the last one will have an effect. - // We need to decide what to do about loading of separate presets (just print preset, just filament preset etc). - // As of now only the full configs are supported here. - if (!m_print_config.empty()) - gui->mainframe->load_config(m_print_config); -#endif - if (!load_configs.empty()) - // Load the last config to give it a name at the UI. The name of the preset may be later - // changed by loading an AMF or 3MF. - //FIXME this is not strictly correct, as one may pass a print/filament/printer profile here instead of a full config. - gui->mainframe->load_config_file(load_configs.back()); - // If loading a 3MF file, the config is loaded from the last one. - if (!m_input_files.empty()) - gui->plater()->load_files(m_input_files, true, true); - if (!m_extra_config.empty()) - gui->mainframe->load_config(m_extra_config); - } - }); -*/ - int result = wxEntry(params.argc, params.argv); - return result; + return wxEntry(params.argc, params.argv); } catch (const Slic3r::Exception &ex) { boost::nowide::cerr << ex.what() << std::endl; wxMessageBox(boost::nowide::widen(ex.what()), _L("PrusaSlicer GUI initialization failed"), wxICON_STOP); diff --git a/src/slic3r/GUI/GUI_Init.hpp b/src/slic3r/GUI/GUI_Init.hpp index c420c9554..2adf618a4 100644 --- a/src/slic3r/GUI/GUI_Init.hpp +++ b/src/slic3r/GUI/GUI_Init.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_GUI_Init_hpp_ #define slic3r_GUI_Init_hpp_ +#include #include namespace Slic3r { @@ -12,6 +13,9 @@ struct GUI_InitParams int argc; char **argv; + // Substitutions of unknown configuration values done during loading of user presets. + PresetsConfigSubstitutions preset_substitutions; + std::vector load_configs; DynamicPrintConfig extra_config; std::vector input_files; diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.cpp b/src/slic3r/GUI/Jobs/SLAImportJob.cpp index ec289ae34..52cbb5ac9 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.cpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.cpp @@ -139,22 +139,27 @@ void SLAImportJob::process() if (p->path.empty()) return; std::string path = p->path.ToUTF8().data(); + ConfigSubstitutions config_substitutions; try { switch (p->sel) { case Sel::modelAndProfile: - import_sla_archive(path, p->win, p->mesh, p->profile, progr); + config_substitutions = import_sla_archive(path, p->win, p->mesh, p->profile, progr); break; case Sel::modelOnly: - import_sla_archive(path, p->win, p->mesh, progr); + config_substitutions = import_sla_archive(path, p->win, p->mesh, progr); break; case Sel::profileOnly: - import_sla_archive(path, p->profile); + config_substitutions = import_sla_archive(path, p->profile); break; } } catch (std::exception &ex) { p->err = ex.what(); } + + if (! config_substitutions.empty()) { + //FIXME Add reporting here "Loading profiles found following incompatibilities." + } update_status(100, was_canceled() ? _(L("Importing canceled.")) : _(L("Importing done."))); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 8e6b1c5ef..8a3bd6c01 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1311,6 +1311,7 @@ void MainFrame::update_menubar() m_changeable_menu_items[miPrinterTab] ->SetBitmap(create_scaled_bitmap(is_fff ? "printer" : "sla_printer")); } +#if 0 // To perform the "Quck Slice", "Quick Slice and Save As", "Repeat last Quick Slice" and "Slice to SVG". void MainFrame::quick_slice(const int qs) { @@ -1433,6 +1434,7 @@ void MainFrame::quick_slice(const int qs) // }; // Slic3r::GUI::catch_error(this, []() { if (m_progress_dialog) m_progress_dialog->Destroy(); }); } +#endif void MainFrame::reslice_now() { @@ -1515,7 +1517,13 @@ void MainFrame::load_config_file() bool MainFrame::load_config_file(const std::string &path) { try { - wxGetApp().preset_bundle->load_config_file(path); + ConfigSubstitutions config_substitutions = wxGetApp().preset_bundle->load_config_file(path, ForwardCompatibilitySubstitutionRule::Enable); + if (! config_substitutions.empty()) { + // TODO: Add list of changes from all_substitutions + show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." + " To recover these files, incompatible values were changed to default values." + " But data in files won't be changed until you save them in PrusaSlicer."))); + } } catch (const std::exception &ex) { show_error(this, ex.what()); return false; @@ -1571,14 +1579,22 @@ void MainFrame::load_configbundle(wxString file/* = wxEmptyString, const bool re wxGetApp().app_config->update_config_dir(get_dir_name(file)); - auto presets_imported = 0; + size_t presets_imported = 0; + PresetsConfigSubstitutions config_substitutions; try { - presets_imported = wxGetApp().preset_bundle->load_configbundle(file.ToUTF8().data()); + std::tie(config_substitutions, presets_imported) = wxGetApp().preset_bundle->load_configbundle(file.ToUTF8().data(), PresetBundle::LoadConfigBundleAttribute::SaveImported); } catch (const std::exception &ex) { show_error(this, ex.what()); return; } + if (! config_substitutions.empty()) { + // TODO: Add list of changes from all_substitutions + show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." + " To recover these files, incompatible values were changed to default values." + " But data in files won't be changed until you save them in PrusaSlicer."))); + } + // Load the currently selected preset into the GUI, update the preset selection box. wxGetApp().load_current_presets(); diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index 9504376b4..c0030d701 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -164,7 +164,7 @@ public: bool is_last_input_file() const { return !m_qs_last_input_file.IsEmpty(); } bool is_dlg_layout() const { return m_layout == ESettingsLayout::Dlg; } - void quick_slice(const int qs = qsUndef); +// void quick_slice(const int qs = qsUndef); void reslice_now(); void repair_stl(); void export_config(); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a9e66333e..79014474e 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2342,7 +2342,8 @@ std::vector Plater::priv::load_files(const std::vector& input_ DynamicPrintConfig config; { DynamicPrintConfig config_loaded; - model = Slic3r::Model::read_from_archive(path.string(), &config_loaded, false, load_config); + ConfigSubstitutionContext config_substitutions{ ForwardCompatibilitySubstitutionRule::Enable }; + model = Slic3r::Model::read_from_archive(path.string(), &config_loaded, &config_substitutions, only_if(load_config, Model::LoadAttribute::CheckVersion)); if (load_config && !config_loaded.empty()) { // Based on the printer technology field found in the loaded config, select the base for the config, PrinterTechnology printer_technology = Preset::printer_technology(config_loaded); @@ -2368,6 +2369,12 @@ std::vector Plater::priv::load_files(const std::vector& input_ // and place the loaded config over the base. config += std::move(config_loaded); } + if (! config_substitutions.empty()) { + // TODO: + show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." + " To recover these files, incompatible values were changed to default values." + " But data in files won't be changed until you save them in PrusaSlicer."))); + } this->model.custom_gcode_per_print_z = model.custom_gcode_per_print_z; } @@ -2387,7 +2394,7 @@ std::vector Plater::priv::load_files(const std::vector& input_ } } else { - model = Slic3r::Model::read_from_file(path.string(), nullptr, false, load_config); + model = Slic3r::Model::read_from_file(path.string(), nullptr, nullptr, only_if(load_config, Model::LoadAttribute::CheckVersion)); for (auto obj : model.objects) if (obj->name.empty()) obj->name = fs::path(obj->input_file).filename().string(); @@ -3233,7 +3240,7 @@ void Plater::priv::reload_from_disk() Model new_model; try { - new_model = Model::read_from_file(path, nullptr, true, false); + new_model = Model::read_from_file(path, nullptr, nullptr, Model::LoadAttribute::AddDefaultInstances); for (ModelObject* model_object : new_model.objects) { model_object->center_around_origin(); @@ -4623,7 +4630,9 @@ void Plater::priv::undo_redo_to(std::vector::const_iterator // Switch to the other printer technology. Switch to the last printer active for that particular technology. AppConfig *app_config = wxGetApp().app_config; app_config->set("presets", "printer", (new_printer_technology == ptFFF) ? m_last_fff_printer_profile_name : m_last_sla_printer_profile_name); - wxGetApp().preset_bundle->load_presets(*app_config); + //FIXME Why are we reloading the whole preset bundle here? Please document. This is fishy and it is unnecessarily expensive. + // Anyways, don't report any config value substitutions, they have been already reported to the user at application start up. + wxGetApp().preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSilent); // load_current_presets() calls Tab::load_current_preset() -> TabPrint::update() -> Object_list::update_and_show_object_settings_item(), // but the Object list still keeps pointer to the old Model. Avoid a crash by removing selection first. this->sidebar->obj_list()->unselect_objects(); diff --git a/src/slic3r/Utils/FixModelByWin10.cpp b/src/slic3r/Utils/FixModelByWin10.cpp index bcab6daaf..9df656701 100644 --- a/src/slic3r/Utils/FixModelByWin10.cpp +++ b/src/slic3r/Utils/FixModelByWin10.cpp @@ -377,7 +377,8 @@ void fix_model_by_win10_sdk_gui(ModelObject &model_object, int volume_idx) // PresetBundle bundle; on_progress(L("Loading repaired model"), 80); DynamicPrintConfig config; - bool loaded = Slic3r::load_3mf(path_dst.string().c_str(), &config, &model, false); + ConfigSubstitutionContext config_substitutions{ ForwardCompatibilitySubstitutionRule::EnableSilent }; + bool loaded = Slic3r::load_3mf(path_dst.string().c_str(), config, config_substitutions, &model, false); boost::filesystem::remove(path_dst); if (! loaded) throw Slic3r::RuntimeError(L("Import of the repaired 3mf file failed")); diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index c65ec31d3..b2c4b1116 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -611,7 +611,7 @@ void PresetUpdater::priv::perform_updates(Updates &&updates, bool snapshot) cons update.install(); PresetBundle bundle; - bundle.load_configbundle(update.source.string(), PresetBundle::LOAD_CFGBNDLE_SYSTEM); + bundle.load_configbundle(update.source.string(), PresetBundle::LoadConfigBundleAttribute::LoadSystem); BOOST_LOG_TRIVIAL(info) << format("Deleting %1% conflicting presets", bundle.prints.size() + bundle.filaments.size() + bundle.printers.size()); @@ -709,6 +709,17 @@ void PresetUpdater::slic3r_update_notify() } } +static void reload_configs_update_gui() +{ + // Reload global configuration + auto* app_config = GUI::wxGetApp().app_config; + // System profiles should not trigger any substitutions, user profiles may trigger substitutions, but these substitutions + // were already presented to the user on application start up. Just do substitutions now and keep quiet about it. + GUI::wxGetApp().preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSilent); + GUI::wxGetApp().load_current_presets(); + GUI::wxGetApp().plater()->set_bed_shape(); +} + PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3r_version, bool no_notification) const { if (! p->enabled_config_update) { return R_NOOP; } @@ -766,7 +777,7 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 } //forced update - if(incompatible_version) + if (incompatible_version) { BOOST_LOG_TRIVIAL(info) << format("Update of %1% bundles available. At least one requires higher version of Slicer.", updates.updates.size()); @@ -781,14 +792,8 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 const auto res = dlg.ShowModal(); if (res == wxID_OK) { BOOST_LOG_TRIVIAL(info) << "User wants to update..."; - p->perform_updates(std::move(updates)); - - // Reload global configuration - auto* app_config = GUI::wxGetApp().app_config; - GUI::wxGetApp().preset_bundle->load_presets(*app_config); - GUI::wxGetApp().load_current_presets(); - GUI::wxGetApp().plater()->set_bed_shape(); + reload_configs_update_gui(); return R_UPDATE_INSTALLED; } else { @@ -813,11 +818,7 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 if (res == wxID_OK) { BOOST_LOG_TRIVIAL(debug) << "User agreed to perform the update"; p->perform_updates(std::move(updates)); - - // Reload global configuration - auto* app_config = GUI::wxGetApp().app_config; - GUI::wxGetApp().preset_bundle->load_presets(*app_config); - GUI::wxGetApp().load_current_presets(); + reload_configs_update_gui(); return R_UPDATE_INSTALLED; } else { @@ -870,11 +871,7 @@ void PresetUpdater::on_update_notification_confirm() if (res == wxID_OK) { BOOST_LOG_TRIVIAL(debug) << "User agreed to perform the update"; p->perform_updates(std::move(p->waiting_updates)); - - // Reload global configuration - auto* app_config = GUI::wxGetApp().app_config; - GUI::wxGetApp().preset_bundle->load_presets(*app_config); - GUI::wxGetApp().load_current_presets(); + reload_configs_update_gui(); p->has_waiting_updates = false; //return R_UPDATE_INSTALLED; } diff --git a/tests/fff_print/test_data.cpp b/tests/fff_print/test_data.cpp index d55f9f061..f5424dfd9 100644 --- a/tests/fff_print/test_data.cpp +++ b/tests/fff_print/test_data.cpp @@ -200,14 +200,14 @@ void init_print(std::initializer_list input_meshes, Slic3r::Print void init_print(std::initializer_list meshes, Slic3r::Print &print, Slic3r::Model &model, std::initializer_list config_items, bool comments) { Slic3r::DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config(); - config.set_deserialize(config_items); + config.set_deserialize_strict(config_items); init_print(meshes, print, model, config, comments); } void init_print(std::initializer_list meshes, Slic3r::Print &print, Slic3r::Model &model, std::initializer_list config_items, bool comments) { Slic3r::DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config(); - config.set_deserialize(config_items); + config.set_deserialize_strict(config_items); init_print(meshes, print, model, config, comments); } diff --git a/tests/fff_print/test_flow.cpp b/tests/fff_print/test_flow.cpp index 969ae3c82..9c7f767f5 100644 --- a/tests/fff_print/test_flow.cpp +++ b/tests/fff_print/test_flow.cpp @@ -19,7 +19,7 @@ SCENARIO("Extrusion width specifics", "[Flow]") { GIVEN("A config with a skirt, brim, some fill density, 3 perimeters, and 1 bottom solid layer and a 20mm cube mesh") { // this is a sharedptr DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config(); - config.set_deserialize({ + config.set_deserialize_strict({ { "brim_width", 2 }, { "skirts", 1 }, { "perimeters", 3 }, diff --git a/tests/fff_print/test_gcodewriter.cpp b/tests/fff_print/test_gcodewriter.cpp index 9ee319c94..a4c8aa09a 100644 --- a/tests/fff_print/test_gcodewriter.cpp +++ b/tests/fff_print/test_gcodewriter.cpp @@ -10,7 +10,7 @@ SCENARIO("lift() is not ignored after unlift() at normal values of Z", "[GCodeWr GIVEN("A config from a file and a single extruder.") { GCodeWriter writer; GCodeConfig &config = writer.config; - config.load(std::string(TEST_DATA_DIR) + "/fff_print_tests/test_gcodewriter/config_lift_unlift.ini"); + config.load(std::string(TEST_DATA_DIR) + "/fff_print_tests/test_gcodewriter/config_lift_unlift.ini", ForwardCompatibilitySubstitutionRule::Disable); std::vector extruder_ids {0}; writer.set_extruders(extruder_ids); diff --git a/tests/fff_print/test_print.cpp b/tests/fff_print/test_print.cpp index 3250443ed..01dfd0987 100644 --- a/tests/fff_print/test_print.cpp +++ b/tests/fff_print/test_print.cpp @@ -50,7 +50,7 @@ SCENARIO("Print: Skirt generation", "[Print]") { SCENARIO("Print: Changing number of solid surfaces does not cause all surfaces to become internal.", "[Print]") { GIVEN("sliced 20mm cube and config with top_solid_surfaces = 2 and bottom_solid_surfaces = 1") { Slic3r::DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config(); - config.set_deserialize({ + config.set_deserialize_strict({ { "top_solid_layers", 2 }, { "bottom_solid_layers", 1 }, { "layer_height", 0.5 }, // get a known number of layers diff --git a/tests/fff_print/test_printgcode.cpp b/tests/fff_print/test_printgcode.cpp index 10d3af9a3..87bbea88d 100644 --- a/tests/fff_print/test_printgcode.cpp +++ b/tests/fff_print/test_printgcode.cpp @@ -224,7 +224,7 @@ SCENARIO( "PrintGCode basic functionality", "[PrintGCode]") { { DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); config.set_num_extruders(4); - config.set_deserialize({ + config.set_deserialize_strict({ { "start_gcode", "; Extruder [current_extruder]" }, { "infill_extruder", 2 }, { "solid_infill_extruder", 2 }, diff --git a/tests/fff_print/test_skirt_brim.cpp b/tests/fff_print/test_skirt_brim.cpp index 097f72dcc..8f508f323 100644 --- a/tests/fff_print/test_skirt_brim.cpp +++ b/tests/fff_print/test_skirt_brim.cpp @@ -31,7 +31,7 @@ static int get_brim_tool(const std::string &gcode) TEST_CASE("Skirt height is honored", "[Skirt]") { DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config(); - config.set_deserialize({ + config.set_deserialize_strict({ { "skirts", 1 }, { "skirt_height", 5 }, { "perimeters", 0 }, @@ -64,7 +64,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { GIVEN("A default configuration") { DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config(); config.set_num_extruders(4); - config.set_deserialize({ + config.set_deserialize_strict({ { "support_material_speed", 99 }, { "first_layer_height", 0.3 }, { "gcode_comments", true }, @@ -78,7 +78,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { }); WHEN("Brim width is set to 5") { - config.set_deserialize({ + config.set_deserialize_strict({ { "perimeters", 0 }, { "skirts", 0 }, { "brim_width", 5 } @@ -100,7 +100,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { } WHEN("Skirt area is smaller than the brim") { - config.set_deserialize({ + config.set_deserialize_strict({ { "skirts", 1 }, { "brim_width", 10} }); @@ -110,7 +110,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { } WHEN("Skirt height is 0 and skirts > 0") { - config.set_deserialize({ + config.set_deserialize_strict({ { "skirts", 2 }, { "skirt_height", 0 } }); @@ -123,7 +123,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { // This is a real error! One shall print the brim with the external perimeter extruder! WHEN("Perimeter extruder = 2 and support extruders = 3") { THEN("Brim is printed with the extruder used for the perimeters of first object") { - config.set_deserialize({ + config.set_deserialize_strict({ { "skirts", 0 }, { "brim_width", 5 }, { "perimeter_extruder", 2 }, @@ -137,7 +137,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { } WHEN("Perimeter extruder = 2, support extruders = 3, raft is enabled") { THEN("brim is printed with same extruder as skirt") { - config.set_deserialize({ + config.set_deserialize_strict({ { "skirts", 0 }, { "brim_width", 5 }, { "perimeter_extruder", 2 }, @@ -153,7 +153,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { #endif WHEN("brim width to 1 with layer_width of 0.5") { - config.set_deserialize({ + config.set_deserialize_strict({ { "skirts", 0 }, { "first_layer_extrusion_width", 0.5 }, { "brim_width", 1 } @@ -167,7 +167,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { #if 0 WHEN("brim ears on a square") { - config.set_deserialize({ + config.set_deserialize_strict({ { "skirts", 0 }, { "first_layer_extrusion_width", 0.5 }, { "brim_width", 1 }, @@ -182,7 +182,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { } WHEN("brim ears on a square but with a too small max angle") { - config.set_deserialize({ + config.set_deserialize_strict({ { "skirts", 0 }, { "first_layer_extrusion_width", 0.5 }, { "brim_width", 1 }, @@ -198,7 +198,7 @@ SCENARIO("Original Slic3r Skirt/Brim tests", "[SkirtBrim]") { #endif WHEN("Object is plated with overhang support and a brim") { - config.set_deserialize({ + config.set_deserialize_strict({ { "layer_height", 0.4 }, { "first_layer_height", 0.4 }, { "skirts", 1 }, diff --git a/tests/libslic3r/test_3mf.cpp b/tests/libslic3r/test_3mf.cpp index fb41ef93b..035d47b11 100644 --- a/tests/libslic3r/test_3mf.cpp +++ b/tests/libslic3r/test_3mf.cpp @@ -14,7 +14,8 @@ SCENARIO("Reading 3mf file", "[3mf]") { WHEN("3mf model is read") { std::string path = std::string(TEST_DATA_DIR) + "/test_3mf/Geräte/Büchse.3mf"; DynamicPrintConfig config; - bool ret = load_3mf(path.c_str(), &config, &model, false); + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Disable }; + bool ret = load_3mf(path.c_str(), config, ctxt, &model, false); THEN("load should succeed") { REQUIRE(ret); } @@ -56,7 +57,10 @@ SCENARIO("Export+Import geometry to/from 3mf file cycle", "[3mf]") { // load back the model from the 3mf file Model dst_model; DynamicPrintConfig dst_config; - load_3mf(test_file.c_str(), &dst_config, &dst_model, false); + { + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Disable }; + load_3mf(test_file.c_str(), dst_config, ctxt, &dst_model, false); + } boost::filesystem::remove(test_file); // compare meshes diff --git a/tests/libslic3r/test_config.cpp b/tests/libslic3r/test_config.cpp index c3f17def2..6eb252c1a 100644 --- a/tests/libslic3r/test_config.cpp +++ b/tests/libslic3r/test_config.cpp @@ -8,7 +8,7 @@ SCENARIO("Generic config validation performs as expected.", "[Config]") { GIVEN("A config generated from default options") { Slic3r::DynamicPrintConfig config = Slic3r::DynamicPrintConfig::full_print_config(); WHEN( "perimeter_extrusion_width is set to 250%, a valid value") { - config.set_deserialize("perimeter_extrusion_width", "250%"); + config.set_deserialize_strict("perimeter_extrusion_width", "250%"); THEN( "The config is read as valid.") { REQUIRE(config.validate().empty()); } @@ -39,7 +39,7 @@ SCENARIO("Config accessor functions perform as expected.", "[Config]") { } } WHEN("A boolean option is set to a string value representing a 0 or 1") { - CHECK_NOTHROW(config.set_deserialize("gcode_comments", "1")); + CHECK_NOTHROW(config.set_deserialize_strict("gcode_comments", "1")); THEN("The underlying value is set correctly.") { REQUIRE(config.opt("gcode_comments")->getBool() == true); } @@ -58,7 +58,7 @@ SCENARIO("Config accessor functions perform as expected.", "[Config]") { } } WHEN("A numeric option is set from serialized string") { - config.set_deserialize("bed_temperature", "100"); + config.set_deserialize_strict("bed_temperature", "100"); THEN("The underlying value is set correctly.") { REQUIRE(config.opt("bed_temperature")->get_at(0) == 100); } @@ -91,7 +91,7 @@ SCENARIO("Config accessor functions perform as expected.", "[Config]") { } WHEN("A numeric option is set to a non-numeric value.") { THEN("A BadOptionTypeException exception is thown.") { - REQUIRE_THROWS_AS(config.set_deserialize("perimeter_speed", "zzzz"), BadOptionTypeException); + REQUIRE_THROWS_AS(config.set_deserialize_strict("perimeter_speed", "zzzz"), BadOptionTypeException); } THEN("The value does not change.") { REQUIRE(config.opt("perimeter_speed")->getFloat() == 60.0); @@ -116,7 +116,7 @@ SCENARIO("Config accessor functions perform as expected.", "[Config]") { } } WHEN("A float or percent is set as a percent through the string interface.") { - config.set_deserialize("first_layer_extrusion_width", "100%"); + config.set_deserialize_strict("first_layer_extrusion_width", "100%"); THEN("Value and percent flag are 100/true") { auto tmp = config.opt("first_layer_extrusion_width"); REQUIRE(tmp->percent == true); @@ -124,7 +124,7 @@ SCENARIO("Config accessor functions perform as expected.", "[Config]") { } } WHEN("A float or percent is set as a float through the string interface.") { - config.set_deserialize("first_layer_extrusion_width", "100"); + config.set_deserialize_strict("first_layer_extrusion_width", "100"); THEN("Value and percent flag are 100/false") { auto tmp = config.opt("first_layer_extrusion_width"); REQUIRE(tmp->percent == false); @@ -194,7 +194,7 @@ SCENARIO("Config ini load/save interface", "[Config]") { WHEN("new_from_ini is called") { Slic3r::DynamicPrintConfig config; std::string path = std::string(TEST_DATA_DIR) + "/test_config/new_from_ini.ini"; - config.load_from_ini(path); + config.load_from_ini(path, ForwardCompatibilitySubstitutionRule::Disable); THEN("Config object contains ini file options.") { REQUIRE(config.option_throw("filament_colour", false)->values.size() == 1); REQUIRE(config.option_throw("filament_colour", false)->values.front() == "#ABCD"); diff --git a/tests/libslic3r/test_placeholder_parser.cpp b/tests/libslic3r/test_placeholder_parser.cpp index e632dc705..25642ee96 100644 --- a/tests/libslic3r/test_placeholder_parser.cpp +++ b/tests/libslic3r/test_placeholder_parser.cpp @@ -9,7 +9,7 @@ SCENARIO("Placeholder parser scripting", "[PlaceholderParser]") { PlaceholderParser parser; auto config = DynamicPrintConfig::full_print_config(); - config.set_deserialize( { + config.set_deserialize_strict( { { "printer_notes", " PRINTER_VENDOR_PRUSA3D PRINTER_MODEL_MK2 " }, { "nozzle_diameter", "0.6;0.6;0.6;0.6" }, { "temperature", "357;359;363;378" } diff --git a/xs/src/perlglue.cpp b/xs/src/perlglue.cpp index aec6ceb6a..20288243e 100644 --- a/xs/src/perlglue.cpp +++ b/xs/src/perlglue.cpp @@ -282,7 +282,7 @@ bool ConfigBase__set(ConfigBase* THIS, const t_config_option_key &opt_key, SV* v break; } default: - if (! opt->deserialize(std::string(SvPV_nolen(value)))) + if (! opt->deserialize(std::string(SvPV_nolen(value)), ForwardCompatibilitySubstitutionRule::Disable)) return false; } return true; @@ -295,7 +295,8 @@ bool ConfigBase__set_deserialize(ConfigBase* THIS, const t_config_option_key &op size_t len; const char * c = SvPV(str, len); std::string value(c, len); - return THIS->set_deserialize_nothrow(opt_key, value); + ConfigSubstitutionContext ctxt{ ForwardCompatibilitySubstitutionRule::Disable }; + return THIS->set_deserialize_nothrow(opt_key, value, ctxt); } void ConfigBase__set_ifndef(ConfigBase* THIS, const t_config_option_key &opt_key, SV* value, bool deserialize) diff --git a/xs/xsp/Config.xsp b/xs/xsp/Config.xsp index b8f996797..d1c9bfa0c 100644 --- a/xs/xsp/Config.xsp +++ b/xs/xsp/Config.xsp @@ -55,7 +55,7 @@ %code%{ auto config = new DynamicPrintConfig(); try { - config->load(path); + config->load(path, ForwardCompatibilitySubstitutionRule::Disable); RETVAL = config; } catch (std::exception& e) { delete config; @@ -119,7 +119,7 @@ %code%{ auto config = new FullPrintConfig(); try { - config->load(path); + config->load(path, ForwardCompatibilitySubstitutionRule::Disable); RETVAL = static_cast(config); } catch (std::exception& e) { delete config; diff --git a/xs/xsp/Flow.xsp b/xs/xsp/Flow.xsp index b57df5e37..2f8a8f2f8 100644 --- a/xs/xsp/Flow.xsp +++ b/xs/xsp/Flow.xsp @@ -41,7 +41,7 @@ _new_from_width(CLASS, role, width, nozzle_diameter, height, bridge_flow_ratio) float bridge_flow_ratio; CODE: ConfigOptionFloatOrPercent optwidth; - optwidth.deserialize(width); + optwidth.deserialize(width, ForwardCompatibilitySubstitutionRule::Disable); RETVAL = new Flow(Flow::new_from_config_width(role, optwidth, nozzle_diameter, height, bridge_flow_ratio)); OUTPUT: RETVAL diff --git a/xs/xsp/Model.xsp b/xs/xsp/Model.xsp index 93067ebe3..e7a171efd 100644 --- a/xs/xsp/Model.xsp +++ b/xs/xsp/Model.xsp @@ -22,7 +22,7 @@ %name{read_from_file} Model(std::string input_file, bool add_default_instances = true) %code%{ try { - RETVAL = new Model(Model::read_from_file(input_file, nullptr, add_default_instances)); + RETVAL = new Model(Model::read_from_file(input_file, nullptr, nullptr, only_if(add_default_instances, Model::LoadAttribute::AddDefaultInstances))); } catch (std::exception& e) { croak("Error while opening %s: %s\n", input_file.c_str(), e.what()); } From 3fbd5c92475a05b67e172652653025b7c099a7c9 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Sun, 27 Jun 2021 20:30:51 +0200 Subject: [PATCH 43/80] Resources for new Creality printers --- .../profiles/Creality/ENDER7_thumbnail.png | Bin 0 -> 48679 bytes resources/profiles/Creality/ender7.svg | 4 ++++ resources/profiles/Creality/ender7_bed.stl | Bin 0 -> 19884 bytes resources/profiles/Creality/sermoond1.svg | 4 ++++ resources/profiles/Creality/sermoond1_bed.stl | Bin 0 -> 19884 bytes 5 files changed, 8 insertions(+) create mode 100644 resources/profiles/Creality/ENDER7_thumbnail.png create mode 100644 resources/profiles/Creality/ender7.svg create mode 100644 resources/profiles/Creality/ender7_bed.stl create mode 100644 resources/profiles/Creality/sermoond1.svg create mode 100644 resources/profiles/Creality/sermoond1_bed.stl diff --git a/resources/profiles/Creality/ENDER7_thumbnail.png b/resources/profiles/Creality/ENDER7_thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..0ede9649a4144c055576ee340294796b6b30bdcd GIT binary patch literal 48679 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 I!`^ks)-i%#S2g1jEbW2 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 C?@{#t literal 0 HcmV?d00001 diff --git a/resources/profiles/Creality/ender7.svg b/resources/profiles/Creality/ender7.svg new file mode 100644 index 000000000..29e93753f --- /dev/null +++ b/resources/profiles/Creality/ender7.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/profiles/Creality/ender7_bed.stl b/resources/profiles/Creality/ender7_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..9cf19e483d982b08c1543c2130a25a8f6c01ee94 GIT binary patch literal 19884 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 literal 0 HcmV?d00001 diff --git a/resources/profiles/Creality/sermoond1.svg b/resources/profiles/Creality/sermoond1.svg new file mode 100644 index 000000000..1a93d9537 --- /dev/null +++ b/resources/profiles/Creality/sermoond1.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/profiles/Creality/sermoond1_bed.stl b/resources/profiles/Creality/sermoond1_bed.stl new file mode 100644 index 0000000000000000000000000000000000000000..edab280e9a93b6169a5afb4f6cdadee141bdaf7e GIT binary patch literal 19884 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 literal 0 HcmV?d00001 From 14dc4c8afccde4744f40867ff810d7b20071be64 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 28 Jun 2021 17:20:04 +0200 Subject: [PATCH 44/80] Substitutions : Implemented InfoDialog --- resources/icons/info.svg | 71 +++++++++++++++++++++++ resources/icons/white/info.svg | 71 +++++++++++++++++++++++ src/libslic3r/Utils.hpp | 2 +- src/libslic3r/utils.cpp | 6 +- src/slic3r/GUI/GUI.cpp | 86 ++++++++++++++++++++++++++++ src/slic3r/GUI/GUI.hpp | 3 + src/slic3r/GUI/GUI_App.cpp | 17 ++---- src/slic3r/GUI/Jobs/SLAImportJob.cpp | 2 +- src/slic3r/GUI/MainFrame.cpp | 16 ++---- src/slic3r/GUI/MsgDialog.cpp | 40 ++++++++++++- src/slic3r/GUI/MsgDialog.hpp | 16 ++++++ src/slic3r/GUI/Plater.cpp | 8 +-- 12 files changed, 302 insertions(+), 36 deletions(-) create mode 100644 resources/icons/info.svg create mode 100644 resources/icons/white/info.svg diff --git a/resources/icons/info.svg b/resources/icons/info.svg new file mode 100644 index 000000000..276b26061 --- /dev/null +++ b/resources/icons/info.svg @@ -0,0 +1,71 @@ + +image/svg+xml + + + + + + + + + + diff --git a/resources/icons/white/info.svg b/resources/icons/white/info.svg new file mode 100644 index 000000000..db227aa32 --- /dev/null +++ b/resources/icons/white/info.svg @@ -0,0 +1,71 @@ + +image/svg+xml + + + + + + + + + + diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp index 0979d7f76..67d3dd8f2 100644 --- a/src/libslic3r/Utils.hpp +++ b/src/libslic3r/Utils.hpp @@ -226,7 +226,7 @@ inline typename CONTAINER_TYPE::value_type& next_value_modulo(typename CONTAINER return container[next_idx_modulo(idx, container.size())]; } -extern std::string xml_escape(std::string text); +extern std::string xml_escape(std::string text, bool is_marked = false); #if defined __GNUC__ && __GNUC__ < 5 && !defined __clang__ diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index 1f3079fba..1a27684d8 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -840,7 +840,7 @@ unsigned get_current_pid() #endif } -std::string xml_escape(std::string text) +std::string xml_escape(std::string text, bool is_marked/* = false*/) { std::string::size_type pos = 0; for (;;) @@ -855,8 +855,8 @@ std::string xml_escape(std::string text) case '\"': replacement = """; break; case '\'': replacement = "'"; break; case '&': replacement = "&"; break; - case '<': replacement = "<"; break; - case '>': replacement = ">"; break; + case '<': replacement = is_marked ? "<" :"<"; break; + case '>': replacement = is_marked ? ">" :">"; break; default: break; } diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index dea226012..176e81212 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -257,6 +257,92 @@ void warning_catcher(wxWindow* parent, const wxString& message) msg.ShowModal(); } +static void add_config_substitutions(const ConfigSubstitutions& conf_substitutions, wxString& changes) +{ + for (const ConfigSubstitution& conf_substitution : conf_substitutions) { + wxString new_val; + if (!conf_substitution.opt_def) + continue; + if (conf_substitution.opt_def->type == coEnum) { + const std::vector& labels = conf_substitution.opt_def->enum_labels; + const std::vector& values = conf_substitution.opt_def->enum_values; + int val = conf_substitution.new_value->getInt(); + + bool is_infill = conf_substitution.opt_def->opt_key == "top_fill_pattern" || + conf_substitution.opt_def->opt_key == "bottom_fill_pattern" || + conf_substitution.opt_def->opt_key == "fill_pattern"; + + // Each infill doesn't use all list of infill declared in PrintConfig.hpp. + // So we should "convert" val to the correct one + if (is_infill) { + for (const auto& key_val : *conf_substitution.opt_def->enum_keys_map) + if ((int)key_val.second == val) { + auto it = std::find(values.begin(), values.end(), key_val.first); + if (it == values.end()) + break; + new_val = from_u8(_utf8(labels[it - values.begin()])); + break; + } + new_val = _L("Undef"); + } + else + new_val = from_u8(_utf8(labels[val])); + } + else if (conf_substitution.opt_def->type == coBool) + new_val = conf_substitution.new_value->getBool() ? "true" : "false"; + + changes += "\n" + GUI::format(_L("New unknown value \"%1%\" was changed to defaul value \"%2%\""), conf_substitution.old_value, new_val); + } +} + +void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_substitutions) +{ + wxString changes; + + auto preset_type_name = [](Preset::Type type) { + return type == Slic3r::Preset::TYPE_PRINT ? _L("Print") : + type == Slic3r::Preset::TYPE_SLA_PRINT ? _L("SLA Print") : + type == Slic3r::Preset::TYPE_FILAMENT ? _L("Filament") : + type == Slic3r::Preset::TYPE_SLA_MATERIAL ? _L("SLA Material") : + type == Slic3r::Preset::TYPE_PRINTER ? _L("Printer") : ""; + }; + + for (const PresetConfigSubstitutions& substitution : presets_config_substitutions) { + changes += "\n

" + GUI::format(_L(" %1% Preset : %2%"), preset_type_name(substitution.preset_type), substitution.preset_name); + if (!substitution.preset_file.empty()) + changes += GUI::format(" (%1%)", substitution.preset_file); + changes += "

"; + + add_config_substitutions(substitution.substitutions, changes); + } + if (!changes.IsEmpty()) + changes += "\n\n"; + + wxString message = format(_L("Loading profiles found following incompatibilities:%1%" + " To recover these files, incompatible values were changed to default values.\n" + " But data in files won't be changed until you save them in PrusaSlicer."), changes); + + InfoDialog msg(nullptr, message); + msg.ShowModal(); +} + +void show_substitutions_info(const ConfigSubstitutions& config_substitutions, const std::string& filename) +{ + wxString changes = "\n"; + + add_config_substitutions(config_substitutions, changes); + + if (!changes.IsEmpty()) + changes += "\n\n"; + + wxString message = format(_L("Loading %1% file found incompatibilities.\n" + "To recover this file, incompatible values were changed to default values:%2%" + "But data in files won't be changed until you save them in PrusaSlicer."), from_u8(filename), changes); + + InfoDialog msg(nullptr, message); + msg.ShowModal(); +} + void create_combochecklist(wxComboCtrl* comboCtrl, const std::string& text, const std::string& items) { if (comboCtrl == nullptr) diff --git a/src/slic3r/GUI/GUI.hpp b/src/slic3r/GUI/GUI.hpp index a90115933..f80d18344 100644 --- a/src/slic3r/GUI/GUI.hpp +++ b/src/slic3r/GUI/GUI.hpp @@ -7,6 +7,7 @@ namespace boost::filesystem { class path; } #include #include "libslic3r/Config.hpp" +#include "libslic3r/Preset.hpp" class wxWindow; class wxMenuBar; @@ -49,6 +50,8 @@ void show_info(wxWindow* parent, const wxString& message, const wxString& title void show_info(wxWindow* parent, const char* message, const char* title = nullptr); inline void show_info(wxWindow* parent, const std::string& message,const std::string& title = std::string()) { show_info(parent, message.c_str(), title.c_str()); } void warning_catcher(wxWindow* parent, const wxString& message); +void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_substitutions); +void show_substitutions_info(const ConfigSubstitutions& config_substitutions, const std::string& filename); // Creates a wxCheckListBoxComboPopup inside the given wxComboCtrl, filled with the given text and items. // Items data must be separated by '|', and contain the item name to be shown followed by its initial value (0 for false, 1 for true). diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 319b408d7..9653e56f0 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -618,12 +618,8 @@ void GUI_App::post_init() this->plater()->load_gcode(wxString::FromUTF8(this->init_params->input_files[0].c_str())); } else { - if (! this->init_params->preset_substitutions.empty()) { - // TODO: Add list of changes from all_substitutions - show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." - " To recover these files, incompatible values were changed to default values." - " But data in files won't be changed until you save them in PrusaSlicer."))); - } + if (! this->init_params->preset_substitutions.empty()) + show_substitutions_info(this->init_params->preset_substitutions); #if 0 // Load the cummulative config over the currently active profiles. @@ -1681,12 +1677,9 @@ void GUI_App::add_config_menu(wxMenuBar *menu) try { app_config->set("on_snapshot", Config::SnapshotDB::singleton().restore_snapshot(dlg.snapshot_to_activate(), *app_config).id); if (PresetsConfigSubstitutions all_substitutions = preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::Enable); - ! all_substitutions.empty()) { - // TODO: - show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." - " To recover these files, incompatible values were changed to default values." - " But data in files won't be changed until you save them in PrusaSlicer."))); - } + ! all_substitutions.empty()) + show_substitutions_info(all_substitutions); + // Load the currently selected preset into the GUI, update the preset selection box. load_current_presets(); } catch (std::exception &ex) { diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.cpp b/src/slic3r/GUI/Jobs/SLAImportJob.cpp index 52cbb5ac9..567adbc4c 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.cpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.cpp @@ -158,7 +158,7 @@ void SLAImportJob::process() } if (! config_substitutions.empty()) { - //FIXME Add reporting here "Loading profiles found following incompatibilities." + show_substitutions_info(config_substitutions, path); } update_status(100, was_canceled() ? _(L("Importing canceled.")) : diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 8a3bd6c01..018f06fb2 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1518,12 +1518,8 @@ bool MainFrame::load_config_file(const std::string &path) { try { ConfigSubstitutions config_substitutions = wxGetApp().preset_bundle->load_config_file(path, ForwardCompatibilitySubstitutionRule::Enable); - if (! config_substitutions.empty()) { - // TODO: Add list of changes from all_substitutions - show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." - " To recover these files, incompatible values were changed to default values." - " But data in files won't be changed until you save them in PrusaSlicer."))); - } + if (!config_substitutions.empty()) + show_substitutions_info(config_substitutions, path); } catch (const std::exception &ex) { show_error(this, ex.what()); return false; @@ -1588,12 +1584,8 @@ void MainFrame::load_configbundle(wxString file/* = wxEmptyString, const bool re return; } - if (! config_substitutions.empty()) { - // TODO: Add list of changes from all_substitutions - show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." - " To recover these files, incompatible values were changed to default values." - " But data in files won't be changed until you save them in PrusaSlicer."))); - } + if (! config_substitutions.empty()) + show_substitutions_info(config_substitutions); // Load the currently selected preset into the GUI, update the preset selection box. wxGetApp().load_current_presets(); diff --git a/src/slic3r/GUI/MsgDialog.cpp b/src/slic3r/GUI/MsgDialog.cpp index d90f4de10..e8dc80c53 100644 --- a/src/slic3r/GUI/MsgDialog.cpp +++ b/src/slic3r/GUI/MsgDialog.cpp @@ -58,7 +58,7 @@ MsgDialog::MsgDialog(wxWindow *parent, const wxString &title, const wxString &he logo = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap); - topsizer->Add(logo, 0, wxALL, BORDER); + topsizer->Add(logo, 0, /*wxALL*/wxTOP | wxBOTTOM | wxLEFT, BORDER); topsizer->Add(rightsizer, 1, wxALL | wxEXPAND, BORDER); SetSizerAndFit(topsizer); @@ -107,5 +107,43 @@ ErrorDialog::ErrorDialog(wxWindow *parent, const wxString &msg, bool monospaced_ Fit(); } + +// InfoDialog + +InfoDialog::InfoDialog(wxWindow* parent, const wxString& msg) + : MsgDialog(parent, wxString::Format(_L("%s information"), SLIC3R_APP_NAME), _L("Note that")) + , msg(msg) +{ + this->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); + + // Text shown as HTML, so that mouse selection and Ctrl-V to copy will work. + wxHtmlWindow* html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_AUTO); + { + html->SetMinSize(wxSize(40 * wxGetApp().em_unit(), -1)); + wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); + wxFont monospace = wxGetApp().code_font(); + wxColour text_clr = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT); + wxColour bgr_clr = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW); + auto text_clr_str = wxString::Format(wxT("#%02X%02X%02X"), text_clr.Red(), text_clr.Green(), text_clr.Blue()); + auto bgr_clr_str = wxString::Format(wxT("#%02X%02X%02X"), bgr_clr.Red(), bgr_clr.Green(), bgr_clr.Blue()); + const int font_size = font.GetPointSize() - 1; + int size[] = { font_size, font_size, font_size, font_size, font_size, font_size, font_size }; + html->SetFonts(font.GetFaceName(), monospace.GetFaceName(), size); + html->SetBorders(2); + std::string msg_escaped = xml_escape(msg.ToUTF8().data(), true); + boost::replace_all(msg_escaped, "\r\n", "
"); + boost::replace_all(msg_escaped, "\n", "
"); + html->SetPage("" + wxString::FromUTF8(msg_escaped.data()) + ""); + content_sizer->Add(html, 1, wxEXPAND); + } + + // Set info bitmap + logo->SetBitmap(create_scaled_bitmap("info", this, 84)); + + SetMinSize(wxSize(60 * wxGetApp().em_unit(), 30 * wxGetApp().em_unit())); + Fit(); +} + + } } diff --git a/src/slic3r/GUI/MsgDialog.hpp b/src/slic3r/GUI/MsgDialog.hpp index 70032089b..dcc6bdca6 100644 --- a/src/slic3r/GUI/MsgDialog.hpp +++ b/src/slic3r/GUI/MsgDialog.hpp @@ -66,6 +66,22 @@ private: }; +// Generic info dialog, used for displaying exceptions +class InfoDialog : public MsgDialog +{ +public: + InfoDialog(wxWindow *parent, const wxString &msg); + InfoDialog(InfoDialog&&) = delete; + InfoDialog(const InfoDialog&) = delete; + InfoDialog&operator=(InfoDialog&&) = delete; + InfoDialog&operator=(const InfoDialog&) = delete; + virtual ~InfoDialog() = default; + +private: + wxString msg; +}; + + } } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 79014474e..1fe45b718 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2369,12 +2369,8 @@ std::vector Plater::priv::load_files(const std::vector& input_ // and place the loaded config over the base. config += std::move(config_loaded); } - if (! config_substitutions.empty()) { - // TODO: - show_error(nullptr, GUI::format(_L("Loading profiles found following incompatibilities." - " To recover these files, incompatible values were changed to default values." - " But data in files won't be changed until you save them in PrusaSlicer."))); - } + if (! config_substitutions.empty()) + show_substitutions_info(config_substitutions.substitutions, filename.string()); this->model.custom_gcode_per_print_z = model.custom_gcode_per_print_z; } From 226bf929fb9f1cb4cad1d2bb5468b3f01971d701 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Mon, 28 Jun 2021 17:26:24 +0200 Subject: [PATCH 45/80] Fixed loading of system presets with incompatible system profile keys before the "reconfigure" dialog is shown. Replaced boost::filesystem::copy_file() with Slic3r::copy_file() in config snapshot loading code. --- src/libslic3r/Config.cpp | 3 +- src/libslic3r/Config.hpp | 7 +++++ src/libslic3r/PresetBundle.cpp | 44 +++++++++++++++++------------- src/libslic3r/PresetBundle.hpp | 8 ++++-- src/slic3r/Config/Snapshot.cpp | 8 ++++-- src/slic3r/GUI/ConfigWizard.cpp | 7 +++-- src/slic3r/GUI/GUI_App.cpp | 8 +++++- src/slic3r/GUI/MainFrame.cpp | 4 ++- src/slic3r/Utils/PresetUpdater.cpp | 10 +++++-- 9 files changed, 67 insertions(+), 32 deletions(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index 3f51e9eaf..d1f9cdc6c 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -551,7 +551,8 @@ bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, con else opt->set(optdef->default_value.get()); - if (substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable) { + if (substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable || + substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::EnableSystemSilent) { // Log the substitution. ConfigSubstitution config_substitution; config_substitution.opt_def = optdef; diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 1538433fe..6155c1012 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -123,9 +123,16 @@ enum PrinterTechnology : unsigned char enum ForwardCompatibilitySubstitutionRule { + // Disable susbtitution, throw exception if an option value is not recognized. Disable, + // Enable substitution of an unknown option value with default. Log the substitution. Enable, + // Enable substitution of an unknown option value with default. Don't log the substitution. EnableSilent, + // Enable substitution of an unknown option value with default. Log substitutions in user profiles, don't log substitutions in system profiles. + EnableSystemSilent, + // Enable silent substitution of an unknown option value with default when loading user profiles. Throw on an unknown option value in a system profile. + EnableSilentDisableSystem, }; class ConfigOption; diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index fb1fca430..645c285ad 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -165,7 +165,9 @@ void PresetBundle::setup_directories() PresetsConfigSubstitutions PresetBundle::load_presets(AppConfig &config, ForwardCompatibilitySubstitutionRule substitution_rule, const std::string &preferred_model_id) { // First load the vendor specific system presets. - std::string errors_cummulative = this->load_system_presets(); + PresetsConfigSubstitutions substitutions; + std::string errors_cummulative; + std::tie(substitutions, errors_cummulative) = this->load_system_presets(substitution_rule); const std::string dir_user_presets = data_dir() #ifdef SLIC3R_PROFILE_USE_PRESETS_SUBDIR @@ -176,7 +178,6 @@ PresetsConfigSubstitutions PresetBundle::load_presets(AppConfig &config, Forward #endif ; - PresetsConfigSubstitutions substitutions; try { this->prints.load_presets(dir_user_presets, "print", substitutions, substitution_rule); } catch (const std::runtime_error &err) { @@ -219,12 +220,20 @@ PresetsConfigSubstitutions PresetBundle::load_presets(AppConfig &config, Forward // Load system presets into this PresetBundle. // For each vendor, there will be a single PresetBundle loaded. -std::string PresetBundle::load_system_presets() +std::pair PresetBundle::load_system_presets(ForwardCompatibilitySubstitutionRule compatibility_rule) { + if (compatibility_rule == ForwardCompatibilitySubstitutionRule::EnableSystemSilent) + // Loading system presets, don't log substitutions. + compatibility_rule = ForwardCompatibilitySubstitutionRule::EnableSilent; + else if (compatibility_rule == ForwardCompatibilitySubstitutionRule::EnableSilentDisableSystem) + // Loading system presets, throw on unknown option value. + compatibility_rule = ForwardCompatibilitySubstitutionRule::Disable; + // Here the vendor specific read only Config Bundles are stored. - boost::filesystem::path dir = (boost::filesystem::path(data_dir()) / "vendor").make_preferred(); - std::string errors_cummulative; - bool first = true; + boost::filesystem::path dir = (boost::filesystem::path(data_dir()) / "vendor").make_preferred(); + PresetsConfigSubstitutions substitutions; + std::string errors_cummulative; + bool first = true; for (auto &dir_entry : boost::filesystem::directory_iterator(dir)) if (Slic3r::is_ini_file(dir_entry)) { std::string name = dir_entry.path().filename().string(); @@ -234,13 +243,13 @@ std::string PresetBundle::load_system_presets() // Load the config bundle, flatten it. if (first) { // Reset this PresetBundle and load the first vendor config. - this->load_configbundle(dir_entry.path().string(), PresetBundle::LoadSystem); + append(substitutions, this->load_configbundle(dir_entry.path().string(), PresetBundle::LoadSystem, compatibility_rule).first); first = false; } else { // Load the other vendor configs, merge them with this PresetBundle. // Report duplicate profiles. PresetBundle other; - other.load_configbundle(dir_entry.path().string(), PresetBundle::LoadSystem); + append(substitutions, other.load_configbundle(dir_entry.path().string(), PresetBundle::LoadSystem, compatibility_rule).first); std::vector duplicates = this->merge_presets(std::move(other)); if (! duplicates.empty()) { errors_cummulative += "Vendor configuration file " + name + " contains the following presets with names used by other vendors: "; @@ -262,7 +271,7 @@ std::string PresetBundle::load_system_presets() } this->update_system_maps(); - return errors_cummulative; + return std::make_pair(std::move(substitutions), errors_cummulative); } // Merge one vendor's presets with the other vendor's presets, report duplicates. @@ -713,7 +722,7 @@ ConfigSubstitutions PresetBundle::load_config_file(const std::string &path, Forw return config_substitutions; } case CONFIG_FILE_TYPE_CONFIG_BUNDLE: - return load_config_file_config_bundle(path, tree); + return load_config_file_config_bundle(path, tree, compatibility_rule); } // This shall never happen. Suppres compiler warnings. @@ -890,13 +899,14 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool } // Load the active configuration of a config bundle from a boost property_tree. This is a private method called from load_config_file. -ConfigSubstitutions PresetBundle::load_config_file_config_bundle(const std::string &path, const boost::property_tree::ptree &tree) +ConfigSubstitutions PresetBundle::load_config_file_config_bundle( + const std::string &path, const boost::property_tree::ptree &tree, ForwardCompatibilitySubstitutionRule compatibility_rule) { // 1) Load the config bundle into a temp data. PresetBundle tmp_bundle; // Load the config bundle, but don't save the loaded presets to user profile directory, as only the presets marked as active in the loaded preset bundle // will be loaded into the master PresetBundle and activated. - auto [presets_substitutions, presets_imported] = tmp_bundle.load_configbundle(path, {}); + auto [presets_substitutions, presets_imported] = tmp_bundle.load_configbundle(path, {}, compatibility_rule); std::string bundle_name = std::string(" - ") + boost::filesystem::path(path).filename().string(); @@ -1103,15 +1113,11 @@ static void flatten_configbundle_hierarchy(boost::property_tree::ptree &tree, co // Load a config bundle file, into presets and store the loaded presets into separate files // of the local configuration directory. -std::pair PresetBundle::load_configbundle(const std::string &path, LoadConfigBundleAttributes flags) +std::pair PresetBundle::load_configbundle( + const std::string &path, LoadConfigBundleAttributes flags, ForwardCompatibilitySubstitutionRule compatibility_rule) { // Enable substitutions for user config bundle, throw an exception when loading a system profile. - ConfigSubstitutionContext substitution_context { - flags.has(LoadConfigBundleAttribute::LoadSystem) ? - ForwardCompatibilitySubstitutionRule::Disable : - ForwardCompatibilitySubstitutionRule::Enable - }; - + ConfigSubstitutionContext substitution_context { compatibility_rule }; PresetsConfigSubstitutions substitutions; if (flags.has(LoadConfigBundleAttribute::ResetUserProfile) || flags.has(LoadConfigBundleAttribute::LoadSystem)) diff --git a/src/libslic3r/PresetBundle.hpp b/src/libslic3r/PresetBundle.hpp index b67edeb07..cd26a0968 100644 --- a/src/libslic3r/PresetBundle.hpp +++ b/src/libslic3r/PresetBundle.hpp @@ -102,7 +102,8 @@ public: using LoadConfigBundleAttributes = enum_bitmask; // Load the config bundle based on the flags. // Don't do any config substitutions when loading a system profile, perform and report substitutions otherwise. - std::pair load_configbundle(const std::string &path, LoadConfigBundleAttributes flags); + std::pair load_configbundle( + const std::string &path, LoadConfigBundleAttributes flags, ForwardCompatibilitySubstitutionRule compatibility_rule); // Export a config bundle file containing all the presets and the names of the active presets. void export_configbundle(const std::string &path, bool export_system_settings = false, bool export_physical_printers = false); @@ -139,7 +140,7 @@ public: static const char *PRUSA_BUNDLE; private: - std::string load_system_presets(); + std::pair load_system_presets(ForwardCompatibilitySubstitutionRule compatibility_rule); // Merge one vendor's presets with the other vendor's presets, report duplicates. std::vector merge_presets(PresetBundle &&other); // Update renamed_from and alias maps of system profiles. @@ -158,7 +159,8 @@ private: // and the external config is just referenced, not stored into user profile directory. // If it is not an external config, then the config will be stored into the user profile directory. void load_config_file_config(const std::string &name_or_path, bool is_external, DynamicPrintConfig &&config); - ConfigSubstitutions load_config_file_config_bundle(const std::string &path, const boost::property_tree::ptree &tree); + ConfigSubstitutions load_config_file_config_bundle( + const std::string &path, const boost::property_tree::ptree &tree, ForwardCompatibilitySubstitutionRule compatibility_rule); DynamicPrintConfig full_fff_config() const; DynamicPrintConfig full_sla_config() const; diff --git a/src/slic3r/Config/Snapshot.cpp b/src/slic3r/Config/Snapshot.cpp index c6347248b..40539b7b7 100644 --- a/src/slic3r/Config/Snapshot.cpp +++ b/src/slic3r/Config/Snapshot.cpp @@ -10,6 +10,7 @@ #include #include "libslic3r/PresetBundle.hpp" +#include "libslic3r/format.hpp" #include "libslic3r/libslic3r.h" #include "libslic3r/Time.hpp" #include "libslic3r/Config.hpp" @@ -358,11 +359,12 @@ static void copy_config_dir_single_level(const boost::filesystem::path &path_src { if (! boost::filesystem::is_directory(path_dst) && ! boost::filesystem::create_directory(path_dst)) - throw Slic3r::RuntimeError(std::string("Slic3r was unable to create a directory at ") + path_dst.string()); + throw Slic3r::RuntimeError(std::string("PrusaSlicer was unable to create a directory at ") + path_dst.string()); for (auto &dir_entry : boost::filesystem::directory_iterator(path_src)) if (Slic3r::is_ini_file(dir_entry)) - boost::filesystem::copy_file(dir_entry.path(), path_dst / dir_entry.path().filename(), boost::filesystem::copy_option::overwrite_if_exists); + if (std::string error_message; copy_file(dir_entry.path().string(), (path_dst / dir_entry.path().filename()).string(), error_message, false) != SUCCESS) + throw Slic3r::RuntimeError(format("Failed copying \"%1%\" to \"%2%\": %3%", path_src.string(), path_dst.string(), error_message)); } static void delete_existing_ini_files(const boost::filesystem::path &path) @@ -413,7 +415,7 @@ const Snapshot& SnapshotDB::take_snapshot(const AppConfig &app_config, Snapshot: ++ it; // Read the active config bundle, parse the config version. PresetBundle bundle; - bundle.load_configbundle((data_dir / "vendor" / (cfg.name + ".ini")).string(), PresetBundle::LoadConfigBundleAttribute::LoadVendorOnly); + bundle.load_configbundle((data_dir / "vendor" / (cfg.name + ".ini")).string(), PresetBundle::LoadConfigBundleAttribute::LoadVendorOnly, ForwardCompatibilitySubstitutionRule::EnableSilent); for (const auto &vp : bundle.vendors) if (vp.second.id == cfg.name) cfg.version.config_version = vp.second.config_version; diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 0f9ae76de..31d16d4a1 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -58,7 +58,9 @@ bool Bundle::load(fs::path source_path, bool ais_in_resources, bool ais_prusa_bu this->is_prusa_bundle = ais_prusa_bundle; std::string path_string = source_path.string(); - auto [config_substitutions, presets_loaded] = preset_bundle->load_configbundle(path_string, PresetBundle::LoadConfigBundleAttribute::LoadSystem); + // Throw when parsing invalid configuration. Only valid configuration is supposed to be provided over the air. + auto [config_substitutions, presets_loaded] = preset_bundle->load_configbundle( + path_string, PresetBundle::LoadConfigBundleAttribute::LoadSystem, ForwardCompatibilitySubstitutionRule::Disable); // No substitutions shall be reported when loading a system config bundle, no substitutions are allowed. assert(config_substitutions.empty()); auto first_vendor = preset_bundle->vendors.begin(); @@ -2463,7 +2465,8 @@ void ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *prese // Reloading the configs after some modifications were done to PrusaSlicer.ini. // Just perform the substitutions silently, as the substitutions were already presented to the user on application start-up // and the Wizard shall not create any new values that would require substitution. - PresetsConfigSubstitutions substitutions = preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSilent, preferred_model); + // Throw on substitutions in system profiles, as the system profiles provided over the air should be compatible with this PrusaSlicer version. + preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSilentDisableSystem, preferred_model); if (page_custom->custom_wanted()) { page_firmware->apply_custom_config(*custom_config); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 9653e56f0..a8f52c80e 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -892,7 +892,10 @@ bool GUI_App::on_init_inner() // Suppress the '- default -' presets. preset_bundle->set_default_suppressed(app_config->get("no_defaults") == "1"); try { - init_params->preset_substitutions = preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::Enable); + // Enable all substitutions (in both user and system profiles), but log the substitutions in user profiles only. + // If there are substitutions in system profiles, then a "reconfigure" event shall be triggered, which will force + // installation of a compatible system preset, thus nullifying the system preset substitutions. + init_params->preset_substitutions = preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSystemSilent); } catch (const std::exception &ex) { show_error(nullptr, ex.what()); } @@ -1676,6 +1679,9 @@ void GUI_App::add_config_menu(wxMenuBar *menu) Config::SnapshotDB::singleton().take_snapshot(*app_config, Config::Snapshot::SNAPSHOT_BEFORE_ROLLBACK); try { app_config->set("on_snapshot", Config::SnapshotDB::singleton().restore_snapshot(dlg.snapshot_to_activate(), *app_config).id); + // Enable substitutions, log both user and system substitutions. There should not be any substitutions performed when loading system + // presets because compatibility of profiles shall be verified using the min_slic3r_version keys in config index, but users + // are known to be creative and mess with the config files in various ways. if (PresetsConfigSubstitutions all_substitutions = preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::Enable); ! all_substitutions.empty()) show_substitutions_info(all_substitutions); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 018f06fb2..ba65eee7a 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1578,7 +1578,9 @@ void MainFrame::load_configbundle(wxString file/* = wxEmptyString, const bool re size_t presets_imported = 0; PresetsConfigSubstitutions config_substitutions; try { - std::tie(config_substitutions, presets_imported) = wxGetApp().preset_bundle->load_configbundle(file.ToUTF8().data(), PresetBundle::LoadConfigBundleAttribute::SaveImported); + // Report all substitutions. + std::tie(config_substitutions, presets_imported) = wxGetApp().preset_bundle->load_configbundle( + file.ToUTF8().data(), PresetBundle::LoadConfigBundleAttribute::SaveImported, ForwardCompatibilitySubstitutionRule::Enable); } catch (const std::exception &ex) { show_error(this, ex.what()); return; diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index b2c4b1116..c9a8c0775 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -65,6 +65,10 @@ void copy_file_fix(const fs::path &source, const fs::path &target) _L("Copying of file %1% to %2% failed: %3%"), source, target, error_message)); } + // Permissions should be copied from the source file by copy_file(). We are not sure about the source + // permissions, let's rewrite them with 644. + static constexpr const auto perms = fs::owner_read | fs::owner_write | fs::group_read | fs::others_read; + fs::permissions(target, perms); } struct Update @@ -611,7 +615,8 @@ void PresetUpdater::priv::perform_updates(Updates &&updates, bool snapshot) cons update.install(); PresetBundle bundle; - bundle.load_configbundle(update.source.string(), PresetBundle::LoadConfigBundleAttribute::LoadSystem); + // Throw when parsing invalid configuration. Only valid configuration is supposed to be provided over the air. + bundle.load_configbundle(update.source.string(), PresetBundle::LoadConfigBundleAttribute::LoadSystem, ForwardCompatibilitySubstitutionRule::Disable); BOOST_LOG_TRIVIAL(info) << format("Deleting %1% conflicting presets", bundle.prints.size() + bundle.filaments.size() + bundle.printers.size()); @@ -715,7 +720,8 @@ static void reload_configs_update_gui() auto* app_config = GUI::wxGetApp().app_config; // System profiles should not trigger any substitutions, user profiles may trigger substitutions, but these substitutions // were already presented to the user on application start up. Just do substitutions now and keep quiet about it. - GUI::wxGetApp().preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSilent); + // However throw on substitutions in system profiles, those shall never happen with system profiles installed over the air. + GUI::wxGetApp().preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSilentDisableSystem); GUI::wxGetApp().load_current_presets(); GUI::wxGetApp().plater()->set_bed_shape(); } From 2cbe5f760de3f990f75bcb79e2f33a88d28636eb Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Mon, 28 Jun 2021 17:45:13 +0200 Subject: [PATCH 46/80] Fixed missing include --- src/slic3r/GUI/GUI.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index 176e81212..fd79cf1fd 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -18,6 +18,7 @@ #include "AboutDialog.hpp" #include "MsgDialog.hpp" +#include "format.hpp" #include "libslic3r/Print.hpp" From fde3bce38c6e18052e8d0e4a3adf10288d1d7e07 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Mon, 28 Jun 2021 19:08:20 +0200 Subject: [PATCH 47/80] Creality 0.1.0. Added Ender-7, Sermoon D1, CR-10 SMART --- resources/profiles/Creality.idx | 2 + resources/profiles/Creality.ini | 66 +++++++++++++++++++++++++++++---- 2 files changed, 60 insertions(+), 8 deletions(-) diff --git a/resources/profiles/Creality.idx b/resources/profiles/Creality.idx index caa304bad..412be2ccf 100644 --- a/resources/profiles/Creality.idx +++ b/resources/profiles/Creality.idx @@ -1,3 +1,5 @@ +min_slic3r_version = 2.3.2-alpha0 +0.1.0 Added Ender-7, Sermoon D1, CR-10 SMART min_slic3r_version = 2.3.1-beta 0.0.17 Updated start g-code. Added specific start g-code for straingauge printers. Improved output filename format. Added filament profile. 0.0.16 Updated CR6-SE start g-code. Added and updated filament profiles. diff --git a/resources/profiles/Creality.ini b/resources/profiles/Creality.ini index b055641ee..9c4dc373b 100644 --- a/resources/profiles/Creality.ini +++ b/resources/profiles/Creality.ini @@ -5,7 +5,7 @@ name = Creality # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 0.0.17 +config_version = 0.1.0 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/ # changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -86,6 +86,15 @@ bed_model = ender6_bed.stl bed_texture = ender6.svg default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +[printer_model:ENDER7] +name = Creality Ender-7 +variants = 0.4 +technology = FFF +family = ENDER +bed_model = ender7_bed.stl +bed_texture = ender7.svg +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY + [printer_model:ENDER2] name = Creality Ender-2 variants = 0.4 @@ -131,6 +140,15 @@ bed_model = cr10s4_bed.stl bed_texture = cr10s4.svg default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +[printer_model:CR10SMART] +name = Creality CR-10 SMART +variants = 0.4 +technology = FFF +family = CR +bed_model = cr10v2_bed.stl +bed_texture = cr10spro.svg +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY + [printer_model:CR10MINI] name = Creality CR-10 Mini variants = 0.4 @@ -275,6 +293,15 @@ default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @ #bed_texture = cr10spro.svg #default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +[printer_model:SERMOOND1] +name = Creality Sermoon-D1 +variants = 0.4 +technology = FFF +family = SERMOON +bed_model = sermoond1_bed.stl +bed_texture = sermoond1.svg +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY + # All presets starting with asterisk, for example *common*, are intermediate and they will # not make it into the user interface. @@ -432,36 +459,36 @@ top_solid_layers = 4 [print:0.08mm SUPERDETAIL @CREALITY] inherits = *0.08mm* -compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_model=~/(ENDER|CR|SERMOON).*/ and nozzle_diameter[0]==0.4 [print:0.10mm HIGHDETAIL @CREALITY] inherits = *0.10mm* renamed_from = "0.10mm HIGHDETAIL @ENDER3" -compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_model=~/(ENDER|CR|SERMOON).*/ and nozzle_diameter[0]==0.4 [print:0.12mm DETAIL @CREALITY] inherits = *0.12mm* renamed_from = "0.12mm DETAIL @ENDER3" -compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_model=~/(ENDER|CR|SERMOON).*/ and nozzle_diameter[0]==0.4 [print:0.16mm OPTIMAL @CREALITY] inherits = *0.16mm* renamed_from = "0.15mm OPTIMAL @ENDER3"; "0.15mm OPTIMAL @CREALITY" -compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_model=~/(ENDER|CR|SERMOON).*/ and nozzle_diameter[0]==0.4 [print:0.20mm NORMAL @CREALITY] inherits = *0.20mm* renamed_from = "0.20mm NORMAL @ENDER3" -compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_model=~/(ENDER|CR|SERMOON).*/ and nozzle_diameter[0]==0.4 [print:0.24mm DRAFT @CREALITY] inherits = *0.24mm* renamed_from = "0.24mm DRAFT @ENDER3" -compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_model=~/(ENDER|CR|SERMOON).*/ and nozzle_diameter[0]==0.4 [print:0.28mm SUPERDRAFT @CREALITY] inherits = *0.28mm* -compatible_printers_condition = printer_model=~/(ENDER|CR).*/ and nozzle_diameter[0]==0.4 +compatible_printers_condition = printer_model=~/(ENDER|CR|SERMOON).*/ and nozzle_diameter[0]==0.4 # When submitting new filaments please print the following temperature tower at 0.1mm layer height: # https://www.thingiverse.com/thing:2615842 @@ -960,6 +987,13 @@ max_print_height = 400 printer_model = ENDER6 printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_ENDER6\nPRINTER_HAS_BOWDEN +[printer:Creality Ender-7] +inherits = *common*; *descendingz* +bed_shape = 5x5,245x5,245x245,5x245 +max_print_height = 300 +printer_model = ENDER7 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_ENDER7\nPRINTER_HAS_BOWDEN + [printer:Creality Ender-2] inherits = *common* renamed_from = "Creality ENDER-2" @@ -998,6 +1032,14 @@ max_print_height = 400 printer_model = CR6MAX printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_CR6MAX\nPRINTER_HAS_BOWDEN +[printer:Creality CR-10 SMART] +inherits = *common*; *straingauge* +retract_length = 6 +bed_shape = 5x5,295x5,295x295,5x295 +max_print_height = 400 +printer_model = CR10SMART +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_CR10SMART\nPRINTER_HAS_BOWDEN + [printer:Creality CR-10 Mini] inherits = *common* retract_length = 6 @@ -1118,3 +1160,11 @@ printer_notes = Don't remove the following keywords! These keywords are used in #max_print_height = 400 #printer_model = CRXPRO #printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_CRXPRO\nPRINTER_HAS_BOWDEN + +[printer:Creality Sermoon-D1] +inherits = *common*; *descendingz* +retract_length = 1 +bed_shape = 5x5,275x5,275x255,5x255 +max_print_height = 310 +printer_model = SERMOOND1 +printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_SERMOOND1\nPRINTER_HAS_BOWDEN From cdbb43243067d67322bbdb6e9c2f11987cd645d6 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 28 Jun 2021 19:30:31 +0200 Subject: [PATCH 48/80] MSW specific: Fixed a crash on change of the extruder using keyboard --- src/slic3r/GUI/ExtraRenderers.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/slic3r/GUI/ExtraRenderers.cpp b/src/slic3r/GUI/ExtraRenderers.cpp index 27e2c1224..ad7fe5d0f 100644 --- a/src/slic3r/GUI/ExtraRenderers.cpp +++ b/src/slic3r/GUI/ExtraRenderers.cpp @@ -306,9 +306,11 @@ wxWindow* BitmapChoiceRenderer::CreateEditorCtrl(wxWindow* parent, wxRect labelR // to avoid event propagation to other sidebar items c_editor->Bind(wxEVT_COMBOBOX, [this](wxCommandEvent& evt) { evt.StopPropagation(); +#ifdef __linux__ // FinishEditing grabs new selection and triggers config update. We better call // it explicitly, automatic update on KILL_FOCUS didn't work on Linux. this->FinishEditing(); +#endif }); return c_editor; From cfad1a59be536cc10e0eeb396c0b7402afb4b807 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Tue, 29 Jun 2021 10:48:59 +0200 Subject: [PATCH 49/80] Updated SL1S bed texture. --- resources/profiles/PrusaResearch/sl1s.svg | 108 ++++++++++------------ 1 file changed, 49 insertions(+), 59 deletions(-) diff --git a/resources/profiles/PrusaResearch/sl1s.svg b/resources/profiles/PrusaResearch/sl1s.svg index f9301bae6..990382ffd 100644 --- a/resources/profiles/PrusaResearch/sl1s.svg +++ b/resources/profiles/PrusaResearch/sl1s.svg @@ -1,64 +1,54 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 3cf73f6a066050bdf53bfb5eb67dfeff9ca533d5 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 29 Jun 2021 13:25:02 +0200 Subject: [PATCH 50/80] If configuration update is available, show Dialog with information about it before ConfigWizard is opened --- src/slic3r/GUI/GUI_App.cpp | 22 +++++++++++++++++++++- src/slic3r/GUI/GUI_App.hpp | 1 + src/slic3r/GUI/UpdateDialogs.cpp | 21 +++++++++++++++------ src/slic3r/GUI/UpdateDialogs.hpp | 3 ++- src/slic3r/Utils/PresetUpdater.cpp | 16 ++++++++++------ src/slic3r/Utils/PresetUpdater.hpp | 12 +++++++++--- 6 files changed, 58 insertions(+), 17 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index a8f52c80e..a8ce930b4 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1688,6 +1688,9 @@ void GUI_App::add_config_menu(wxMenuBar *menu) // Load the currently selected preset into the GUI, update the preset selection box. load_current_presets(); + + // update config wizard in respect to the new config + update_wizard_from_config(); } catch (std::exception &ex) { GUI::show_error(nullptr, _L("Failed to activate configuration snapshot.") + "\n" + into_u8(ex.what())); } @@ -1864,6 +1867,17 @@ void GUI_App::load_current_presets(bool check_printer_presets_ /*= true*/) } } +void GUI_App::update_wizard_from_config() +{ + if (!m_wizard) + return; + // If ConfigWizard was created before changing of the configuration, + // we have to destroy it to have possibility to create it again in respect to the new config's parameters + m_wizard->Reparent(nullptr); + m_wizard->Destroy(); + m_wizard = nullptr; +} + bool GUI_App::OnExceptionInMainLoop() { generic_exception_handle(); @@ -2024,7 +2038,13 @@ bool GUI_App::run_wizard(ConfigWizard::RunReason reason, ConfigWizard::StartPage { wxCHECK_MSG(mainframe != nullptr, false, "Internal error: Main frame not created / null"); + if (reason == ConfigWizard::RR_USER) + if (PresetUpdater::UpdateResult result = preset_updater->config_update(app_config->orig_version(), PresetUpdater::UpdateParams::FORCED_BEFORE_WIZARD); + result == PresetUpdater::R_ALL_CANCELED) + return false; + if (! m_wizard) { + wxBusyCursor wait; m_wizard = new ConfigWizard(mainframe); } @@ -2183,7 +2203,7 @@ void GUI_App::check_updates(const bool verbose) { PresetUpdater::UpdateResult updater_result; try { - updater_result = preset_updater->config_update(app_config->orig_version(), verbose); + updater_result = preset_updater->config_update(app_config->orig_version(), verbose ? PresetUpdater::UpdateParams::SHOW_TEXT_BOX : PresetUpdater::UpdateParams::SHOW_NOTIFICATION); if (updater_result == PresetUpdater::R_INCOMPAT_EXIT) { mainframe->Close(); } diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index f3cdaa3d9..a4bb3642f 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -211,6 +211,7 @@ public: bool check_print_host_queue(); bool checked_tab(Tab* tab); void load_current_presets(bool check_printer_presets = true); + void update_wizard_from_config(); wxString current_language_code() const { return m_wxLocale->GetCanonicalName(); } // Translate the language code to a code, for which Prusa Research maintains translations. Defaults to "en_US". diff --git a/src/slic3r/GUI/UpdateDialogs.cpp b/src/slic3r/GUI/UpdateDialogs.cpp index 97a3e3880..530814815 100644 --- a/src/slic3r/GUI/UpdateDialogs.cpp +++ b/src/slic3r/GUI/UpdateDialogs.cpp @@ -85,8 +85,11 @@ bool MsgUpdateSlic3r::disable_version_check() const // MsgUpdateConfig -MsgUpdateConfig::MsgUpdateConfig(const std::vector &updates) : - MsgDialog(nullptr, _(L("Configuration update")), _(L("Configuration update is available")), wxID_NONE) +MsgUpdateConfig::MsgUpdateConfig(const std::vector &updates, bool force_before_wizard/* = false*/) : + MsgDialog(nullptr, force_before_wizard ? _L("Opening Configuration Wizard") : _L("Configuration update"), + force_before_wizard ? _L("PrusaSlicer is not using the newest configuration available.\n" + "Configuration Wizard may not offer the latest printers, filaments and SLA materials to be installed. ") : + _L("Configuration update is available"), wxID_NONE) { auto *text = new wxStaticText(this, wxID_ANY, _(L( "Would you like to install it?\n\n" @@ -130,11 +133,17 @@ MsgUpdateConfig::MsgUpdateConfig(const std::vector &updates) : content_sizer->Add(versions); content_sizer->AddSpacer(2*VERT_SPACING); - auto *btn_cancel = new wxButton(this, wxID_CANCEL); - btn_sizer->Add(btn_cancel); - btn_sizer->AddSpacer(HORIZ_SPACING); - auto *btn_ok = new wxButton(this, wxID_OK); + auto* btn_ok = new wxButton(this, wxID_OK, force_before_wizard ? _L("Install") : "OK"); btn_sizer->Add(btn_ok); + btn_sizer->AddSpacer(HORIZ_SPACING); + if (force_before_wizard) { + auto* btn_no_install = new wxButton(this, wxID_ANY, "Don't install"); + btn_no_install->Bind(wxEVT_BUTTON, [this](wxEvent&) { this->EndModal(wxID_CLOSE); }); + btn_sizer->Add(btn_no_install); + btn_sizer->AddSpacer(HORIZ_SPACING); + } + auto* btn_cancel = new wxButton(this, wxID_CANCEL); + btn_sizer->Add(btn_cancel); btn_ok->SetFocus(); Fit(); diff --git a/src/slic3r/GUI/UpdateDialogs.hpp b/src/slic3r/GUI/UpdateDialogs.hpp index 6d355065a..aa3a10677 100644 --- a/src/slic3r/GUI/UpdateDialogs.hpp +++ b/src/slic3r/GUI/UpdateDialogs.hpp @@ -54,7 +54,8 @@ public: {} }; - MsgUpdateConfig(const std::vector &updates); + // force_before_wizard - indicates that check of updated is forced before ConfigWizard opening + MsgUpdateConfig(const std::vector &updates, bool force_before_wizard = false); MsgUpdateConfig(MsgUpdateConfig &&) = delete; MsgUpdateConfig(const MsgUpdateConfig &) = delete; MsgUpdateConfig &operator=(MsgUpdateConfig &&) = delete; diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index c9a8c0775..add71fc33 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -724,9 +724,10 @@ static void reload_configs_update_gui() GUI::wxGetApp().preset_bundle->load_presets(*app_config, ForwardCompatibilitySubstitutionRule::EnableSilentDisableSystem); GUI::wxGetApp().load_current_presets(); GUI::wxGetApp().plater()->set_bed_shape(); + GUI::wxGetApp().update_wizard_from_config(); } -PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3r_version, bool no_notification) const +PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3r_version, UpdateParams params) const { if (! p->enabled_config_update) { return R_NOOP; } @@ -809,7 +810,11 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 } // regular update - if (no_notification) { + if (params == UpdateParams::SHOW_NOTIFICATION) { + p->set_waiting_updates(updates); + GUI::wxGetApp().plater()->get_notification_manager()->push_notification(GUI::NotificationType::PresetUpdateAvailable); + } + else { BOOST_LOG_TRIVIAL(info) << format("Update of %1% bundles available. Asking for confirmation ...", p->waiting_updates.updates.size()); std::vector updates_msg; @@ -818,7 +823,7 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 updates_msg.emplace_back(update.vendor, update.version.config_version, update.version.comment, std::move(changelog_url)); } - GUI::MsgUpdateConfig dlg(updates_msg); + GUI::MsgUpdateConfig dlg(updates_msg, params == UpdateParams::FORCED_BEFORE_WIZARD); const auto res = dlg.ShowModal(); if (res == wxID_OK) { @@ -829,11 +834,10 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 } else { BOOST_LOG_TRIVIAL(info) << "User refused the update"; + if (params == UpdateParams::FORCED_BEFORE_WIZARD && res == wxID_CANCEL) + return R_ALL_CANCELED; return R_UPDATE_REJECT; } - } else { - p->set_waiting_updates(updates); - GUI::wxGetApp().plater()->get_notification_manager()->push_notification(GUI::NotificationType::PresetUpdateAvailable); } // MsgUpdateConfig will show after the notificaation is clicked diff --git a/src/slic3r/Utils/PresetUpdater.hpp b/src/slic3r/Utils/PresetUpdater.hpp index 0ca363c61..acec7baf7 100644 --- a/src/slic3r/Utils/PresetUpdater.hpp +++ b/src/slic3r/Utils/PresetUpdater.hpp @@ -35,15 +35,21 @@ public: R_INCOMPAT_CONFIGURED, R_UPDATE_INSTALLED, R_UPDATE_REJECT, - R_UPDATE_NOTIFICATION + R_UPDATE_NOTIFICATION, + R_ALL_CANCELED + }; + + enum class UpdateParams { + SHOW_TEXT_BOX, // force modal textbox + SHOW_NOTIFICATION, // only shows notification + FORCED_BEFORE_WIZARD // indicates that check of updated is forced before ConfigWizard opening }; // If updating is enabled, check if updates are available in cache, if so, ask about installation. // A false return value implies Slic3r should exit due to incompatibility of configuration. // Providing old slic3r version upgrade profiles on upgrade of an application even in case // that the config index installed from the Internet is equal to the index contained in the installation package. - // no_notification = force modal textbox, otherwise some cases only shows notification - UpdateResult config_update(const Semver &old_slic3r_version, bool no_notification) const; + UpdateResult config_update(const Semver &old_slic3r_version, UpdateParams params) const; // "Update" a list of bundles from resources (behaves like an online update). void install_bundles_rsrc(std::vector bundles, bool snapshot = true) const; From 745aa3536db8e305416db87dd3cdb9e0610acf56 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Tue, 29 Jun 2021 15:41:47 +0200 Subject: [PATCH 51/80] Improved error reporting when importing various configuration files: 1) Slic3r::RuntimeError was replaced with ConfigurationError, all exceptions thrown by the configuration layer are derived from ConfigurationError. 2) When parsing configuration files, ConfigurationError is catched and rethrown extended with the file name being parsed. --- src/libslic3r/Config.cpp | 74 ++++++++++--------- src/libslic3r/Config.hpp | 125 ++++++++++++++++++-------------- src/libslic3r/PresetBundle.cpp | 106 +++++++++++++++------------ src/slic3r/GUI/Plater.cpp | 4 + tests/libslic3r/test_config.cpp | 2 +- 5 files changed, 175 insertions(+), 136 deletions(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index d1f9cdc6c..e308b23ee 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -243,7 +243,7 @@ ConfigOption* ConfigOptionDef::create_empty_option() const case coPercents: return new ConfigOptionPercentsNullable(); case coFloatsOrPercents: return new ConfigOptionFloatsOrPercentsNullable(); case coBools: return new ConfigOptionBoolsNullable(); - default: throw Slic3r::RuntimeError(std::string("Unknown option type for nullable option ") + this->label); + default: throw ConfigurationError(std::string("Unknown option type for nullable option ") + this->label); } } else { switch (this->type) { @@ -264,7 +264,7 @@ ConfigOption* ConfigOptionDef::create_empty_option() const case coBool: return new ConfigOptionBool(); case coBools: return new ConfigOptionBools(); case coEnum: return new ConfigOptionEnumGeneric(this->enum_keys_map); - default: throw Slic3r::RuntimeError(std::string("Unknown option type for option ") + this->label); + default: throw ConfigurationError(std::string("Unknown option type for option ") + this->label); } } } @@ -492,7 +492,7 @@ bool ConfigBase::set_deserialize_nothrow(const t_config_option_key &opt_key_src, void ConfigBase::set_deserialize(const t_config_option_key &opt_key_src, const std::string &value_src, ConfigSubstitutionContext& substitutions_ctxt, bool append) { if (! this->set_deserialize_nothrow(opt_key_src, value_src, substitutions_ctxt, append)) - throw BadOptionTypeException(format("ConfigBase::set_deserialize() failed for parameter \"%1%\", value \"%2%\"", opt_key_src, value_src)); + throw BadOptionValueException(format("Invalid value provided for parameter %1%: %2%", opt_key_src, value_src)); } void ConfigBase::set_deserialize(std::initializer_list items, ConfigSubstitutionContext& substitutions_ctxt) @@ -587,7 +587,7 @@ double ConfigBase::get_abs_value(const t_config_option_key &opt_key) const return opt_def->ratio_over.empty() ? 0. : static_cast(raw_opt)->get_abs_value(this->get_abs_value(opt_def->ratio_over)); } - throw Slic3r::RuntimeError("ConfigBase::get_abs_value(): Not a valid option type for get_abs_value()"); + throw ConfigurationError("ConfigBase::get_abs_value(): Not a valid option type for get_abs_value()"); } // Return an absolute value of a possibly relative config variable. @@ -598,7 +598,7 @@ double ConfigBase::get_abs_value(const t_config_option_key &opt_key, double rati const ConfigOption *raw_opt = this->option(opt_key); assert(raw_opt != nullptr); if (raw_opt->type() != coFloatOrPercent) - throw Slic3r::RuntimeError("ConfigBase::get_abs_value(): opt_key is not of coFloatOrPercent"); + throw ConfigurationError("ConfigBase::get_abs_value(): opt_key is not of coFloatOrPercent"); // Compute absolute value. return static_cast(raw_opt)->get_abs_value(ratio_over); } @@ -630,10 +630,14 @@ ConfigSubstitutions ConfigBase::load(const std::string &file, ForwardCompatibili ConfigSubstitutions ConfigBase::load_from_ini(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule) { - boost::property_tree::ptree tree; - boost::nowide::ifstream ifs(file); - boost::property_tree::read_ini(ifs, tree); - return this->load(tree, compatibility_rule); + try { + boost::property_tree::ptree tree; + boost::nowide::ifstream ifs(file); + boost::property_tree::read_ini(ifs, tree); + return this->load(tree, compatibility_rule); + } catch (const ConfigurationError &e) { + throw ConfigurationError(format("Failed loading configuration file \"%1%\": %2%", file, e.what())); + } } ConfigSubstitutions ConfigBase::load(const boost::property_tree::ptree &tree, ForwardCompatibilitySubstitutionRule compatibility_rule) @@ -653,30 +657,34 @@ ConfigSubstitutions ConfigBase::load(const boost::property_tree::ptree &tree, Fo // Load the config keys from the tail of a G-code file. ConfigSubstitutions ConfigBase::load_from_gcode_file(const std::string &file, ForwardCompatibilitySubstitutionRule compatibility_rule) { - // Read a 64k block from the end of the G-code. - boost::nowide::ifstream ifs(file); - { - const char slic3r_gcode_header[] = "; generated by Slic3r "; - const char prusaslicer_gcode_header[] = "; generated by PrusaSlicer "; - std::string firstline; - std::getline(ifs, firstline); - if (strncmp(slic3r_gcode_header, firstline.c_str(), strlen(slic3r_gcode_header)) != 0 && - strncmp(prusaslicer_gcode_header, firstline.c_str(), strlen(prusaslicer_gcode_header)) != 0) - throw Slic3r::RuntimeError("Not a PrusaSlicer / Slic3r PE generated g-code."); - } - ifs.seekg(0, ifs.end); - auto file_length = ifs.tellg(); - auto data_length = std::min(65535, file_length); - ifs.seekg(file_length - data_length, ifs.beg); - std::vector data(size_t(data_length) + 1, 0); - ifs.read(data.data(), data_length); - ifs.close(); + try { + // Read a 64k block from the end of the G-code. + boost::nowide::ifstream ifs(file); + { + const char slic3r_gcode_header[] = "; generated by Slic3r "; + const char prusaslicer_gcode_header[] = "; generated by PrusaSlicer "; + std::string firstline; + std::getline(ifs, firstline); + if (strncmp(slic3r_gcode_header, firstline.c_str(), strlen(slic3r_gcode_header)) != 0 && + strncmp(prusaslicer_gcode_header, firstline.c_str(), strlen(prusaslicer_gcode_header)) != 0) + throw ConfigurationError("Not a PrusaSlicer / Slic3r PE generated g-code."); + } + ifs.seekg(0, ifs.end); + auto file_length = ifs.tellg(); + auto data_length = std::min(65535, file_length); + ifs.seekg(file_length - data_length, ifs.beg); + std::vector data(size_t(data_length) + 1, 0); + ifs.read(data.data(), data_length); + ifs.close(); - ConfigSubstitutionContext substitutions_ctxt(compatibility_rule); - size_t key_value_pairs = load_from_gcode_string(data.data(), substitutions_ctxt); - if (key_value_pairs < 80) - throw Slic3r::RuntimeError(format("Suspiciously low number of configuration values extracted from %1%: %2%", file, key_value_pairs)); - return std::move(substitutions_ctxt.substitutions); + ConfigSubstitutionContext substitutions_ctxt(compatibility_rule); + size_t key_value_pairs = load_from_gcode_string(data.data(), substitutions_ctxt); + if (key_value_pairs < 80) + throw ConfigurationError(format("Suspiciously low number of configuration values extracted from %1%: %2%", file, key_value_pairs)); + return std::move(substitutions_ctxt.substitutions); + } catch (const ConfigurationError &e) { + throw ConfigurationError(format("Failed loading configuration from G-code \"%1%\": %2%", file, e.what())); + } } // Load the config keys from the given string. @@ -805,7 +813,7 @@ ConfigOption* DynamicConfig::optptr(const t_config_option_key &opt_key, bool cre throw NoDefinitionException(opt_key); const ConfigOptionDef *optdef = def->get(opt_key); if (optdef == nullptr) -// throw Slic3r::RuntimeError(std::string("Invalid option name: ") + opt_key); +// throw ConfigurationError(std::string("Invalid option name: ") + opt_key); // Let the parent decide what to do if the opt_key is not defined by this->def(). return nullptr; ConfigOption *opt = optdef->create_default_option(); diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 6155c1012..d17d8befe 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -37,32 +37,47 @@ extern bool unescape_strings_cstyle(const std::string &str, std::vector< extern std::string escape_ampersand(const std::string& str); -/// Specialization of std::exception to indicate that an unknown config option has been encountered. -class UnknownOptionException : public Slic3r::RuntimeError { +// Base for all exceptions thrown by the configuration layer. +class ConfigurationError : public Slic3r::RuntimeError { public: - UnknownOptionException() : - Slic3r::RuntimeError("Unknown option exception") {} - UnknownOptionException(const std::string &opt_key) : - Slic3r::RuntimeError(std::string("Unknown option exception: ") + opt_key) {} + using RuntimeError::RuntimeError; }; -/// Indicate that the ConfigBase derived class does not provide config definition (the method def() returns null). -class NoDefinitionException : public Slic3r::RuntimeError +// Specialization of std::exception to indicate that an unknown config option has been encountered. +class UnknownOptionException : public ConfigurationError { +public: + UnknownOptionException() : + ConfigurationError("Unknown option exception") {} + UnknownOptionException(const std::string &opt_key) : + ConfigurationError(std::string("Unknown option exception: ") + opt_key) {} +}; + +// Indicate that the ConfigBase derived class does not provide config definition (the method def() returns null). +class NoDefinitionException : public ConfigurationError { public: NoDefinitionException() : - Slic3r::RuntimeError("No definition exception") {} + ConfigurationError("No definition exception") {} NoDefinitionException(const std::string &opt_key) : - Slic3r::RuntimeError(std::string("No definition exception: ") + opt_key) {} + ConfigurationError(std::string("No definition exception: ") + opt_key) {} }; -/// Indicate that an unsupported accessor was called on a config option. -class BadOptionTypeException : public Slic3r::RuntimeError +// Indicate that an unsupported accessor was called on a config option. +class BadOptionTypeException : public ConfigurationError { public: - BadOptionTypeException() : Slic3r::RuntimeError("Bad option type exception") {} - BadOptionTypeException(const std::string &message) : Slic3r::RuntimeError(message) {} - BadOptionTypeException(const char* message) : Slic3r::RuntimeError(message) {} + BadOptionTypeException() : ConfigurationError("Bad option type exception") {} + BadOptionTypeException(const std::string &message) : ConfigurationError(message) {} + BadOptionTypeException(const char* message) : ConfigurationError(message) {} +}; + +// Indicate that an option has been deserialized from an invalid value. +class BadOptionValueException : public ConfigurationError +{ +public: + BadOptionValueException() : ConfigurationError("Bad option value exception") {} + BadOptionValueException(const std::string &message) : ConfigurationError(message) {} + BadOptionValueException(const char* message) : ConfigurationError(message) {} }; // Type of a configuration value. @@ -215,7 +230,7 @@ public: void set(const ConfigOption *rhs) override { if (rhs->type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionSingle: Assigning an incompatible type"); + throw ConfigurationError("ConfigOptionSingle: Assigning an incompatible type"); assert(dynamic_cast*>(rhs)); this->value = static_cast*>(rhs)->value; } @@ -223,7 +238,7 @@ public: bool operator==(const ConfigOption &rhs) const override { if (rhs.type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionSingle: Comparing incompatible types"); + throw ConfigurationError("ConfigOptionSingle: Comparing incompatible types"); assert(dynamic_cast*>(&rhs)); return this->value == static_cast*>(&rhs)->value; } @@ -287,7 +302,7 @@ public: void set(const ConfigOption *rhs) override { if (rhs->type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionVector: Assigning an incompatible type"); + throw ConfigurationError("ConfigOptionVector: Assigning an incompatible type"); assert(dynamic_cast*>(rhs)); this->values = static_cast*>(rhs)->values; } @@ -304,12 +319,12 @@ public: if (opt->type() == this->type()) { auto other = static_cast*>(opt); if (other->values.empty()) - throw Slic3r::RuntimeError("ConfigOptionVector::set(): Assigning from an empty vector"); + throw ConfigurationError("ConfigOptionVector::set(): Assigning from an empty vector"); this->values.emplace_back(other->values.front()); } else if (opt->type() == this->scalar_type()) this->values.emplace_back(static_cast*>(opt)->value); else - throw Slic3r::RuntimeError("ConfigOptionVector::set():: Assigning an incompatible type"); + throw ConfigurationError("ConfigOptionVector::set():: Assigning an incompatible type"); } } @@ -328,12 +343,12 @@ public: // Assign the first value of the rhs vector. auto other = static_cast*>(rhs); if (other->values.empty()) - throw Slic3r::RuntimeError("ConfigOptionVector::set_at(): Assigning from an empty vector"); + throw ConfigurationError("ConfigOptionVector::set_at(): Assigning from an empty vector"); this->values[i] = other->get_at(j); } else if (rhs->type() == this->scalar_type()) this->values[i] = static_cast*>(rhs)->value; else - throw Slic3r::RuntimeError("ConfigOptionVector::set_at(): Assigning an incompatible type"); + throw ConfigurationError("ConfigOptionVector::set_at(): Assigning an incompatible type"); } const T& get_at(size_t i) const @@ -358,9 +373,9 @@ public: else if (n > this->values.size()) { if (this->values.empty()) { if (opt_default == nullptr) - throw Slic3r::RuntimeError("ConfigOptionVector::resize(): No default value provided."); + throw ConfigurationError("ConfigOptionVector::resize(): No default value provided."); if (opt_default->type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionVector::resize(): Extending with an incompatible type."); + throw ConfigurationError("ConfigOptionVector::resize(): Extending with an incompatible type."); this->values.resize(n, static_cast*>(opt_default)->values.front()); } else { // Resize by duplicating the last value. @@ -377,7 +392,7 @@ public: bool operator==(const ConfigOption &rhs) const override { if (rhs.type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionVector: Comparing incompatible types"); + throw ConfigurationError("ConfigOptionVector: Comparing incompatible types"); assert(dynamic_cast*>(&rhs)); return this->values == static_cast*>(&rhs)->values; } @@ -389,9 +404,9 @@ public: // An option overrides another option if it is not nil and not equal. bool overriden_by(const ConfigOption *rhs) const override { if (this->nullable()) - throw Slic3r::RuntimeError("Cannot override a nullable ConfigOption."); + throw ConfigurationError("Cannot override a nullable ConfigOption."); if (rhs->type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionVector.overriden_by() applied to different types."); + throw ConfigurationError("ConfigOptionVector.overriden_by() applied to different types."); auto rhs_vec = static_cast*>(rhs); if (! rhs->nullable()) // Overridding a non-nullable object with another non-nullable object. @@ -409,9 +424,9 @@ public: // Apply an override option, possibly a nullable one. bool apply_override(const ConfigOption *rhs) override { if (this->nullable()) - throw Slic3r::RuntimeError("Cannot override a nullable ConfigOption."); + throw ConfigurationError("Cannot override a nullable ConfigOption."); if (rhs->type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionVector.apply_override() applied to different types."); + throw ConfigurationError("ConfigOptionVector.apply_override() applied to different types."); auto rhs_vec = static_cast*>(rhs); if (! rhs->nullable()) { // Overridding a non-nullable object with another non-nullable object. @@ -500,7 +515,7 @@ public: bool operator==(const ConfigOptionFloatsTempl &rhs) const { return vectors_equal(this->values, rhs.values); } bool operator==(const ConfigOption &rhs) const override { if (rhs.type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionFloatsTempl: Comparing incompatible types"); + throw ConfigurationError("ConfigOptionFloatsTempl: Comparing incompatible types"); assert(dynamic_cast*>(&rhs)); return vectors_equal(this->values, static_cast*>(&rhs)->values); } @@ -547,7 +562,7 @@ public: if (NULLABLE) this->values.push_back(nil_value()); else - throw Slic3r::RuntimeError("Deserializing nil into a non-nullable object"); + throw ConfigurationError("Deserializing nil into a non-nullable object"); } else { std::istringstream iss(item_str); double value; @@ -572,9 +587,9 @@ protected: if (NULLABLE) ss << "nil"; else - throw Slic3r::RuntimeError("Serializing NaN"); + throw ConfigurationError("Serializing NaN"); } else - throw Slic3r::RuntimeError("Serializing invalid number"); + throw ConfigurationError("Serializing invalid number"); } static bool vectors_equal(const std::vector &v1, const std::vector &v2) { if (NULLABLE) { @@ -693,7 +708,7 @@ public: if (NULLABLE) this->values.push_back(nil_value()); else - throw Slic3r::RuntimeError("Deserializing nil into a non-nullable object"); + throw ConfigurationError("Deserializing nil into a non-nullable object"); } else { std::istringstream iss(item_str); int value; @@ -710,7 +725,7 @@ private: if (NULLABLE) ss << "nil"; else - throw Slic3r::RuntimeError("Serializing NaN"); + throw ConfigurationError("Serializing NaN"); } else ss << v; } @@ -895,7 +910,7 @@ public: bool operator==(const ConfigOption &rhs) const override { if (rhs.type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionFloatOrPercent: Comparing incompatible types"); + throw ConfigurationError("ConfigOptionFloatOrPercent: Comparing incompatible types"); assert(dynamic_cast(&rhs)); return *this == *static_cast(&rhs); } @@ -906,7 +921,7 @@ public: void set(const ConfigOption *rhs) override { if (rhs->type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionFloatOrPercent: Assigning an incompatible type"); + throw ConfigurationError("ConfigOptionFloatOrPercent: Assigning an incompatible type"); assert(dynamic_cast(rhs)); *this = *static_cast(rhs); } @@ -971,7 +986,7 @@ public: bool operator==(const ConfigOptionFloatsOrPercentsTempl &rhs) const { return vectors_equal(this->values, rhs.values); } bool operator==(const ConfigOption &rhs) const override { if (rhs.type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionFloatsOrPercentsTempl: Comparing incompatible types"); + throw ConfigurationError("ConfigOptionFloatsOrPercentsTempl: Comparing incompatible types"); assert(dynamic_cast*>(&rhs)); return vectors_equal(this->values, static_cast*>(&rhs)->values); } @@ -1018,7 +1033,7 @@ public: if (NULLABLE) this->values.push_back(nil_value()); else - throw Slic3r::RuntimeError("Deserializing nil into a non-nullable object"); + throw ConfigurationError("Deserializing nil into a non-nullable object"); } else { bool percent = item_str.find_first_of("%") != std::string::npos; std::istringstream iss(item_str); @@ -1046,9 +1061,9 @@ protected: if (NULLABLE) ss << "nil"; else - throw Slic3r::RuntimeError("Serializing NaN"); + throw ConfigurationError("Serializing NaN"); } else - throw Slic3r::RuntimeError("Serializing invalid number"); + throw ConfigurationError("Serializing invalid number"); } static bool vectors_equal(const std::vector &v1, const std::vector &v2) { if (NULLABLE) { @@ -1318,7 +1333,7 @@ public: if (NULLABLE) this->values.push_back(nil_value()); else - throw Slic3r::RuntimeError("Deserializing nil into a non-nullable object"); + throw ConfigurationError("Deserializing nil into a non-nullable object"); } else this->values.push_back(item_str.compare("1") == 0); } @@ -1331,7 +1346,7 @@ protected: if (NULLABLE) ss << "nil"; else - throw Slic3r::RuntimeError("Serializing NaN"); + throw ConfigurationError("Serializing NaN"); } else ss << (v ? "1" : "0"); } @@ -1367,14 +1382,14 @@ public: bool operator==(const ConfigOption &rhs) const override { if (rhs.type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionEnum: Comparing incompatible types"); + throw ConfigurationError("ConfigOptionEnum: Comparing incompatible types"); // rhs could be of the following type: ConfigOptionEnumGeneric or ConfigOptionEnum return this->value == (T)rhs.getInt(); } void set(const ConfigOption *rhs) override { if (rhs->type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionEnum: Assigning an incompatible type"); + throw ConfigurationError("ConfigOptionEnum: Assigning an incompatible type"); // rhs could be of the following type: ConfigOptionEnumGeneric or ConfigOptionEnum this->value = (T)rhs->getInt(); } @@ -1451,14 +1466,14 @@ public: bool operator==(const ConfigOption &rhs) const override { if (rhs.type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionEnumGeneric: Comparing incompatible types"); + throw ConfigurationError("ConfigOptionEnumGeneric: Comparing incompatible types"); // rhs could be of the following type: ConfigOptionEnumGeneric or ConfigOptionEnum return this->value == rhs.getInt(); } void set(const ConfigOption *rhs) override { if (rhs->type() != this->type()) - throw Slic3r::RuntimeError("ConfigOptionEnumGeneric: Assigning an incompatible type"); + throw ConfigurationError("ConfigOptionEnumGeneric: Assigning an incompatible type"); // rhs could be of the following type: ConfigOptionEnumGeneric or ConfigOptionEnum this->value = rhs->getInt(); } @@ -1513,7 +1528,7 @@ public: case coInts: { auto opt = new ConfigOptionIntsNullable(); archive(*opt); return opt; } case coPercents: { auto opt = new ConfigOptionPercentsNullable();archive(*opt); return opt; } case coBools: { auto opt = new ConfigOptionBoolsNullable(); archive(*opt); return opt; } - default: throw Slic3r::RuntimeError(std::string("ConfigOptionDef::load_option_from_archive(): Unknown nullable option type for option ") + this->opt_key); + default: throw ConfigurationError(std::string("ConfigOptionDef::load_option_from_archive(): Unknown nullable option type for option ") + this->opt_key); } } else { switch (this->type) { @@ -1532,7 +1547,7 @@ public: case coBool: { auto opt = new ConfigOptionBool(); archive(*opt); return opt; } case coBools: { auto opt = new ConfigOptionBools(); archive(*opt); return opt; } case coEnum: { auto opt = new ConfigOptionEnumGeneric(this->enum_keys_map); archive(*opt); return opt; } - default: throw Slic3r::RuntimeError(std::string("ConfigOptionDef::load_option_from_archive(): Unknown option type for option ") + this->opt_key); + default: throw ConfigurationError(std::string("ConfigOptionDef::load_option_from_archive(): Unknown option type for option ") + this->opt_key); } } } @@ -1544,7 +1559,7 @@ public: case coInts: archive(*static_cast(opt)); break; case coPercents: archive(*static_cast(opt));break; case coBools: archive(*static_cast(opt)); break; - default: throw Slic3r::RuntimeError(std::string("ConfigOptionDef::save_option_to_archive(): Unknown nullable option type for option ") + this->opt_key); + default: throw ConfigurationError(std::string("ConfigOptionDef::save_option_to_archive(): Unknown nullable option type for option ") + this->opt_key); } } else { switch (this->type) { @@ -1563,7 +1578,7 @@ public: case coBool: archive(*static_cast(opt)); break; case coBools: archive(*static_cast(opt)); break; case coEnum: archive(*static_cast(opt)); break; - default: throw Slic3r::RuntimeError(std::string("ConfigOptionDef::save_option_to_archive(): Unknown option type for option ") + this->opt_key); + default: throw ConfigurationError(std::string("ConfigOptionDef::save_option_to_archive(): Unknown option type for option ") + this->opt_key); } } // Make the compiler happy, shut up the warnings. @@ -1686,7 +1701,7 @@ public: return out; } - /// Iterate through all of the CLI options and write them to a stream. + // Iterate through all of the CLI options and write them to a stream. std::ostream& print_cli_help( std::ostream& out, bool show_defaults, std::function filter = [](const ConfigOptionDef &){ return true; }) const; @@ -2031,9 +2046,9 @@ private: template void serialize(Archive &ar) { ar(options); } }; -/// Configuration store with a static definition of configuration values. -/// In Slic3r, the static configuration stores are during the slicing / g-code generation for efficiency reasons, -/// because the configuration values could be accessed directly. +// Configuration store with a static definition of configuration values. +// In Slic3r, the static configuration stores are during the slicing / g-code generation for efficiency reasons, +// because the configuration values could be accessed directly. class StaticConfig : public virtual ConfigBase { public: diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 645c285ad..1107428f1 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -697,8 +697,8 @@ ConfigSubstitutions PresetBundle::load_config_file(const std::string &path, Forw } catch (const std::ifstream::failure &err) { throw Slic3r::RuntimeError(std::string("The Config Bundle cannot be loaded: ") + path + "\n\tReason: " + err.what()); } catch (const boost::property_tree::file_parser_error &err) { - throw Slic3r::RuntimeError((boost::format("Failed loading the Config Bundle \"%1%\": %2% at line %3%") - % err.filename() % err.message() % err.line()).str()); + throw Slic3r::RuntimeError(format("Failed loading the Config Bundle \"%1%\": %2% at line %3%", + err.filename(), err.message(), err.line())); } catch (const std::runtime_error &err) { throw Slic3r::RuntimeError(std::string("Failed loading the preset file: ") + path + "\n\tReason: " + err.what()); } @@ -706,23 +706,27 @@ ConfigSubstitutions PresetBundle::load_config_file(const std::string &path, Forw // 2) Continue based on the type of the configuration file. ConfigFileType config_file_type = guess_config_file_type(tree); ConfigSubstitutions config_substitutions; - switch (config_file_type) { - case CONFIG_FILE_TYPE_UNKNOWN: - throw Slic3r::RuntimeError(std::string("Unknown configuration file type: ") + path); - case CONFIG_FILE_TYPE_APP_CONFIG: - throw Slic3r::RuntimeError(std::string("Invalid configuration file: ") + path + ". This is an application config file."); - case CONFIG_FILE_TYPE_CONFIG: - { - // Initialize a config from full defaults. - DynamicPrintConfig config; - config.apply(FullPrintConfig::defaults()); - config_substitutions = config.load(tree, compatibility_rule); - Preset::normalize(config); - load_config_file_config(path, true, std::move(config)); - return config_substitutions; - } - case CONFIG_FILE_TYPE_CONFIG_BUNDLE: - return load_config_file_config_bundle(path, tree, compatibility_rule); + try { + switch (config_file_type) { + case CONFIG_FILE_TYPE_UNKNOWN: + throw Slic3r::RuntimeError(std::string("Unknown configuration file type: ") + path); + case CONFIG_FILE_TYPE_APP_CONFIG: + throw Slic3r::RuntimeError(std::string("Invalid configuration file: ") + path + ". This is an application config file."); + case CONFIG_FILE_TYPE_CONFIG: + { + // Initialize a config from full defaults. + DynamicPrintConfig config; + config.apply(FullPrintConfig::defaults()); + config_substitutions = config.load(tree, compatibility_rule); + Preset::normalize(config); + load_config_file_config(path, true, std::move(config)); + return config_substitutions; + } + case CONFIG_FILE_TYPE_CONFIG_BUNDLE: + return load_config_file_config_bundle(path, tree, compatibility_rule); + } + } catch (const ConfigurationError &e) { + throw Slic3r::RuntimeError(format("Invalid configuration file %1%: %2%", path, e.what())); } // This shall never happen. Suppres compiler warnings. @@ -1219,7 +1223,7 @@ std::pair PresetBundle::load_configbundle( active_sla_material = kvp.second.data(); } else if (kvp.first == "printer") { active_printer = kvp.second.data(); - }else if (kvp.first == "physical_printer") { + } else if (kvp.first == "physical_printer") { active_physical_printer = kvp.second.data(); } } @@ -1256,32 +1260,36 @@ std::pair PresetBundle::load_configbundle( DynamicPrintConfig config; std::string alias_name; std::vector renamed_from; - auto parse_config_section = [§ion, &alias_name, &renamed_from, &substitution_context, &path](DynamicPrintConfig &config) { - substitution_context.substitutions.clear(); - for (auto &kvp : section.second) { - if (kvp.first == "alias") - alias_name = kvp.second.data(); - else if (kvp.first == "renamed_from") { - if (! unescape_strings_cstyle(kvp.second.data(), renamed_from)) { - BOOST_LOG_TRIVIAL(error) << "Error in a Vendor Config Bundle \"" << path << "\": The preset \"" << - section.first << "\" contains invalid \"renamed_from\" key, which is being ignored."; - } - } - // Throws on parsing error. For system presets, no substituion is being done, but an exception is thrown. - config.set_deserialize(kvp.first, kvp.second.data(), substitution_context); + try { + auto parse_config_section = [§ion, &alias_name, &renamed_from, &substitution_context, &path](DynamicPrintConfig &config) { + substitution_context.substitutions.clear(); + for (auto &kvp : section.second) { + if (kvp.first == "alias") + alias_name = kvp.second.data(); + else if (kvp.first == "renamed_from") { + if (! unescape_strings_cstyle(kvp.second.data(), renamed_from)) { + BOOST_LOG_TRIVIAL(error) << "Error in a Vendor Config Bundle \"" << path << "\": The preset \"" << + section.first << "\" contains invalid \"renamed_from\" key, which is being ignored."; + } + } + // Throws on parsing error. For system presets, no substituion is being done, but an exception is thrown. + config.set_deserialize(kvp.first, kvp.second.data(), substitution_context); + } + }; + if (presets == &this->printers) { + // Select the default config based on the printer_technology field extracted from kvp. + DynamicPrintConfig config_src; + parse_config_section(config_src); + default_config = &presets->default_preset_for(config_src).config; + config = *default_config; + config.apply(config_src); + } else { + default_config = &presets->default_preset().config; + config = *default_config; + parse_config_section(config); } - }; - if (presets == &this->printers) { - // Select the default config based on the printer_technology field extracted from kvp. - DynamicPrintConfig config_src; - parse_config_section(config_src); - default_config = &presets->default_preset_for(config_src).config; - config = *default_config; - config.apply(config_src); - } else { - default_config = &presets->default_preset().config; - config = *default_config; - parse_config_section(config); + } catch (const ConfigurationError &e) { + throw ConfigurationError(format("Invalid configuration bundle \"%1%\", section [%2%]: ", path, section.first) + e.what()); } Preset::normalize(config); // Report configuration fields, which are misplaced into a wrong group. @@ -1389,8 +1397,12 @@ std::pair PresetBundle::load_configbundle( DynamicPrintConfig config = default_config; substitution_context.substitutions.clear(); - for (auto& kvp : section.second) - config.set_deserialize(kvp.first, kvp.second.data(), substitution_context); + try { + for (auto& kvp : section.second) + config.set_deserialize(kvp.first, kvp.second.data(), substitution_context); + } catch (const ConfigurationError &e) { + throw ConfigurationError(format("Invalid configuration bundle \"%1%\", section [%2%]: ", path, section.first) + e.what()); + } // Report configuration fields, which are misplaced into a wrong group. std::string incorrect_keys = Preset::remove_invalid_keys(config, default_config); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 1fe45b718..01d287b75 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2395,6 +2395,10 @@ std::vector Plater::priv::load_files(const std::vector& input_ if (obj->name.empty()) obj->name = fs::path(obj->input_file).filename().string(); } + } catch (const ConfigurationError &e) { + std::string message = GUI::format(_L("Failed loading file \"%1%\" due to an invalid configuration."), filename.string()) + "\n\n" + e.what(); + GUI::show_error(q, message); + continue; } catch (const std::exception &e) { GUI::show_error(q, e.what()); continue; diff --git a/tests/libslic3r/test_config.cpp b/tests/libslic3r/test_config.cpp index 6eb252c1a..633e6cf76 100644 --- a/tests/libslic3r/test_config.cpp +++ b/tests/libslic3r/test_config.cpp @@ -91,7 +91,7 @@ SCENARIO("Config accessor functions perform as expected.", "[Config]") { } WHEN("A numeric option is set to a non-numeric value.") { THEN("A BadOptionTypeException exception is thown.") { - REQUIRE_THROWS_AS(config.set_deserialize_strict("perimeter_speed", "zzzz"), BadOptionTypeException); + REQUIRE_THROWS_AS(config.set_deserialize_strict("perimeter_speed", "zzzz"), BadOptionValueException); } THEN("The value does not change.") { REQUIRE(config.opt("perimeter_speed")->getFloat() == 60.0); From 28472ee03f07ba286f3ad592ba48a91127606eff Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Tue, 29 Jun 2021 15:48:41 +0200 Subject: [PATCH 52/80] Renamed "marlinfirmware" G-code flavor to "marlin2". --- src/libslic3r/Config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index e308b23ee..68b464599 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -546,7 +546,7 @@ bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, con // Deserialize failed, try to substitute with a default value. assert(substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable || substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::EnableSilent); - if (opt_key == "gcode_flavor" && value == "marlinfirmware") + if (opt_key == "gcode_flavor" && (value == "marlin2" || value == "marlinfirmware")) static_cast*>(opt)->value = gcfMarlin; else opt->set(optdef->default_value.get()); From 7c28de0f5acee6a1e1355ac4badadd46fd2d0d3e Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Tue, 29 Jun 2021 16:21:56 +0200 Subject: [PATCH 53/80] Move show_substitutions_info() call into UI thread --- src/slic3r/GUI/Jobs/SLAImportJob.cpp | 34 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.cpp b/src/slic3r/GUI/Jobs/SLAImportJob.cpp index 567adbc4c..e4325a3bd 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.cpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.cpp @@ -113,13 +113,14 @@ public: Plater *plater; Sel sel = Sel::modelAndProfile; - - TriangleMesh mesh; - DynamicPrintConfig profile; - wxString path; - Vec2i win = {2, 2}; - std::string err; - + + TriangleMesh mesh; + DynamicPrintConfig profile; + wxString path; + Vec2i win = {2, 2}; + std::string err; + ConfigSubstitutions config_substitutions; + priv(Plater *plt): plater{plt} {} }; @@ -139,27 +140,22 @@ void SLAImportJob::process() if (p->path.empty()) return; std::string path = p->path.ToUTF8().data(); - ConfigSubstitutions config_substitutions; try { switch (p->sel) { case Sel::modelAndProfile: - config_substitutions = import_sla_archive(path, p->win, p->mesh, p->profile, progr); + p->config_substitutions = import_sla_archive(path, p->win, p->mesh, p->profile, progr); break; case Sel::modelOnly: - config_substitutions = import_sla_archive(path, p->win, p->mesh, progr); + p->config_substitutions = import_sla_archive(path, p->win, p->mesh, progr); break; case Sel::profileOnly: - config_substitutions = import_sla_archive(path, p->profile); + p->config_substitutions = import_sla_archive(path, p->profile); break; } } catch (std::exception &ex) { p->err = ex.what(); } - - if (! config_substitutions.empty()) { - show_substitutions_info(config_substitutions, path); - } update_status(100, was_canceled() ? _(L("Importing canceled.")) : _(L("Importing done."))); @@ -186,6 +182,7 @@ void SLAImportJob::prepare() p->path = !nm.Exists(wxFILE_EXISTS_REGULAR) ? "" : path.ToUTF8(); p->sel = dlg.get_selection(); p->win = dlg.get_marchsq_windowsize(); + p->config_substitutions.clear(); } else { p->path = ""; } @@ -228,8 +225,11 @@ void SLAImportJob::finalize() bool is_centered = false; p->plater->sidebar().obj_list()->load_mesh_object(p->mesh, name, is_centered); } - + + if (! p->config_substitutions.empty()) + show_substitutions_info(p->config_substitutions, p->path.ToUTF8().data()); + reset(); } -}} +}} // namespace Slic3r::GUI From d6d52e6091eaa841f9a952396773934a064d07fb Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Tue, 29 Jun 2021 17:29:13 +0200 Subject: [PATCH 54/80] Support for SL1S printer: Where SL1 is mentioned, mention it as SL1 / SL1S. Support loading / saving of SL1S files in addition to SL1. --- src/libslic3r/Format/SL1.cpp | 4 ++-- src/libslic3r/PrintConfig.cpp | 2 +- src/slic3r/GUI/GUI_App.cpp | 2 +- src/slic3r/GUI/Jobs/SLAImportJob.cpp | 2 +- src/slic3r/GUI/MainFrame.cpp | 2 +- src/slic3r/GUI/Plater.cpp | 2 +- src/slic3r/Utils/OctoPrint.cpp | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/libslic3r/Format/SL1.cpp b/src/libslic3r/Format/SL1.cpp index e1cd33b7f..138ef3ba5 100644 --- a/src/libslic3r/Format/SL1.cpp +++ b/src/libslic3r/Format/SL1.cpp @@ -203,7 +203,7 @@ RasterParams get_raster_params(const DynamicPrintConfig &cfg) if (!opt_disp_cols || !opt_disp_rows || !opt_disp_w || !opt_disp_h || !opt_mirror_x || !opt_mirror_y || !opt_orient) - throw Slic3r::FileIOError("Invalid SL1 file"); + throw Slic3r::FileIOError("Invalid SL1 / SL1S file"); RasterParams rstp; @@ -229,7 +229,7 @@ SliceParams get_slice_params(const DynamicPrintConfig &cfg) auto *opt_init_layerh = cfg.option("initial_layer_height"); if (!opt_layerh || !opt_init_layerh) - throw Slic3r::FileIOError("Invalid SL1 file"); + throw Slic3r::FileIOError("Invalid SL1 / SL1S file"); return SliceParams{opt_layerh->getFloat(), opt_init_layerh->getFloat()}; } diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index f75919ec3..ea40dfa28 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -64,7 +64,7 @@ void PrintConfigDef::init_common_params() def = this->add("thumbnails", coPoints); def->label = L("G-code thumbnails"); - def->tooltip = L("Picture sizes to be stored into a .gcode and .sl1 files, in the following format: \"XxY, XxY, ...\""); + def->tooltip = L("Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\""); def->mode = comExpert; def->gui_type = "one_string"; def->set_default_value(new ConfigOptionPoints()); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index a8ce930b4..8bc9ec60c 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -427,7 +427,7 @@ wxString file_wildcards(FileType file_type, const std::string &custom_extension) /* FT_TEX */ "Texture (*.png, *.svg)|*.png;*.PNG;*.svg;*.SVG", - /* FT_PNGZIP */ "Masked SLA files (*.sl1)|*.sl1;*.SL1", + /* FT_PNGZIP */ "Masked SLA files (*.sl1, *sl1s)|*.sl1;*.SL1;*.sl1s;*.SL1S", }; std::string out = defaults[file_type]; diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.cpp b/src/slic3r/GUI/Jobs/SLAImportJob.cpp index e4325a3bd..4c77138c6 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.cpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.cpp @@ -33,7 +33,7 @@ public: m_filepicker = new wxFilePickerCtrl(this, wxID_ANY, from_u8(wxGetApp().app_config->get_last_dir()), _(L("Choose SLA archive:")), - "SL1 archive files (*.sl1, *.zip)|*.sl1;*.SL1;*.zip;*.ZIP", + "SL1 archive files (*.sl1, *.sl1s, *.zip)|*.sl1;*.SL1;*.sl1s;*.SL1S;*.zip;*.ZIP", wxDefaultPosition, wxDefaultSize, wxFLP_DEFAULT_STYLE | wxFD_OPEN | wxFD_FILE_MUST_EXIST); szfilepck->Add(new wxStaticText(this, wxID_ANY, _L("Import file") + ": "), 0, wxALIGN_CENTER); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index ba65eee7a..86ba85b5e 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -997,7 +997,7 @@ void MainFrame::init_menubar_as_editor() [this](wxCommandEvent&) { if (m_plater) m_plater->add_model(true); }, "import_plater", nullptr, [this](){return m_plater != nullptr; }, this); - append_menu_item(import_menu, wxID_ANY, _L("Import SL1 archive") + dots, _L("Load an SL1 archive"), + append_menu_item(import_menu, wxID_ANY, _L("Import SL1 / SL1S archive") + dots, _L("Load an SL1 / Sl1S archive"), [this](wxCommandEvent&) { if (m_plater) m_plater->import_sl1_archive(); }, "import_plater", nullptr, [this](){return m_plater != nullptr; }, this); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 01d287b75..38a1b01b9 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5334,7 +5334,7 @@ void Plater::export_gcode(bool prefer_removable) fs::path output_path; { - wxFileDialog dlg(this, (printer_technology() == ptFFF) ? _L("Save G-code file as:") : _L("Save SL1 file as:"), + wxFileDialog dlg(this, (printer_technology() == ptFFF) ? _L("Save G-code file as:") : _L("Save SL1 / SL1S file as:"), start_dir, from_path(default_output_file.filename()), GUI::file_wildcards((printer_technology() == ptFFF) ? FT_GCODE : FT_PNGZIP, default_output_file.extension().string()), diff --git a/src/slic3r/Utils/OctoPrint.cpp b/src/slic3r/Utils/OctoPrint.cpp index f01e3ad41..ee669c36f 100644 --- a/src/slic3r/Utils/OctoPrint.cpp +++ b/src/slic3r/Utils/OctoPrint.cpp @@ -182,7 +182,7 @@ const char* SL1Host::get_name() const { return "SL1Host"; } wxString SL1Host::get_test_ok_msg () const { - return _(L("Connection to Prusa SL1 works correctly.")); + return _(L("Connection to Prusa SL1 / SL1S works correctly.")); } wxString SL1Host::get_test_failed_msg (wxString &msg) const From 86a42a745453441148c6811e05b49bf2d9ce2fba Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Tue, 29 Jun 2021 17:43:11 +0200 Subject: [PATCH 55/80] Ammended the previous commit (SL1 / SL1S in file picker) --- src/slic3r/GUI/Jobs/SLAImportJob.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Jobs/SLAImportJob.cpp b/src/slic3r/GUI/Jobs/SLAImportJob.cpp index 4c77138c6..6a52d568a 100644 --- a/src/slic3r/GUI/Jobs/SLAImportJob.cpp +++ b/src/slic3r/GUI/Jobs/SLAImportJob.cpp @@ -33,7 +33,7 @@ public: m_filepicker = new wxFilePickerCtrl(this, wxID_ANY, from_u8(wxGetApp().app_config->get_last_dir()), _(L("Choose SLA archive:")), - "SL1 archive files (*.sl1, *.sl1s, *.zip)|*.sl1;*.SL1;*.sl1s;*.SL1S;*.zip;*.ZIP", + "SL1 / SL1S archive files (*.sl1, *.sl1s, *.zip)|*.sl1;*.SL1;*.sl1s;*.SL1S;*.zip;*.ZIP", wxDefaultPosition, wxDefaultSize, wxFLP_DEFAULT_STYLE | wxFD_OPEN | wxFD_FILE_MUST_EXIST); szfilepck->Add(new wxStaticText(this, wxID_ANY, _L("Import file") + ": "), 0, wxALIGN_CENTER); From 3e173d1c1eddb3be4ecf3bbc83542600897c1843 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Wed, 30 Jun 2021 11:03:56 +0200 Subject: [PATCH 56/80] SL1S Decreased Area Fill --- resources/profiles/PrusaResearch.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini index 7d7b4085e..ff0eb1e7a 100644 --- a/resources/profiles/PrusaResearch.ini +++ b/resources/profiles/PrusaResearch.ini @@ -6580,7 +6580,7 @@ min_initial_exposure_time = 1 max_initial_exposure_time = 300 printer_correction = 1,1,1 relative_correction = 1,1 -area_fill = 50 +area_fill = 45 printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_SL1S\n # The obsolete presets will be removed when upgrading from the legacy configuration structure (up to Slic3r 1.39.2) to 1.40.0 and newer. From 88d5f40b7c7c0c8ca19ac60dfdb12719a32e1917 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 30 Jun 2021 14:19:20 +0200 Subject: [PATCH 57/80] InfoDialog: Improvements * Fixed localization * Substitutions are aligned in table --- src/slic3r/GUI/GUI.cpp | 54 +++++++++++++++++++++--------------- src/slic3r/GUI/MsgDialog.cpp | 18 ++++++++++-- 2 files changed, 48 insertions(+), 24 deletions(-) diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index fd79cf1fd..e1054c1fc 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -258,25 +258,32 @@ void warning_catcher(wxWindow* parent, const wxString& message) msg.ShowModal(); } +static wxString bold(const wxString& str) +{ + return wxString::Format("\"%s\"", str); +}; + static void add_config_substitutions(const ConfigSubstitutions& conf_substitutions, wxString& changes) { + changes += ""; for (const ConfigSubstitution& conf_substitution : conf_substitutions) { wxString new_val; - if (!conf_substitution.opt_def) + const ConfigOptionDef* def = conf_substitution.opt_def; + if (!def) continue; - if (conf_substitution.opt_def->type == coEnum) { - const std::vector& labels = conf_substitution.opt_def->enum_labels; - const std::vector& values = conf_substitution.opt_def->enum_values; + if (def->type == coEnum) { + const std::vector& labels = def->enum_labels; + const std::vector& values = def->enum_values; int val = conf_substitution.new_value->getInt(); - bool is_infill = conf_substitution.opt_def->opt_key == "top_fill_pattern" || - conf_substitution.opt_def->opt_key == "bottom_fill_pattern" || - conf_substitution.opt_def->opt_key == "fill_pattern"; + bool is_infill = def->opt_key == "top_fill_pattern" || + def->opt_key == "bottom_fill_pattern" || + def->opt_key == "fill_pattern"; // Each infill doesn't use all list of infill declared in PrintConfig.hpp. // So we should "convert" val to the correct one if (is_infill) { - for (const auto& key_val : *conf_substitution.opt_def->enum_keys_map) + for (const auto& key_val : *def->enum_keys_map) if ((int)key_val.second == val) { auto it = std::find(values.begin(), values.end(), key_val.first); if (it == values.end()) @@ -284,16 +291,20 @@ static void add_config_substitutions(const ConfigSubstitutions& conf_substitutio new_val = from_u8(_utf8(labels[it - values.begin()])); break; } - new_val = _L("Undef"); + if (new_val.IsEmpty()) + new_val = _L("Undef"); } else new_val = from_u8(_utf8(labels[val])); } - else if (conf_substitution.opt_def->type == coBool) + else if (def->type == coBool) new_val = conf_substitution.new_value->getBool() ? "true" : "false"; - changes += "\n" + GUI::format(_L("New unknown value \"%1%\" was changed to defaul value \"%2%\""), conf_substitution.old_value, new_val); + changes += ""; } + changes += "
" + bold(_(def->label)) + ": " + + format_wxstr(_L("new unknown value %1% was changed to default value %2%"), bold(conf_substitution.old_value), bold(new_val)) + + "
"; } void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_substitutions) @@ -301,27 +312,26 @@ void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_su wxString changes; auto preset_type_name = [](Preset::Type type) { - return type == Slic3r::Preset::TYPE_PRINT ? _L("Print") : - type == Slic3r::Preset::TYPE_SLA_PRINT ? _L("SLA Print") : - type == Slic3r::Preset::TYPE_FILAMENT ? _L("Filament") : - type == Slic3r::Preset::TYPE_SLA_MATERIAL ? _L("SLA Material") : - type == Slic3r::Preset::TYPE_PRINTER ? _L("Printer") : ""; + return type == Slic3r::Preset::TYPE_PRINT ? _L("Print settings") : + type == Slic3r::Preset::TYPE_SLA_PRINT ? _L("SLA print settings") : + type == Slic3r::Preset::TYPE_FILAMENT ? _L("Filament") : + type == Slic3r::Preset::TYPE_SLA_MATERIAL ? _L("SLA material") : + type == Slic3r::Preset::TYPE_PRINTER ? _L("Printer") : "" ; }; for (const PresetConfigSubstitutions& substitution : presets_config_substitutions) { - changes += "\n

" + GUI::format(_L(" %1% Preset : %2%"), preset_type_name(substitution.preset_type), substitution.preset_name); + changes += "\n\n" + format_wxstr("%1% : %2%", preset_type_name(substitution.preset_type), bold(substitution.preset_name)); if (!substitution.preset_file.empty()) - changes += GUI::format(" (%1%)", substitution.preset_file); - changes += "

"; + changes += format_wxstr(" (%1%)", substitution.preset_file); add_config_substitutions(substitution.substitutions, changes); } if (!changes.IsEmpty()) changes += "\n\n"; - wxString message = format(_L("Loading profiles found following incompatibilities:%1%" - " To recover these files, incompatible values were changed to default values.\n" - " But data in files won't be changed until you save them in PrusaSlicer."), changes); + wxString message = format_wxstr( _L("Loading profiles found following incompatibilities:%1%" + " To recover these files, incompatible values were changed to default values.\n" + " But data in files won't be changed until you save them in PrusaSlicer."), changes); InfoDialog msg(nullptr, message); msg.ShowModal(); diff --git a/src/slic3r/GUI/MsgDialog.cpp b/src/slic3r/GUI/MsgDialog.cpp index e8dc80c53..742cc2ec1 100644 --- a/src/slic3r/GUI/MsgDialog.cpp +++ b/src/slic3r/GUI/MsgDialog.cpp @@ -119,7 +119,6 @@ InfoDialog::InfoDialog(wxWindow* parent, const wxString& msg) // Text shown as HTML, so that mouse selection and Ctrl-V to copy will work. wxHtmlWindow* html = new wxHtmlWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHW_SCROLLBAR_AUTO); { - html->SetMinSize(wxSize(40 * wxGetApp().em_unit(), -1)); wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); wxFont monospace = wxGetApp().code_font(); wxColour text_clr = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT); @@ -130,6 +129,22 @@ InfoDialog::InfoDialog(wxWindow* parent, const wxString& msg) int size[] = { font_size, font_size, font_size, font_size, font_size, font_size, font_size }; html->SetFonts(font.GetFaceName(), monospace.GetFaceName(), size); html->SetBorders(2); + + // calculate html page size from text + int lines = msg.Freq('\n'); + + if (msg.Contains("")) { + int pos = 0; + while (pos < (int)msg.Len() && pos != wxNOT_FOUND) { + pos = msg.find("", pos + 1); + lines+=2; + } + } + int page_height = std::min((font.GetPixelSize().y + 1) * lines, 68 * wxGetApp().em_unit()); + wxSize page_size(68 * wxGetApp().em_unit(), page_height); + + html->SetMinSize(page_size); + std::string msg_escaped = xml_escape(msg.ToUTF8().data(), true); boost::replace_all(msg_escaped, "\r\n", "
"); boost::replace_all(msg_escaped, "\n", "
"); @@ -140,7 +155,6 @@ InfoDialog::InfoDialog(wxWindow* parent, const wxString& msg) // Set info bitmap logo->SetBitmap(create_scaled_bitmap("info", this, 84)); - SetMinSize(wxSize(60 * wxGetApp().em_unit(), 30 * wxGetApp().em_unit())); Fit(); } From 6a07ba9369b86bba6e06a05037baffb8e12b7b58 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 30 Jun 2021 14:32:39 +0200 Subject: [PATCH 58/80] Follow-up https://github.com/prusa3d/PrusaSlicer/commit/88d5f40b7c7c0c8ca19ac60dfdb12719a32e1917 - Small fix for text formatting --- src/slic3r/GUI/GUI.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index e1054c1fc..4bcb5a940 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -346,9 +346,9 @@ void show_substitutions_info(const ConfigSubstitutions& config_substitutions, co if (!changes.IsEmpty()) changes += "\n\n"; - wxString message = format(_L("Loading %1% file found incompatibilities.\n" + wxString message = format(_L("Loading %1% file found incompatibilities.\n" "To recover this file, incompatible values were changed to default values:%2%" - "But data in files won't be changed until you save them in PrusaSlicer."), from_u8(filename), changes); + "But data in files won't be changed until you save them in PrusaSlicer."), bold(from_u8(filename)), changes); InfoDialog msg(nullptr, message); msg.ShowModal(); From a8defced4224a83ea15ed60c422be06a70385491 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 30 Jun 2021 15:08:36 +0200 Subject: [PATCH 59/80] Localization: Updated POT --- resources/localization/PrusaSlicer.pot | 3073 ++++++++++++------------ 1 file changed, 1581 insertions(+), 1492 deletions(-) diff --git a/resources/localization/PrusaSlicer.pot b/resources/localization/PrusaSlicer.pot index 5c328e479..1a04d5bc6 100644 --- a/resources/localization/PrusaSlicer.pot +++ b/resources/localization/PrusaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-18 13:59+0100\n" +"POT-Creation-Date: 2021-06-30 15:03+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -39,16 +39,16 @@ msgid "About %s" msgstr "" #: src/slic3r/GUI/AboutDialog.cpp:238 src/slic3r/GUI/AboutDialog.cpp:361 -#: src/slic3r/GUI/GUI_App.cpp:235 src/slic3r/GUI/MainFrame.cpp:151 +#: src/slic3r/GUI/GUI_App.cpp:243 src/slic3r/GUI/MainFrame.cpp:151 msgid "Version" msgstr "" #. TRN "Slic3r _is licensed under the_ License" -#: src/slic3r/GUI/AboutDialog.cpp:265 src/slic3r/GUI/GUI_App.cpp:240 +#: src/slic3r/GUI/AboutDialog.cpp:265 src/slic3r/GUI/GUI_App.cpp:248 msgid "is licensed under the" msgstr "" -#: src/slic3r/GUI/AboutDialog.cpp:266 src/slic3r/GUI/GUI_App.cpp:240 +#: src/slic3r/GUI/AboutDialog.cpp:266 src/slic3r/GUI/GUI_App.cpp:248 msgid "GNU Affero General Public License, version 3" msgstr "" @@ -141,8 +141,8 @@ msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue" msgstr "" #: src/slic3r/GUI/BedShapeDialog.cpp:93 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:240 src/slic3r/GUI/Plater.cpp:162 -#: src/slic3r/GUI/Tab.cpp:2536 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:240 src/slic3r/GUI/Plater.cpp:163 +#: src/slic3r/GUI/Tab.cpp:2543 msgid "Size" msgstr "" @@ -164,11 +164,11 @@ msgid "" "rectangle." msgstr "" -#: src/slic3r/GUI/BedShapeDialog.cpp:129 src/slic3r/GUI/ConfigWizard.cpp:242 -#: src/slic3r/GUI/ConfigWizard.cpp:1368 src/slic3r/GUI/ConfigWizard.cpp:1382 +#: src/slic3r/GUI/BedShapeDialog.cpp:129 src/slic3r/GUI/ConfigWizard.cpp:246 +#: src/slic3r/GUI/ConfigWizard.cpp:1372 src/slic3r/GUI/ConfigWizard.cpp:1386 #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:88 -#: src/slic3r/GUI/GCodeViewer.cpp:2337 src/slic3r/GUI/GCodeViewer.cpp:2343 -#: src/slic3r/GUI/GCodeViewer.cpp:2351 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:179 +#: src/slic3r/GUI/GCodeViewer.cpp:3986 src/slic3r/GUI/GCodeViewer.cpp:3992 +#: src/slic3r/GUI/GCodeViewer.cpp:4000 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:179 #: src/slic3r/GUI/GUI_ObjectLayers.cpp:145 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:341 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:418 @@ -184,28 +184,28 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:594 src/libslic3r/PrintConfig.cpp:774 #: src/libslic3r/PrintConfig.cpp:1258 src/libslic3r/PrintConfig.cpp:1439 #: src/libslic3r/PrintConfig.cpp:1500 src/libslic3r/PrintConfig.cpp:1518 -#: src/libslic3r/PrintConfig.cpp:1536 src/libslic3r/PrintConfig.cpp:1594 -#: src/libslic3r/PrintConfig.cpp:1604 src/libslic3r/PrintConfig.cpp:1729 -#: src/libslic3r/PrintConfig.cpp:1737 src/libslic3r/PrintConfig.cpp:1778 -#: src/libslic3r/PrintConfig.cpp:1786 src/libslic3r/PrintConfig.cpp:1796 -#: src/libslic3r/PrintConfig.cpp:1804 src/libslic3r/PrintConfig.cpp:1812 -#: src/libslic3r/PrintConfig.cpp:1875 src/libslic3r/PrintConfig.cpp:2141 -#: src/libslic3r/PrintConfig.cpp:2212 src/libslic3r/PrintConfig.cpp:2246 -#: src/libslic3r/PrintConfig.cpp:2375 src/libslic3r/PrintConfig.cpp:2454 -#: src/libslic3r/PrintConfig.cpp:2461 src/libslic3r/PrintConfig.cpp:2468 -#: src/libslic3r/PrintConfig.cpp:2498 src/libslic3r/PrintConfig.cpp:2508 -#: src/libslic3r/PrintConfig.cpp:2518 src/libslic3r/PrintConfig.cpp:2678 -#: src/libslic3r/PrintConfig.cpp:2712 src/libslic3r/PrintConfig.cpp:2851 -#: src/libslic3r/PrintConfig.cpp:2860 src/libslic3r/PrintConfig.cpp:2869 -#: src/libslic3r/PrintConfig.cpp:2879 src/libslic3r/PrintConfig.cpp:2944 -#: src/libslic3r/PrintConfig.cpp:2954 src/libslic3r/PrintConfig.cpp:2966 -#: src/libslic3r/PrintConfig.cpp:2986 src/libslic3r/PrintConfig.cpp:2996 -#: src/libslic3r/PrintConfig.cpp:3006 src/libslic3r/PrintConfig.cpp:3024 -#: src/libslic3r/PrintConfig.cpp:3039 src/libslic3r/PrintConfig.cpp:3053 -#: src/libslic3r/PrintConfig.cpp:3064 src/libslic3r/PrintConfig.cpp:3077 -#: src/libslic3r/PrintConfig.cpp:3122 src/libslic3r/PrintConfig.cpp:3132 -#: src/libslic3r/PrintConfig.cpp:3141 src/libslic3r/PrintConfig.cpp:3151 -#: src/libslic3r/PrintConfig.cpp:3167 src/libslic3r/PrintConfig.cpp:3191 +#: src/libslic3r/PrintConfig.cpp:1536 src/libslic3r/PrintConfig.cpp:1596 +#: src/libslic3r/PrintConfig.cpp:1606 src/libslic3r/PrintConfig.cpp:1731 +#: src/libslic3r/PrintConfig.cpp:1739 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:1788 src/libslic3r/PrintConfig.cpp:1798 +#: src/libslic3r/PrintConfig.cpp:1806 src/libslic3r/PrintConfig.cpp:1814 +#: src/libslic3r/PrintConfig.cpp:1877 src/libslic3r/PrintConfig.cpp:2143 +#: src/libslic3r/PrintConfig.cpp:2214 src/libslic3r/PrintConfig.cpp:2248 +#: src/libslic3r/PrintConfig.cpp:2377 src/libslic3r/PrintConfig.cpp:2456 +#: src/libslic3r/PrintConfig.cpp:2463 src/libslic3r/PrintConfig.cpp:2470 +#: src/libslic3r/PrintConfig.cpp:2500 src/libslic3r/PrintConfig.cpp:2510 +#: src/libslic3r/PrintConfig.cpp:2520 src/libslic3r/PrintConfig.cpp:2680 +#: src/libslic3r/PrintConfig.cpp:2714 src/libslic3r/PrintConfig.cpp:2853 +#: src/libslic3r/PrintConfig.cpp:2862 src/libslic3r/PrintConfig.cpp:2871 +#: src/libslic3r/PrintConfig.cpp:2881 src/libslic3r/PrintConfig.cpp:2946 +#: src/libslic3r/PrintConfig.cpp:2956 src/libslic3r/PrintConfig.cpp:2968 +#: src/libslic3r/PrintConfig.cpp:2988 src/libslic3r/PrintConfig.cpp:2998 +#: src/libslic3r/PrintConfig.cpp:3008 src/libslic3r/PrintConfig.cpp:3026 +#: src/libslic3r/PrintConfig.cpp:3041 src/libslic3r/PrintConfig.cpp:3055 +#: src/libslic3r/PrintConfig.cpp:3066 src/libslic3r/PrintConfig.cpp:3079 +#: src/libslic3r/PrintConfig.cpp:3124 src/libslic3r/PrintConfig.cpp:3134 +#: src/libslic3r/PrintConfig.cpp:3143 src/libslic3r/PrintConfig.cpp:3153 +#: src/libslic3r/PrintConfig.cpp:3169 src/libslic3r/PrintConfig.cpp:3193 msgid "mm" msgstr "" @@ -233,7 +233,7 @@ msgid "Invalid" msgstr "" #: src/slic3r/GUI/BedShapeDialog.cpp:156 src/slic3r/GUI/BedShapeDialog.cpp:222 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2288 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2292 msgid "Shape" msgstr "" @@ -241,7 +241,7 @@ msgstr "" msgid "Load shape from STL..." msgstr "" -#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1826 +#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1836 msgid "Settings" msgstr "" @@ -254,7 +254,7 @@ msgid "Load..." msgstr "" #: src/slic3r/GUI/BedShapeDialog.cpp:333 src/slic3r/GUI/BedShapeDialog.cpp:413 -#: src/slic3r/GUI/Tab.cpp:3484 +#: src/slic3r/GUI/Tab.cpp:3491 msgid "Remove" msgstr "" @@ -296,7 +296,7 @@ msgstr "" msgid "Choose an STL file to import bed model from:" msgstr "" -#: src/slic3r/GUI/BedShapeDialog.hpp:98 src/slic3r/GUI/ConfigWizard.cpp:1327 +#: src/slic3r/GUI/BedShapeDialog.hpp:98 src/slic3r/GUI/ConfigWizard.cpp:1331 msgid "Bed Shape" msgstr "" @@ -320,11 +320,11 @@ msgstr "" msgid "OctoPrint version" msgstr "" -#: src/slic3r/GUI/BonjourDialog.cpp:218 +#: src/slic3r/GUI/BonjourDialog.cpp:224 msgid "Searching for devices" msgstr "" -#: src/slic3r/GUI/BonjourDialog.cpp:225 +#: src/slic3r/GUI/BonjourDialog.cpp:231 msgid "Finished" msgstr "" @@ -350,7 +350,7 @@ msgid "" msgstr "" #: src/slic3r/GUI/ConfigManipulation.cpp:49 -#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1387 +#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1394 #: src/libslic3r/PrintConfig.cpp:73 msgid "Layer height" msgstr "" @@ -438,15 +438,15 @@ msgstr "" #: src/slic3r/GUI/ConfigManipulation.cpp:202 #: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 -#: src/slic3r/GUI/GUI_ObjectList.cpp:668 src/slic3r/GUI/Plater.cpp:389 -#: src/slic3r/GUI/Tab.cpp:1432 src/slic3r/GUI/Tab.cpp:1434 +#: src/slic3r/GUI/GUI_ObjectList.cpp:668 src/slic3r/GUI/Plater.cpp:390 +#: src/slic3r/GUI/Tab.cpp:1439 src/slic3r/GUI/Tab.cpp:1441 #: src/libslic3r/PrintConfig.cpp:259 src/libslic3r/PrintConfig.cpp:472 #: src/libslic3r/PrintConfig.cpp:496 src/libslic3r/PrintConfig.cpp:848 #: src/libslic3r/PrintConfig.cpp:862 src/libslic3r/PrintConfig.cpp:899 #: src/libslic3r/PrintConfig.cpp:1076 src/libslic3r/PrintConfig.cpp:1086 #: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1172 -#: src/libslic3r/PrintConfig.cpp:1191 src/libslic3r/PrintConfig.cpp:1928 -#: src/libslic3r/PrintConfig.cpp:1945 +#: src/libslic3r/PrintConfig.cpp:1191 src/libslic3r/PrintConfig.cpp:1930 +#: src/libslic3r/PrintConfig.cpp:1947 msgid "Infill" msgstr "" @@ -495,7 +495,7 @@ msgstr "" msgid "PrusaSlicer version" msgstr "" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 src/libslic3r/Preset.cpp:1298 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 src/libslic3r/Preset.cpp:1306 msgid "print" msgstr "" @@ -503,20 +503,20 @@ msgstr "" msgid "filaments" msgstr "" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:59 src/libslic3r/Preset.cpp:1300 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:59 src/libslic3r/Preset.cpp:1308 msgid "SLA print" msgstr "" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/Plater.cpp:696 -#: src/libslic3r/Preset.cpp:1301 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/GUI.cpp:318 +#: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/Preset.cpp:1309 msgid "SLA material" msgstr "" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:62 src/libslic3r/Preset.cpp:1302 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:62 src/libslic3r/Preset.cpp:1310 msgid "printer" msgstr "" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:66 src/slic3r/GUI/Tab.cpp:1304 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:66 src/slic3r/GUI/Tab.cpp:1311 msgid "vendor" msgstr "" @@ -553,125 +553,125 @@ msgstr "" msgid "Configuration Snapshots" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:242 +#: src/slic3r/GUI/ConfigWizard.cpp:246 msgid "nozzle" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:246 +#: src/slic3r/GUI/ConfigWizard.cpp:250 msgid "Alternate nozzles:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:310 +#: src/slic3r/GUI/ConfigWizard.cpp:314 msgid "All standard" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:310 +#: src/slic3r/GUI/ConfigWizard.cpp:314 msgid "Standard" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:311 src/slic3r/GUI/ConfigWizard.cpp:605 -#: src/slic3r/GUI/Tab.cpp:3565 src/slic3r/GUI/UnsavedChangesDialog.cpp:933 +#: src/slic3r/GUI/ConfigWizard.cpp:315 src/slic3r/GUI/ConfigWizard.cpp:609 +#: src/slic3r/GUI/Tab.cpp:3572 src/slic3r/GUI/UnsavedChangesDialog.cpp:933 msgid "All" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:312 src/slic3r/GUI/ConfigWizard.cpp:606 -#: src/slic3r/GUI/DoubleSlider.cpp:1859 src/slic3r/GUI/Plater.cpp:361 -#: src/slic3r/GUI/Plater.cpp:504 +#: src/slic3r/GUI/ConfigWizard.cpp:316 src/slic3r/GUI/ConfigWizard.cpp:610 +#: src/slic3r/GUI/DoubleSlider.cpp:1879 src/slic3r/GUI/Plater.cpp:362 +#: src/slic3r/GUI/Plater.cpp:505 msgid "None" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:452 +#: src/slic3r/GUI/ConfigWizard.cpp:456 #, possible-c-format msgid "Welcome to the %s Configuration Assistant" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:454 +#: src/slic3r/GUI/ConfigWizard.cpp:458 #, possible-c-format msgid "Welcome to the %s Configuration Wizard" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:456 +#: src/slic3r/GUI/ConfigWizard.cpp:460 msgid "Welcome" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:458 +#: src/slic3r/GUI/ConfigWizard.cpp:462 #, possible-c-format msgid "" "Hello, welcome to %s! This %s helps you with the initial configuration; just " "a few settings and you will be ready to print." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:463 +#: src/slic3r/GUI/ConfigWizard.cpp:467 msgid "Remove user profiles (a snapshot will be taken beforehand)" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:506 +#: src/slic3r/GUI/ConfigWizard.cpp:510 #, possible-c-format msgid "%s Family" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:594 +#: src/slic3r/GUI/ConfigWizard.cpp:598 msgid "Printer:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:596 +#: src/slic3r/GUI/ConfigWizard.cpp:600 msgid "Vendor:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:597 +#: src/slic3r/GUI/ConfigWizard.cpp:601 msgid "Profile:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:669 src/slic3r/GUI/ConfigWizard.cpp:819 -#: src/slic3r/GUI/ConfigWizard.cpp:880 src/slic3r/GUI/ConfigWizard.cpp:1017 +#: src/slic3r/GUI/ConfigWizard.cpp:673 src/slic3r/GUI/ConfigWizard.cpp:823 +#: src/slic3r/GUI/ConfigWizard.cpp:884 src/slic3r/GUI/ConfigWizard.cpp:1021 msgid "(All)" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:698 +#: src/slic3r/GUI/ConfigWizard.cpp:702 msgid "" "Filaments marked with * are not compatible with some installed " "printers." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:701 +#: src/slic3r/GUI/ConfigWizard.cpp:705 msgid "All installed printers are compatible with the selected filament." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:721 +#: src/slic3r/GUI/ConfigWizard.cpp:725 msgid "" "Only the following installed printers are compatible with the selected " "filament:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1107 +#: src/slic3r/GUI/ConfigWizard.cpp:1111 msgid "Custom Printer Setup" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1107 +#: src/slic3r/GUI/ConfigWizard.cpp:1111 msgid "Custom Printer" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1109 +#: src/slic3r/GUI/ConfigWizard.cpp:1113 msgid "Define a custom printer profile" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1111 +#: src/slic3r/GUI/ConfigWizard.cpp:1115 msgid "Custom profile name:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1136 +#: src/slic3r/GUI/ConfigWizard.cpp:1140 msgid "Automatic updates" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1136 +#: src/slic3r/GUI/ConfigWizard.cpp:1140 msgid "Updates" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1144 src/slic3r/GUI/Preferences.cpp:94 +#: src/slic3r/GUI/ConfigWizard.cpp:1148 src/slic3r/GUI/Preferences.cpp:94 msgid "Check for application updates" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1148 +#: src/slic3r/GUI/ConfigWizard.cpp:1152 #, possible-c-format msgid "" "If enabled, %s checks for new application versions online. When a new " @@ -680,11 +680,11 @@ msgid "" "notification mechanisms, no automatic installation is done." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1154 src/slic3r/GUI/Preferences.cpp:129 +#: src/slic3r/GUI/ConfigWizard.cpp:1158 src/slic3r/GUI/Preferences.cpp:129 msgid "Update built-in Presets automatically" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1158 +#: src/slic3r/GUI/ConfigWizard.cpp:1162 #, possible-c-format msgid "" "If enabled, %s downloads updates of built-in system presets in the " @@ -693,30 +693,30 @@ msgid "" "startup." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1161 +#: src/slic3r/GUI/ConfigWizard.cpp:1165 msgid "" "Updates are never applied without user's consent and never overwrite user's " "customized settings." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1166 +#: src/slic3r/GUI/ConfigWizard.cpp:1170 msgid "" "Additionally a backup snapshot of the whole configuration is created before " "an update is applied." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1173 src/slic3r/GUI/GUI_ObjectList.cpp:1825 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4567 src/slic3r/GUI/Plater.cpp:3116 -#: src/slic3r/GUI/Plater.cpp:4001 src/slic3r/GUI/Plater.cpp:4032 +#: src/slic3r/GUI/ConfigWizard.cpp:1177 src/slic3r/GUI/GUI_ObjectList.cpp:1829 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4573 src/slic3r/GUI/Plater.cpp:3124 +#: src/slic3r/GUI/Plater.cpp:4018 src/slic3r/GUI/Plater.cpp:4049 msgid "Reload from disk" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1176 +#: src/slic3r/GUI/ConfigWizard.cpp:1180 msgid "" "Export full pathnames of models and parts sources into 3mf and amf files" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1180 +#: src/slic3r/GUI/ConfigWizard.cpp:1184 msgid "" "If enabled, allows the Reload from disk command to automatically find and " "load the files when invoked.\n" @@ -724,23 +724,23 @@ msgid "" "using an open file dialog." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1190 +#: src/slic3r/GUI/ConfigWizard.cpp:1194 msgid "Files association" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1192 src/slic3r/GUI/Preferences.cpp:112 +#: src/slic3r/GUI/ConfigWizard.cpp:1196 src/slic3r/GUI/Preferences.cpp:112 msgid "Associate .3mf files to PrusaSlicer" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1193 src/slic3r/GUI/Preferences.cpp:119 +#: src/slic3r/GUI/ConfigWizard.cpp:1197 src/slic3r/GUI/Preferences.cpp:119 msgid "Associate .stl files to PrusaSlicer" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1204 +#: src/slic3r/GUI/ConfigWizard.cpp:1208 msgid "View mode" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1206 +#: src/slic3r/GUI/ConfigWizard.cpp:1210 msgid "" "PrusaSlicer's user interfaces comes in three variants:\n" "Simple, Advanced, and Expert.\n" @@ -749,221 +749,221 @@ msgid "" "fine-tuning, they are suitable for advanced and expert users, respectively." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1211 +#: src/slic3r/GUI/ConfigWizard.cpp:1215 msgid "Simple mode" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1212 +#: src/slic3r/GUI/ConfigWizard.cpp:1216 msgid "Advanced mode" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1213 +#: src/slic3r/GUI/ConfigWizard.cpp:1217 msgid "Expert mode" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1219 +#: src/slic3r/GUI/ConfigWizard.cpp:1223 msgid "The size of the object can be specified in inches" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1220 +#: src/slic3r/GUI/ConfigWizard.cpp:1224 msgid "Use inches" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1254 +#: src/slic3r/GUI/ConfigWizard.cpp:1258 msgid "Other Vendors" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1258 +#: src/slic3r/GUI/ConfigWizard.cpp:1262 #, possible-c-format msgid "Pick another vendor supported by %s" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1289 +#: src/slic3r/GUI/ConfigWizard.cpp:1293 msgid "Firmware Type" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1289 src/slic3r/GUI/Tab.cpp:2172 +#: src/slic3r/GUI/ConfigWizard.cpp:1293 src/slic3r/GUI/Tab.cpp:2179 msgid "Firmware" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1293 +#: src/slic3r/GUI/ConfigWizard.cpp:1297 msgid "Choose the type of firmware used by your printer." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1327 +#: src/slic3r/GUI/ConfigWizard.cpp:1331 msgid "Bed Shape and Size" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1330 +#: src/slic3r/GUI/ConfigWizard.cpp:1334 msgid "Set the shape of your printer's bed." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1350 +#: src/slic3r/GUI/ConfigWizard.cpp:1354 msgid "Filament and Nozzle Diameters" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1350 +#: src/slic3r/GUI/ConfigWizard.cpp:1354 msgid "Print Diameters" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1364 +#: src/slic3r/GUI/ConfigWizard.cpp:1368 msgid "Enter the diameter of your printer's hot end nozzle." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1367 +#: src/slic3r/GUI/ConfigWizard.cpp:1371 msgid "Nozzle Diameter:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1377 +#: src/slic3r/GUI/ConfigWizard.cpp:1381 msgid "Enter the diameter of your filament." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1378 +#: src/slic3r/GUI/ConfigWizard.cpp:1382 msgid "" "Good precision is required, so use a caliper and do multiple measurements " "along the filament, then compute the average." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1381 +#: src/slic3r/GUI/ConfigWizard.cpp:1385 msgid "Filament Diameter:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1415 +#: src/slic3r/GUI/ConfigWizard.cpp:1419 msgid "Nozzle and Bed Temperatures" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1415 +#: src/slic3r/GUI/ConfigWizard.cpp:1419 msgid "Temperatures" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1431 +#: src/slic3r/GUI/ConfigWizard.cpp:1435 msgid "Enter the temperature needed for extruding your filament." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1432 +#: src/slic3r/GUI/ConfigWizard.cpp:1436 msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1435 +#: src/slic3r/GUI/ConfigWizard.cpp:1439 msgid "Extrusion Temperature:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1436 src/slic3r/GUI/ConfigWizard.cpp:1450 +#: src/slic3r/GUI/ConfigWizard.cpp:1440 src/slic3r/GUI/ConfigWizard.cpp:1454 #: src/libslic3r/PrintConfig.cpp:202 src/libslic3r/PrintConfig.cpp:950 -#: src/libslic3r/PrintConfig.cpp:994 src/libslic3r/PrintConfig.cpp:2294 +#: src/libslic3r/PrintConfig.cpp:994 src/libslic3r/PrintConfig.cpp:2296 msgid "°C" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1445 +#: src/slic3r/GUI/ConfigWizard.cpp:1449 msgid "" "Enter the bed temperature needed for getting your filament to stick to your " "heated bed." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1446 +#: src/slic3r/GUI/ConfigWizard.cpp:1450 msgid "" "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " "no heated bed." msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1449 +#: src/slic3r/GUI/ConfigWizard.cpp:1453 msgid "Bed Temperature:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1909 src/slic3r/GUI/ConfigWizard.cpp:2582 +#: src/slic3r/GUI/ConfigWizard.cpp:1913 src/slic3r/GUI/ConfigWizard.cpp:2590 msgid "Filaments" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1909 src/slic3r/GUI/ConfigWizard.cpp:2584 +#: src/slic3r/GUI/ConfigWizard.cpp:1913 src/slic3r/GUI/ConfigWizard.cpp:2592 msgid "SLA Materials" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1963 +#: src/slic3r/GUI/ConfigWizard.cpp:1967 msgid "FFF Technology Printers" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:1968 +#: src/slic3r/GUI/ConfigWizard.cpp:1972 msgid "SLA Technology Printers" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2274 src/slic3r/GUI/DoubleSlider.cpp:2245 -#: src/slic3r/GUI/DoubleSlider.cpp:2265 src/slic3r/GUI/GUI.cpp:244 +#: src/slic3r/GUI/ConfigWizard.cpp:2278 src/slic3r/GUI/DoubleSlider.cpp:2265 +#: src/slic3r/GUI/DoubleSlider.cpp:2285 src/slic3r/GUI/GUI.cpp:245 msgid "Notice" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2295 +#: src/slic3r/GUI/ConfigWizard.cpp:2299 msgid "The following FFF printer models have no filament selected:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2299 +#: src/slic3r/GUI/ConfigWizard.cpp:2303 msgid "Do you want to select default filaments for these FFF printer models?" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2313 +#: src/slic3r/GUI/ConfigWizard.cpp:2317 msgid "The following SLA printer models have no materials selected:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2317 +#: src/slic3r/GUI/ConfigWizard.cpp:2321 msgid "Do you want to select default SLA materials for these printer models?" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2545 +#: src/slic3r/GUI/ConfigWizard.cpp:2553 msgid "Select all standard printers" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2548 +#: src/slic3r/GUI/ConfigWizard.cpp:2556 msgid "< &Back" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2549 +#: src/slic3r/GUI/ConfigWizard.cpp:2557 msgid "&Next >" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2550 +#: src/slic3r/GUI/ConfigWizard.cpp:2558 msgid "&Finish" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2551 src/slic3r/GUI/FirmwareDialog.cpp:151 +#: src/slic3r/GUI/ConfigWizard.cpp:2559 src/slic3r/GUI/FirmwareDialog.cpp:151 #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:248 #: src/slic3r/GUI/ProgressStatusBar.cpp:26 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:656 msgid "Cancel" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2564 +#: src/slic3r/GUI/ConfigWizard.cpp:2572 msgid "Prusa FFF Technology Printers" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2567 +#: src/slic3r/GUI/ConfigWizard.cpp:2575 msgid "Prusa MSLA Technology Printers" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2582 +#: src/slic3r/GUI/ConfigWizard.cpp:2590 msgid "Filament Profiles Selection" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2582 src/slic3r/GUI/ConfigWizard.cpp:2584 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4144 +#: src/slic3r/GUI/ConfigWizard.cpp:2590 src/slic3r/GUI/ConfigWizard.cpp:2592 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4150 msgid "Type:" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2584 +#: src/slic3r/GUI/ConfigWizard.cpp:2592 msgid "SLA Material Profiles Selection" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2701 +#: src/slic3r/GUI/ConfigWizard.cpp:2709 msgid "Configuration Assistant" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2702 +#: src/slic3r/GUI/ConfigWizard.cpp:2710 msgid "Configuration &Assistant" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2704 +#: src/slic3r/GUI/ConfigWizard.cpp:2712 msgid "Configuration Wizard" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2705 +#: src/slic3r/GUI/ConfigWizard.cpp:2713 msgid "Configuration &Wizard" msgstr "" @@ -971,19 +971,19 @@ msgstr "" msgid "Place bearings in slots and resume printing" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1224 +#: src/slic3r/GUI/DoubleSlider.cpp:1244 msgid "One layer mode" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1226 +#: src/slic3r/GUI/DoubleSlider.cpp:1246 msgid "Discard all custom changes" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1230 src/slic3r/GUI/DoubleSlider.cpp:1995 +#: src/slic3r/GUI/DoubleSlider.cpp:1250 src/slic3r/GUI/DoubleSlider.cpp:2015 msgid "Jump to move" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1233 +#: src/slic3r/GUI/DoubleSlider.cpp:1253 #, possible-c-format msgid "" "Jump to height %s\n" @@ -991,48 +991,48 @@ msgid "" "or Set extruder sequence for the entire print" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1236 +#: src/slic3r/GUI/DoubleSlider.cpp:1256 #, possible-c-format msgid "" "Jump to height %s\n" "or Set ruler mode" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1241 +#: src/slic3r/GUI/DoubleSlider.cpp:1261 msgid "Edit current color - Right click the colored slider segment" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1251 +#: src/slic3r/GUI/DoubleSlider.cpp:1271 msgid "Print mode" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1265 +#: src/slic3r/GUI/DoubleSlider.cpp:1285 msgid "Add extruder change - Left click" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1267 +#: src/slic3r/GUI/DoubleSlider.cpp:1287 msgid "" "Add color change - Left click for predefined color or Shift + Left click for " "custom color selection" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1269 +#: src/slic3r/GUI/DoubleSlider.cpp:1289 msgid "Add color change - Left click" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1270 +#: src/slic3r/GUI/DoubleSlider.cpp:1290 msgid "or press \"+\" key" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1272 +#: src/slic3r/GUI/DoubleSlider.cpp:1292 msgid "Add another code - Ctrl + Left click" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1273 +#: src/slic3r/GUI/DoubleSlider.cpp:1293 msgid "Add another code - Right click" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1279 +#: src/slic3r/GUI/DoubleSlider.cpp:1299 msgid "" "The sequential print is on.\n" "It's impossible to apply any custom G-code for objects printing " @@ -1040,251 +1040,251 @@ msgid "" "This code won't be processed during G-code generation." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1288 +#: src/slic3r/GUI/DoubleSlider.cpp:1308 msgid "Color change (\"%1%\")" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1289 +#: src/slic3r/GUI/DoubleSlider.cpp:1309 msgid "Color change (\"%1%\") for Extruder %2%" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1291 +#: src/slic3r/GUI/DoubleSlider.cpp:1311 msgid "Pause print (\"%1%\")" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1293 +#: src/slic3r/GUI/DoubleSlider.cpp:1313 msgid "Custom template (\"%1%\")" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1295 +#: src/slic3r/GUI/DoubleSlider.cpp:1315 msgid "Extruder (tool) is changed to Extruder \"%1%\"" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1302 +#: src/slic3r/GUI/DoubleSlider.cpp:1322 msgid "Note" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1304 +#: src/slic3r/GUI/DoubleSlider.cpp:1324 msgid "" "G-code associated to this tick mark is in a conflict with print mode.\n" "Editing it will cause changes of Slider data." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1307 +#: src/slic3r/GUI/DoubleSlider.cpp:1327 msgid "" "There is a color change for extruder that won't be used till the end of " "print job.\n" "This code won't be processed during G-code generation." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1310 +#: src/slic3r/GUI/DoubleSlider.cpp:1330 msgid "" "There is an extruder change set to the same extruder.\n" "This code won't be processed during G-code generation." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1313 +#: src/slic3r/GUI/DoubleSlider.cpp:1333 msgid "" "There is a color change for extruder that has not been used before.\n" "Check your settings to avoid redundant color changes." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1318 +#: src/slic3r/GUI/DoubleSlider.cpp:1338 msgid "Delete tick mark - Left click or press \"-\" key" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1320 +#: src/slic3r/GUI/DoubleSlider.cpp:1340 msgid "Edit tick mark - Ctrl + Left click" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1321 +#: src/slic3r/GUI/DoubleSlider.cpp:1341 msgid "Edit tick mark - Right click" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1417 src/slic3r/GUI/DoubleSlider.cpp:1451 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1864 +#: src/slic3r/GUI/DoubleSlider.cpp:1437 src/slic3r/GUI/DoubleSlider.cpp:1471 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1868 #, possible-c-format msgid "Extruder %d" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1418 src/slic3r/GUI/GUI_ObjectList.cpp:1865 +#: src/slic3r/GUI/DoubleSlider.cpp:1438 src/slic3r/GUI/GUI_ObjectList.cpp:1869 msgid "active" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1427 +#: src/slic3r/GUI/DoubleSlider.cpp:1447 msgid "Switch code to Change extruder" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1427 src/slic3r/GUI/GUI_ObjectList.cpp:1832 +#: src/slic3r/GUI/DoubleSlider.cpp:1447 src/slic3r/GUI/GUI_ObjectList.cpp:1836 msgid "Change extruder" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1428 +#: src/slic3r/GUI/DoubleSlider.cpp:1448 msgid "Change extruder (N/A)" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1430 +#: src/slic3r/GUI/DoubleSlider.cpp:1450 msgid "Use another extruder" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1452 +#: src/slic3r/GUI/DoubleSlider.cpp:1472 msgid "used" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1460 +#: src/slic3r/GUI/DoubleSlider.cpp:1480 msgid "Switch code to Color change (%1%) for:" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1461 +#: src/slic3r/GUI/DoubleSlider.cpp:1481 msgid "Add color change (%1%) for:" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1797 +#: src/slic3r/GUI/DoubleSlider.cpp:1817 msgid "Add color change" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1808 +#: src/slic3r/GUI/DoubleSlider.cpp:1828 msgid "Add pause print" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1812 +#: src/slic3r/GUI/DoubleSlider.cpp:1832 msgid "Add custom template" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1815 +#: src/slic3r/GUI/DoubleSlider.cpp:1835 msgid "Add custom G-code" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1833 +#: src/slic3r/GUI/DoubleSlider.cpp:1853 msgid "Edit color" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1834 +#: src/slic3r/GUI/DoubleSlider.cpp:1854 msgid "Edit pause print message" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1835 +#: src/slic3r/GUI/DoubleSlider.cpp:1855 msgid "Edit custom G-code" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1841 +#: src/slic3r/GUI/DoubleSlider.cpp:1861 msgid "Delete color change" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1842 +#: src/slic3r/GUI/DoubleSlider.cpp:1862 msgid "Delete tool change" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1843 +#: src/slic3r/GUI/DoubleSlider.cpp:1863 msgid "Delete pause print" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1844 +#: src/slic3r/GUI/DoubleSlider.cpp:1864 msgid "Delete custom G-code" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1854 src/slic3r/GUI/DoubleSlider.cpp:1995 +#: src/slic3r/GUI/DoubleSlider.cpp:1874 src/slic3r/GUI/DoubleSlider.cpp:2015 msgid "Jump to height" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1859 +#: src/slic3r/GUI/DoubleSlider.cpp:1879 msgid "Hide ruler" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1863 +#: src/slic3r/GUI/DoubleSlider.cpp:1883 msgid "Show object height" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1863 +#: src/slic3r/GUI/DoubleSlider.cpp:1883 msgid "Show object height on the ruler" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1867 +#: src/slic3r/GUI/DoubleSlider.cpp:1887 msgid "Show estimated print time" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1867 +#: src/slic3r/GUI/DoubleSlider.cpp:1887 msgid "Show estimated print time on the ruler" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1871 +#: src/slic3r/GUI/DoubleSlider.cpp:1891 msgid "Ruler mode" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1871 +#: src/slic3r/GUI/DoubleSlider.cpp:1891 msgid "Set ruler mode" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1876 +#: src/slic3r/GUI/DoubleSlider.cpp:1896 msgid "Set extruder sequence for the entire print" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1962 +#: src/slic3r/GUI/DoubleSlider.cpp:1982 msgid "Enter custom G-code used on current layer" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1963 +#: src/slic3r/GUI/DoubleSlider.cpp:1983 msgid "Custom G-code on current layer (%1% mm)." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1978 +#: src/slic3r/GUI/DoubleSlider.cpp:1998 msgid "Enter short message shown on Printer display when a print is paused" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1979 +#: src/slic3r/GUI/DoubleSlider.cpp:1999 msgid "Message for pause print on current layer (%1% mm)." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1994 +#: src/slic3r/GUI/DoubleSlider.cpp:2014 msgid "Enter the move you want to jump to" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:1994 +#: src/slic3r/GUI/DoubleSlider.cpp:2014 msgid "Enter the height you want to jump to" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:2239 +#: src/slic3r/GUI/DoubleSlider.cpp:2259 msgid "The last color change data was saved for a single extruder printing." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:2240 src/slic3r/GUI/DoubleSlider.cpp:2255 +#: src/slic3r/GUI/DoubleSlider.cpp:2260 src/slic3r/GUI/DoubleSlider.cpp:2275 msgid "The last color change data was saved for a multi extruder printing." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:2242 +#: src/slic3r/GUI/DoubleSlider.cpp:2262 msgid "Your current changes will delete all saved color changes." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:2243 src/slic3r/GUI/DoubleSlider.cpp:2263 +#: src/slic3r/GUI/DoubleSlider.cpp:2263 src/slic3r/GUI/DoubleSlider.cpp:2283 msgid "Are you sure you want to continue?" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:2256 +#: src/slic3r/GUI/DoubleSlider.cpp:2276 msgid "" "Select YES if you want to delete all saved tool changes, \n" "NO if you want all tool changes switch to color changes, \n" "or CANCEL to leave it unchanged." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:2259 +#: src/slic3r/GUI/DoubleSlider.cpp:2279 msgid "Do you want to delete all saved tool changes?" msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:2261 +#: src/slic3r/GUI/DoubleSlider.cpp:2281 msgid "" "The last color change data was saved for a multi extruder printing with tool " "changes for whole print." msgstr "" -#: src/slic3r/GUI/DoubleSlider.cpp:2262 +#: src/slic3r/GUI/DoubleSlider.cpp:2282 msgid "Your current changes will delete all saved extruder (tool) changes." msgstr "" #: src/slic3r/GUI/ExtraRenderers.cpp:297 src/slic3r/GUI/GUI_ObjectList.cpp:512 #: src/slic3r/GUI/GUI_ObjectList.cpp:524 src/slic3r/GUI/GUI_ObjectList.cpp:1033 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4582 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4592 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4627 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4588 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4598 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4633 #: src/slic3r/GUI/ObjectDataViewModel.cpp:209 #: src/slic3r/GUI/ObjectDataViewModel.cpp:266 #: src/slic3r/GUI/ObjectDataViewModel.cpp:291 @@ -1302,9 +1302,9 @@ msgstr "" #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:53 #: src/libslic3r/PrintConfig.cpp:418 src/libslic3r/PrintConfig.cpp:1089 -#: src/libslic3r/PrintConfig.cpp:1718 src/libslic3r/PrintConfig.cpp:1883 -#: src/libslic3r/PrintConfig.cpp:1950 src/libslic3r/PrintConfig.cpp:2157 -#: src/libslic3r/PrintConfig.cpp:2203 +#: src/libslic3r/PrintConfig.cpp:1720 src/libslic3r/PrintConfig.cpp:1885 +#: src/libslic3r/PrintConfig.cpp:1952 src/libslic3r/PrintConfig.cpp:2159 +#: src/libslic3r/PrintConfig.cpp:2205 msgid "layers" msgstr "" @@ -1339,7 +1339,7 @@ msgid "%s doesn't support percentage" msgstr "" #: src/slic3r/GUI/Field.cpp:253 src/slic3r/GUI/Field.cpp:307 -#: src/slic3r/GUI/Field.cpp:1520 src/slic3r/GUI/GUI_ObjectLayers.cpp:413 +#: src/slic3r/GUI/Field.cpp:1528 src/slic3r/GUI/GUI_ObjectLayers.cpp:413 msgid "Invalid numeric input." msgstr "" @@ -1355,7 +1355,7 @@ msgid "Parameter validation" msgstr "" #: src/slic3r/GUI/Field.cpp:279 src/slic3r/GUI/Field.cpp:373 -#: src/slic3r/GUI/Field.cpp:1532 +#: src/slic3r/GUI/Field.cpp:1540 msgid "Input value is out of range" msgstr "" @@ -1446,8 +1446,8 @@ msgid "Firmware image:" msgstr "" #: src/slic3r/GUI/FirmwareDialog.cpp:805 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:289 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:364 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:291 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:366 msgid "Browse" msgstr "" @@ -1481,7 +1481,7 @@ msgstr "" #: src/slic3r/GUI/FirmwareDialog.cpp:852 #: src/slic3r/GUI/Mouse3DController.cpp:551 -#: src/slic3r/GUI/PrintHostDialogs.cpp:189 +#: src/slic3r/GUI/PrintHostDialogs.cpp:200 msgid "Close" msgstr "" @@ -1499,222 +1499,223 @@ msgstr "" msgid "Cancelling..." msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:239 +#: src/slic3r/GUI/GCodeViewer.cpp:306 msgid "Tool position" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:1016 +#: src/slic3r/GUI/GCodeViewer.cpp:1499 src/slic3r/GUI/GCodeViewer.cpp:2035 msgid "Generating toolpaths" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:1405 +#: src/slic3r/GUI/GCodeViewer.cpp:1537 src/slic3r/GUI/GCodeViewer.cpp:2419 msgid "Generating vertex buffer" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:1496 +#: src/slic3r/GUI/GCodeViewer.cpp:1814 src/slic3r/GUI/GCodeViewer.cpp:2507 msgid "Generating index buffers" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2225 +#: src/slic3r/GUI/GCodeViewer.cpp:3874 msgid "Click to hide" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2225 +#: src/slic3r/GUI/GCodeViewer.cpp:3874 msgid "Click to show" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2337 +#: src/slic3r/GUI/GCodeViewer.cpp:3986 msgid "up to" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2343 +#: src/slic3r/GUI/GCodeViewer.cpp:3992 msgid "above" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2351 +#: src/slic3r/GUI/GCodeViewer.cpp:4000 msgid "from" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2351 +#: src/slic3r/GUI/GCodeViewer.cpp:4000 msgid "to" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2379 src/slic3r/GUI/GCodeViewer.cpp:2387 -#: src/slic3r/GUI/GUI_Preview.cpp:214 src/slic3r/GUI/GUI_Preview.cpp:533 -#: src/slic3r/GUI/GUI_Preview.cpp:942 +#: src/slic3r/GUI/GCodeViewer.cpp:4028 src/slic3r/GUI/GCodeViewer.cpp:4036 +#: src/slic3r/GUI/GUI_Preview.cpp:214 src/slic3r/GUI/GUI_Preview.cpp:539 +#: src/slic3r/GUI/GUI_Preview.cpp:948 msgid "Feature type" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2379 src/slic3r/GUI/GCodeViewer.cpp:2387 +#: src/slic3r/GUI/GCodeViewer.cpp:4028 src/slic3r/GUI/GCodeViewer.cpp:4036 #: src/slic3r/GUI/RammingChart.cpp:76 msgid "Time" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2387 +#: src/slic3r/GUI/GCodeViewer.cpp:4036 msgid "Percentage" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2390 +#: src/slic3r/GUI/GCodeViewer.cpp:4039 msgid "Height (mm)" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2391 +#: src/slic3r/GUI/GCodeViewer.cpp:4040 msgid "Width (mm)" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2392 +#: src/slic3r/GUI/GCodeViewer.cpp:4041 msgid "Speed (mm/s)" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2393 +#: src/slic3r/GUI/GCodeViewer.cpp:4042 msgid "Fan Speed (%)" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2394 +#: src/slic3r/GUI/GCodeViewer.cpp:4043 msgid "Volumetric flow rate (mm³/s)" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2395 src/slic3r/GUI/GUI_Preview.cpp:220 -#: src/slic3r/GUI/GUI_Preview.cpp:326 src/slic3r/GUI/GUI_Preview.cpp:471 -#: src/slic3r/GUI/GUI_Preview.cpp:532 src/slic3r/GUI/GUI_Preview.cpp:878 -#: src/slic3r/GUI/GUI_Preview.cpp:942 +#: src/slic3r/GUI/GCodeViewer.cpp:4044 src/slic3r/GUI/GUI_Preview.cpp:220 +#: src/slic3r/GUI/GUI_Preview.cpp:326 src/slic3r/GUI/GUI_Preview.cpp:477 +#: src/slic3r/GUI/GUI_Preview.cpp:538 src/slic3r/GUI/GUI_Preview.cpp:884 +#: src/slic3r/GUI/GUI_Preview.cpp:948 msgid "Tool" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2396 src/slic3r/GUI/GUI_Preview.cpp:221 -#: src/slic3r/GUI/GUI_Preview.cpp:530 src/slic3r/GUI/GUI_Preview.cpp:941 +#: src/slic3r/GUI/GCodeViewer.cpp:4045 src/slic3r/GUI/GUI_Preview.cpp:221 +#: src/slic3r/GUI/GUI_Preview.cpp:536 src/slic3r/GUI/GUI_Preview.cpp:947 msgid "Color Print" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2432 src/slic3r/GUI/GCodeViewer.cpp:2467 -#: src/slic3r/GUI/GCodeViewer.cpp:2472 src/slic3r/GUI/GUI_ObjectList.cpp:312 +#: src/slic3r/GUI/GCodeViewer.cpp:4082 src/slic3r/GUI/GCodeViewer.cpp:4117 +#: src/slic3r/GUI/GCodeViewer.cpp:4122 src/slic3r/GUI/GUI_ObjectList.cpp:312 #: src/slic3r/GUI/wxExtensions.cpp:519 src/libslic3r/PrintConfig.cpp:547 msgid "Extruder" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2443 +#: src/slic3r/GUI/GCodeViewer.cpp:4093 msgid "Default color" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2467 +#: src/slic3r/GUI/GCodeViewer.cpp:4117 msgid "default color" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2562 src/slic3r/GUI/GCodeViewer.cpp:2608 +#: src/slic3r/GUI/GCodeViewer.cpp:4212 src/slic3r/GUI/GCodeViewer.cpp:4258 msgid "Color change" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2581 src/slic3r/GUI/GCodeViewer.cpp:2606 +#: src/slic3r/GUI/GCodeViewer.cpp:4231 src/slic3r/GUI/GCodeViewer.cpp:4256 msgid "Print" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2607 src/slic3r/GUI/GCodeViewer.cpp:2624 +#: src/slic3r/GUI/GCodeViewer.cpp:4257 src/slic3r/GUI/GCodeViewer.cpp:4274 msgid "Pause" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2612 src/slic3r/GUI/GCodeViewer.cpp:2615 +#: src/slic3r/GUI/GCodeViewer.cpp:4262 src/slic3r/GUI/GCodeViewer.cpp:4265 msgid "Event" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2612 src/slic3r/GUI/GCodeViewer.cpp:2615 +#: src/slic3r/GUI/GCodeViewer.cpp:4262 src/slic3r/GUI/GCodeViewer.cpp:4265 msgid "Remaining time" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2615 +#: src/slic3r/GUI/GCodeViewer.cpp:4265 msgid "Duration" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2650 src/slic3r/GUI/GUI_Preview.cpp:1023 -#: src/libslic3r/PrintConfig.cpp:2380 +#: src/slic3r/GUI/GCodeViewer.cpp:4300 src/slic3r/GUI/GUI_Preview.cpp:1029 +#: src/libslic3r/PrintConfig.cpp:2382 msgid "Travel" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2653 +#: src/slic3r/GUI/GCodeViewer.cpp:4303 msgid "Movement" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2654 +#: src/slic3r/GUI/GCodeViewer.cpp:4304 msgid "Extrusion" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2655 src/slic3r/GUI/Tab.cpp:1694 -#: src/slic3r/GUI/Tab.cpp:2582 +#: src/slic3r/GUI/GCodeViewer.cpp:4305 src/slic3r/GUI/Tab.cpp:1701 +#: src/slic3r/GUI/Tab.cpp:2589 msgid "Retraction" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2672 src/slic3r/GUI/GCodeViewer.cpp:2675 -#: src/slic3r/GUI/GUI_Preview.cpp:1024 +#: src/slic3r/GUI/GCodeViewer.cpp:4322 src/slic3r/GUI/GCodeViewer.cpp:4325 +#: src/slic3r/GUI/GUI_Preview.cpp:1030 msgid "Wipe" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2706 src/slic3r/GUI/GUI_Preview.cpp:248 +#: src/slic3r/GUI/GCodeViewer.cpp:4356 src/slic3r/GUI/GUI_Preview.cpp:248 #: src/slic3r/GUI/GUI_Preview.cpp:262 msgid "Options" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2709 src/slic3r/GUI/GUI_Preview.cpp:1025 +#: src/slic3r/GUI/GCodeViewer.cpp:4359 src/slic3r/GUI/GUI_Preview.cpp:1031 msgid "Retractions" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2710 src/slic3r/GUI/GUI_Preview.cpp:1026 +#: src/slic3r/GUI/GCodeViewer.cpp:4360 src/slic3r/GUI/GUI_Preview.cpp:1032 msgid "Deretractions" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2711 src/slic3r/GUI/GUI_Preview.cpp:1027 +#: src/slic3r/GUI/GCodeViewer.cpp:4361 src/slic3r/GUI/GUI_Preview.cpp:1033 msgid "Tool changes" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2712 src/slic3r/GUI/GUI_Preview.cpp:1028 +#: src/slic3r/GUI/GCodeViewer.cpp:4362 src/slic3r/GUI/GUI_Preview.cpp:1034 msgid "Color changes" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2713 src/slic3r/GUI/GUI_Preview.cpp:1029 +#: src/slic3r/GUI/GCodeViewer.cpp:4363 src/slic3r/GUI/GUI_Preview.cpp:1035 msgid "Print pauses" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2714 src/slic3r/GUI/GUI_Preview.cpp:1030 +#: src/slic3r/GUI/GCodeViewer.cpp:4364 src/slic3r/GUI/GUI_Preview.cpp:1036 msgid "Custom G-codes" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2725 src/slic3r/GUI/GCodeViewer.cpp:2749 -#: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/PrintConfig.cpp:117 +#: src/slic3r/GUI/GCodeViewer.cpp:4375 src/slic3r/GUI/GCodeViewer.cpp:4399 +#: src/slic3r/GUI/GUI.cpp:319 src/slic3r/GUI/Plater.cpp:698 +#: src/libslic3r/PrintConfig.cpp:117 msgid "Printer" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2727 src/slic3r/GUI/GCodeViewer.cpp:2754 -#: src/slic3r/GUI/Plater.cpp:693 +#: src/slic3r/GUI/GCodeViewer.cpp:4377 src/slic3r/GUI/GCodeViewer.cpp:4404 +#: src/slic3r/GUI/GUI.cpp:315 src/slic3r/GUI/Plater.cpp:694 msgid "Print settings" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2730 src/slic3r/GUI/GCodeViewer.cpp:2760 -#: src/slic3r/GUI/Plater.cpp:694 src/slic3r/GUI/Tab.cpp:1794 -#: src/slic3r/GUI/Tab.cpp:1795 +#: src/slic3r/GUI/GCodeViewer.cpp:4380 src/slic3r/GUI/GCodeViewer.cpp:4410 +#: src/slic3r/GUI/GUI.cpp:317 src/slic3r/GUI/Plater.cpp:695 +#: src/slic3r/GUI/Tab.cpp:1801 src/slic3r/GUI/Tab.cpp:1802 msgid "Filament" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2785 src/slic3r/GUI/GCodeViewer.cpp:2790 -#: src/slic3r/GUI/Plater.cpp:242 src/slic3r/GUI/Plater.cpp:1135 -#: src/slic3r/GUI/Plater.cpp:1220 +#: src/slic3r/GUI/GCodeViewer.cpp:4435 src/slic3r/GUI/GCodeViewer.cpp:4440 +#: src/slic3r/GUI/Plater.cpp:243 src/slic3r/GUI/Plater.cpp:1136 +#: src/slic3r/GUI/Plater.cpp:1221 msgid "Estimated printing time" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2785 +#: src/slic3r/GUI/GCodeViewer.cpp:4435 msgid "Normal mode" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2790 +#: src/slic3r/GUI/GCodeViewer.cpp:4440 msgid "Stealth mode" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2817 +#: src/slic3r/GUI/GCodeViewer.cpp:4468 msgid "Show stealth mode" msgstr "" -#: src/slic3r/GUI/GCodeViewer.cpp:2821 +#: src/slic3r/GUI/GCodeViewer.cpp:4472 msgid "Show normal mode" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:236 src/slic3r/GUI/GLCanvas3D.cpp:4610 +#: src/slic3r/GUI/GLCanvas3D.cpp:236 src/slic3r/GUI/GLCanvas3D.cpp:4619 msgid "Variable layer height" msgstr "" @@ -1782,7 +1783,7 @@ msgstr "" msgid "Keep min" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:304 src/slic3r/GUI/GLCanvas3D.cpp:4050 +#: src/slic3r/GUI/GLCanvas3D.cpp:304 src/slic3r/GUI/GLCanvas3D.cpp:4055 msgid "Reset" msgstr "" @@ -1842,163 +1843,163 @@ msgstr "" msgid "Gizmo-Rotate" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3388 +#: src/slic3r/GUI/GLCanvas3D.cpp:3389 msgid "Move Object" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3858 src/slic3r/GUI/GLCanvas3D.cpp:4571 +#: src/slic3r/GUI/GLCanvas3D.cpp:3859 src/slic3r/GUI/GLCanvas3D.cpp:4580 msgid "Switch to Settings" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3859 src/slic3r/GUI/GLCanvas3D.cpp:4571 +#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4580 msgid "Print Settings Tab" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4572 +#: src/slic3r/GUI/GLCanvas3D.cpp:3861 src/slic3r/GUI/GLCanvas3D.cpp:4581 msgid "Filament Settings Tab" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4572 +#: src/slic3r/GUI/GLCanvas3D.cpp:3861 src/slic3r/GUI/GLCanvas3D.cpp:4581 msgid "Material Settings Tab" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3861 src/slic3r/GUI/GLCanvas3D.cpp:4573 +#: src/slic3r/GUI/GLCanvas3D.cpp:3862 src/slic3r/GUI/GLCanvas3D.cpp:4582 msgid "Printer Settings Tab" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3909 +#: src/slic3r/GUI/GLCanvas3D.cpp:3914 msgid "Undo History" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3909 +#: src/slic3r/GUI/GLCanvas3D.cpp:3914 msgid "Redo History" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3930 +#: src/slic3r/GUI/GLCanvas3D.cpp:3935 #, possible-c-format msgid "Undo %1$d Action" msgid_plural "Undo %1$d Actions" msgstr[0] "" msgstr[1] "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3930 +#: src/slic3r/GUI/GLCanvas3D.cpp:3935 #, possible-c-format msgid "Redo %1$d Action" msgid_plural "Redo %1$d Actions" msgstr[0] "" msgstr[1] "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3950 src/slic3r/GUI/GLCanvas3D.cpp:4589 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:98 src/slic3r/GUI/Search.cpp:351 +#: src/slic3r/GUI/GLCanvas3D.cpp:3955 src/slic3r/GUI/GLCanvas3D.cpp:4598 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:98 src/slic3r/GUI/Search.cpp:348 msgid "Search" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:3964 src/slic3r/GUI/GLCanvas3D.cpp:3972 -#: src/slic3r/GUI/Search.cpp:358 +#: src/slic3r/GUI/GLCanvas3D.cpp:3969 src/slic3r/GUI/GLCanvas3D.cpp:3977 +#: src/slic3r/GUI/Search.cpp:355 msgid "Enter a search term" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4003 +#: src/slic3r/GUI/GLCanvas3D.cpp:4008 msgid "Arrange options" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4033 +#: src/slic3r/GUI/GLCanvas3D.cpp:4038 msgid "Press %1%left mouse button to enter the exact value" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4035 +#: src/slic3r/GUI/GLCanvas3D.cpp:4040 msgid "Spacing" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4042 +#: src/slic3r/GUI/GLCanvas3D.cpp:4047 msgid "Enable rotations (slow)" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4060 src/slic3r/GUI/GLCanvas3D.cpp:4481 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 src/slic3r/GUI/Plater.cpp:1648 +#: src/slic3r/GUI/GLCanvas3D.cpp:4065 src/slic3r/GUI/GLCanvas3D.cpp:4490 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 src/slic3r/GUI/Plater.cpp:1649 msgid "Arrange" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4455 +#: src/slic3r/GUI/GLCanvas3D.cpp:4464 msgid "Add..." msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4463 src/slic3r/GUI/GUI_ObjectList.cpp:1878 -#: src/slic3r/GUI/Plater.cpp:3998 src/slic3r/GUI/Plater.cpp:4022 -#: src/slic3r/GUI/Tab.cpp:3484 +#: src/slic3r/GUI/GLCanvas3D.cpp:4472 src/slic3r/GUI/GUI_ObjectList.cpp:1882 +#: src/slic3r/GUI/Plater.cpp:4015 src/slic3r/GUI/Plater.cpp:4039 +#: src/slic3r/GUI/Tab.cpp:3491 msgid "Delete" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4472 src/slic3r/GUI/KBShortcutsDialog.cpp:88 -#: src/slic3r/GUI/Plater.cpp:5107 +#: src/slic3r/GUI/GLCanvas3D.cpp:4481 src/slic3r/GUI/KBShortcutsDialog.cpp:88 +#: src/slic3r/GUI/Plater.cpp:5128 msgid "Delete all" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4481 src/slic3r/GUI/KBShortcutsDialog.cpp:121 +#: src/slic3r/GUI/GLCanvas3D.cpp:4490 src/slic3r/GUI/KBShortcutsDialog.cpp:121 msgid "Arrange selection" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4481 +#: src/slic3r/GUI/GLCanvas3D.cpp:4490 msgid "Click right mouse button to show arrangement options" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4503 +#: src/slic3r/GUI/GLCanvas3D.cpp:4512 msgid "Copy" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4512 +#: src/slic3r/GUI/GLCanvas3D.cpp:4521 msgid "Paste" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4524 src/slic3r/GUI/Plater.cpp:3857 -#: src/slic3r/GUI/Plater.cpp:3869 src/slic3r/GUI/Plater.cpp:4007 +#: src/slic3r/GUI/GLCanvas3D.cpp:4533 src/slic3r/GUI/Plater.cpp:3874 +#: src/slic3r/GUI/Plater.cpp:3886 src/slic3r/GUI/Plater.cpp:4024 msgid "Add instance" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4535 src/slic3r/GUI/Plater.cpp:4009 +#: src/slic3r/GUI/GLCanvas3D.cpp:4544 src/slic3r/GUI/Plater.cpp:4026 msgid "Remove instance" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4548 +#: src/slic3r/GUI/GLCanvas3D.cpp:4557 msgid "Split to objects" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4558 src/slic3r/GUI/GUI_ObjectList.cpp:1650 +#: src/slic3r/GUI/GLCanvas3D.cpp:4567 src/slic3r/GUI/GUI_ObjectList.cpp:1654 msgid "Split to parts" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4660 src/slic3r/GUI/KBShortcutsDialog.cpp:89 +#: src/slic3r/GUI/GLCanvas3D.cpp:4669 src/slic3r/GUI/KBShortcutsDialog.cpp:89 #: src/slic3r/GUI/MainFrame.cpp:1125 msgid "Undo" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4660 src/slic3r/GUI/GLCanvas3D.cpp:4699 +#: src/slic3r/GUI/GLCanvas3D.cpp:4669 src/slic3r/GUI/GLCanvas3D.cpp:4708 msgid "Click right mouse button to open/close History" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4683 +#: src/slic3r/GUI/GLCanvas3D.cpp:4692 msgid "Next Undo action: %1%" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4699 src/slic3r/GUI/KBShortcutsDialog.cpp:90 +#: src/slic3r/GUI/GLCanvas3D.cpp:4708 src/slic3r/GUI/KBShortcutsDialog.cpp:90 #: src/slic3r/GUI/MainFrame.cpp:1128 msgid "Redo" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:4721 +#: src/slic3r/GUI/GLCanvas3D.cpp:4730 msgid "Next Redo action: %1%" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:6345 +#: src/slic3r/GUI/GLCanvas3D.cpp:6354 msgid "Selection-Add from rectangle" msgstr "" -#: src/slic3r/GUI/GLCanvas3D.cpp:6364 +#: src/slic3r/GUI/GLCanvas3D.cpp:6373 msgid "Selection-Remove from rectangle" msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:54 -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:151 src/libslic3r/PrintConfig.cpp:3690 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:151 src/libslic3r/PrintConfig.cpp:3694 msgid "Cut" msgstr "" @@ -2097,7 +2098,7 @@ msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:54 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:37 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 msgid "Sphere" msgstr "" @@ -2176,7 +2177,7 @@ msgid "Quality" msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:44 -#: src/libslic3r/PrintConfig.cpp:3183 +#: src/libslic3r/PrintConfig.cpp:3185 msgid "Closing distance" msgstr "" @@ -2232,7 +2233,7 @@ msgstr "" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:527 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:546 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:562 -#: src/libslic3r/PrintConfig.cpp:3739 +#: src/libslic3r/PrintConfig.cpp:3743 msgid "Rotate" msgstr "" @@ -2240,7 +2241,7 @@ msgstr "" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:238 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:547 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:563 -#: src/libslic3r/PrintConfig.cpp:3754 +#: src/libslic3r/PrintConfig.cpp:3758 msgid "Scale" msgstr "" @@ -2290,7 +2291,7 @@ msgid "Minimal points distance" msgstr "" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:54 -#: src/libslic3r/PrintConfig.cpp:3013 +#: src/libslic3r/PrintConfig.cpp:3015 msgid "Support points density" msgstr "" @@ -2355,9 +2356,9 @@ msgstr "" msgid "Are you sure you want to do it?" msgstr "" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:256 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:557 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:581 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:257 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:621 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:645 #: src/slic3r/GUI/WipeTowerDialog.cpp:45 src/slic3r/GUI/WipeTowerDialog.cpp:366 msgid "Warning" msgstr "" @@ -2466,21 +2467,49 @@ msgstr "" msgid "Add supports" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:239 +#: src/slic3r/GUI/GUI.cpp:295 src/slic3r/GUI/UnsavedChangesDialog.cpp:149 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 +msgid "Undef" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:304 +msgid "new unknown value %1% was changed to default value %2%" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:316 src/slic3r/GUI/Plater.cpp:696 +msgid "SLA print settings" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:332 +msgid "" +"Loading profiles found following incompatibilities:%1% To recover these " +"files, incompatible values were changed to default values.\n" +" But data in files won't be changed until you save them in PrusaSlicer." +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:349 +msgid "" +"Loading %1% file found incompatibilities.\n" +"To recover this file, incompatible values were changed to default values:" +"%2%But data in files won't be changed until you save them in PrusaSlicer." +msgstr "" + +#: src/slic3r/GUI/GUI_App.cpp:247 msgid "is based on Slic3r by Alessandro Ranellucci and the RepRap community." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:241 +#: src/slic3r/GUI/GUI_App.cpp:249 msgid "" "Contributions by Vojtech Bubnik, Enrico Turri, Oleksandra Iushchenko, Tamas " "Meszaros, Lukas Matena, Vojtech Kral, David Kocik and numerous others." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:242 +#: src/slic3r/GUI/GUI_App.cpp:250 msgid "Artwork model by Nora Al-Badri and Jan Nikolai Nelles" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:382 +#: src/slic3r/GUI/GUI_App.cpp:391 msgid "" "Starting with %1% 2.3, configuration directory on Linux has changed " "(according to XDG Base Directory Specification) to \n" @@ -2499,20 +2528,20 @@ msgid "" "What do you want to do now?" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:390 +#: src/slic3r/GUI/GUI_App.cpp:399 #, possible-c-format msgid "%s - BREAKING CHANGE" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:392 +#: src/slic3r/GUI/GUI_App.cpp:401 msgid "Quit, I will move my data now" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:392 +#: src/slic3r/GUI/GUI_App.cpp:401 msgid "Start the application" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:580 +#: src/slic3r/GUI/GUI_App.cpp:589 #, possible-c-format msgid "" "%s has encountered an error. It was likely caused by running out of memory. " @@ -2522,11 +2551,11 @@ msgid "" "The application will now terminate." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:583 +#: src/slic3r/GUI/GUI_App.cpp:592 msgid "Fatal error" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:587 +#: src/slic3r/GUI/GUI_App.cpp:596 msgid "" "PrusaSlicer has encountered a localization error. Please report to " "PrusaSlicer team, what language was active and in which scenario this issue " @@ -2535,256 +2564,256 @@ msgid "" "The application will now terminate." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:590 +#: src/slic3r/GUI/GUI_App.cpp:599 msgid "Critical error" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:711 +#: src/slic3r/GUI/GUI_App.cpp:747 msgid "" "Error parsing PrusaSlicer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error. Your user profiles will " "not be affected." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:717 +#: src/slic3r/GUI/GUI_App.cpp:753 msgid "" "Error parsing PrusaGCodeViewer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:771 +#: src/slic3r/GUI/GUI_App.cpp:807 #, possible-c-format msgid "" "%s\n" "Do you want to continue?" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:773 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 +#: src/slic3r/GUI/GUI_App.cpp:809 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 msgid "Remember my choice" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:808 +#: src/slic3r/GUI/GUI_App.cpp:844 msgid "Loading configuration" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:876 +#: src/slic3r/GUI/GUI_App.cpp:915 msgid "Preparing settings tabs" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1115 +#: src/slic3r/GUI/GUI_App.cpp:1132 msgid "" "You have the following presets with saved options for \"Print Host upload\"" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1119 +#: src/slic3r/GUI/GUI_App.cpp:1136 msgid "" "But since this version of PrusaSlicer we don't show this information in " "Printer Settings anymore.\n" "Settings will be available in physical printers settings." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1121 +#: src/slic3r/GUI/GUI_App.cpp:1138 msgid "" "By default new Printer devices will be named as \"Printer N\" during its " "creation.\n" "Note: This name can be changed later from the physical printers settings" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1124 src/slic3r/GUI/PhysicalPrinterDialog.cpp:626 +#: src/slic3r/GUI/GUI_App.cpp:1141 src/slic3r/GUI/PhysicalPrinterDialog.cpp:691 msgid "Information" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1137 src/slic3r/GUI/GUI_App.cpp:1148 +#: src/slic3r/GUI/GUI_App.cpp:1154 src/slic3r/GUI/GUI_App.cpp:1165 msgid "Recreating" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1153 +#: src/slic3r/GUI/GUI_App.cpp:1170 msgid "Loading of current presets" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1158 +#: src/slic3r/GUI/GUI_App.cpp:1175 msgid "Loading of a mode view" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1234 +#: src/slic3r/GUI/GUI_App.cpp:1251 msgid "Choose one file (3MF/AMF):" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1246 +#: src/slic3r/GUI/GUI_App.cpp:1263 msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1258 +#: src/slic3r/GUI/GUI_App.cpp:1275 msgid "Choose one file (GCODE/.GCO/.G/.ngc/NGC):" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1269 +#: src/slic3r/GUI/GUI_App.cpp:1286 msgid "Changing of an application language" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1392 +#: src/slic3r/GUI/GUI_App.cpp:1409 msgid "Select the language" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1392 +#: src/slic3r/GUI/GUI_App.cpp:1409 msgid "Language" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1541 +#: src/slic3r/GUI/GUI_App.cpp:1558 msgid "modified" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1590 +#: src/slic3r/GUI/GUI_App.cpp:1607 #, possible-c-format msgid "Run %s" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1594 +#: src/slic3r/GUI/GUI_App.cpp:1611 msgid "&Configuration Snapshots" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1594 +#: src/slic3r/GUI/GUI_App.cpp:1611 msgid "Inspect / activate configuration snapshots" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1595 +#: src/slic3r/GUI/GUI_App.cpp:1612 msgid "Take Configuration &Snapshot" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1595 +#: src/slic3r/GUI/GUI_App.cpp:1612 msgid "Capture a configuration snapshot" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1596 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "Check for updates" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1596 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "Check for configuration updates" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1599 +#: src/slic3r/GUI/GUI_App.cpp:1616 msgid "&Preferences" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1605 +#: src/slic3r/GUI/GUI_App.cpp:1622 msgid "Application preferences" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1610 src/slic3r/GUI/wxExtensions.cpp:685 +#: src/slic3r/GUI/GUI_App.cpp:1627 src/slic3r/GUI/wxExtensions.cpp:685 msgid "Simple" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1610 +#: src/slic3r/GUI/GUI_App.cpp:1627 msgid "Simple View Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1612 src/slic3r/GUI/wxExtensions.cpp:687 +#: src/slic3r/GUI/GUI_App.cpp:1629 src/slic3r/GUI/wxExtensions.cpp:687 msgctxt "Mode" msgid "Advanced" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1612 +#: src/slic3r/GUI/GUI_App.cpp:1629 msgid "Advanced View Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1613 src/slic3r/GUI/wxExtensions.cpp:688 +#: src/slic3r/GUI/GUI_App.cpp:1630 src/slic3r/GUI/wxExtensions.cpp:688 msgid "Expert" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1613 +#: src/slic3r/GUI/GUI_App.cpp:1630 msgid "Expert View Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1618 +#: src/slic3r/GUI/GUI_App.cpp:1635 msgid "Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1618 +#: src/slic3r/GUI/GUI_App.cpp:1635 #, possible-c-format msgid "%s View Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1621 +#: src/slic3r/GUI/GUI_App.cpp:1638 msgid "&Language" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1624 +#: src/slic3r/GUI/GUI_App.cpp:1641 msgid "Flash printer &firmware" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1624 +#: src/slic3r/GUI/GUI_App.cpp:1641 msgid "Upload a firmware image into an Arduino based printer" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1640 +#: src/slic3r/GUI/GUI_App.cpp:1657 msgid "Taking configuration snapshot" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1640 +#: src/slic3r/GUI/GUI_App.cpp:1657 msgid "Snapshot name" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1669 +#: src/slic3r/GUI/GUI_App.cpp:1695 msgid "Failed to activate configuration snapshot." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1719 +#: src/slic3r/GUI/GUI_App.cpp:1745 msgid "Language selection" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1721 +#: src/slic3r/GUI/GUI_App.cpp:1747 msgid "" "Switching the language will trigger application restart.\n" "You will lose content of the plater." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1723 +#: src/slic3r/GUI/GUI_App.cpp:1749 msgid "Do you want to proceed?" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1750 +#: src/slic3r/GUI/GUI_App.cpp:1776 msgid "&Configuration" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1781 +#: src/slic3r/GUI/GUI_App.cpp:1807 msgid "The preset(s) modifications are successfully saved" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1802 +#: src/slic3r/GUI/GUI_App.cpp:1828 msgid "The uploads are still ongoing" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1802 +#: src/slic3r/GUI/GUI_App.cpp:1828 msgid "Stop them and continue anyway?" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1805 +#: src/slic3r/GUI/GUI_App.cpp:1831 msgid "Ongoing uploads" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:2019 src/slic3r/GUI/Tab.cpp:3242 +#: src/slic3r/GUI/GUI_App.cpp:2059 src/slic3r/GUI/Tab.cpp:3249 msgid "It's impossible to print multi-part object(s) with SLA technology." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:2020 +#: src/slic3r/GUI/GUI_App.cpp:2060 msgid "Please check and fix your object list." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:2021 src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 -#: src/slic3r/GUI/Plater.cpp:2359 src/slic3r/GUI/Tab.cpp:3244 +#: src/slic3r/GUI/GUI_App.cpp:2061 src/slic3r/GUI/Jobs/SLAImportJob.cpp:212 +#: src/slic3r/GUI/Plater.cpp:2361 src/slic3r/GUI/Tab.cpp:3251 msgid "Attention!" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:2038 +#: src/slic3r/GUI/GUI_App.cpp:2078 msgid "Select a gcode file:" msgstr "" -#: src/slic3r/GUI/GUI_Init.cpp:73 src/slic3r/GUI/GUI_Init.cpp:76 +#: src/slic3r/GUI/GUI_Init.cpp:57 src/slic3r/GUI/GUI_Init.cpp:60 msgid "PrusaSlicer GUI initialization failed" msgstr "" -#: src/slic3r/GUI/GUI_Init.cpp:76 +#: src/slic3r/GUI/GUI_Init.cpp:60 msgid "Fatal error, exception catched: %1%" msgstr "" @@ -2810,33 +2839,33 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:240 src/libslic3r/PrintConfig.cpp:464 #: src/libslic3r/PrintConfig.cpp:530 src/libslic3r/PrintConfig.cpp:538 #: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1219 -#: src/libslic3r/PrintConfig.cpp:1584 src/libslic3r/PrintConfig.cpp:1650 -#: src/libslic3r/PrintConfig.cpp:1835 src/libslic3r/PrintConfig.cpp:2302 -#: src/libslic3r/PrintConfig.cpp:2361 src/libslic3r/PrintConfig.cpp:2370 +#: src/libslic3r/PrintConfig.cpp:1586 src/libslic3r/PrintConfig.cpp:1652 +#: src/libslic3r/PrintConfig.cpp:1837 src/libslic3r/PrintConfig.cpp:2304 +#: src/libslic3r/PrintConfig.cpp:2363 src/libslic3r/PrintConfig.cpp:2372 msgid "Layers and Perimeters" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/slic3r/GUI/GUI_ObjectList.cpp:95 #: src/slic3r/GUI/GUI_ObjectList.cpp:670 src/slic3r/GUI/GUI_Preview.cpp:240 -#: src/slic3r/GUI/Tab.cpp:1472 src/slic3r/GUI/Tab.cpp:1474 +#: src/slic3r/GUI/Tab.cpp:1479 src/slic3r/GUI/Tab.cpp:1481 #: src/libslic3r/ExtrusionEntity.cpp:320 src/libslic3r/ExtrusionEntity.cpp:352 -#: src/libslic3r/PrintConfig.cpp:426 src/libslic3r/PrintConfig.cpp:1715 -#: src/libslic3r/PrintConfig.cpp:2093 src/libslic3r/PrintConfig.cpp:2099 -#: src/libslic3r/PrintConfig.cpp:2107 src/libslic3r/PrintConfig.cpp:2119 -#: src/libslic3r/PrintConfig.cpp:2129 src/libslic3r/PrintConfig.cpp:2137 -#: src/libslic3r/PrintConfig.cpp:2152 src/libslic3r/PrintConfig.cpp:2173 -#: src/libslic3r/PrintConfig.cpp:2185 src/libslic3r/PrintConfig.cpp:2201 -#: src/libslic3r/PrintConfig.cpp:2210 src/libslic3r/PrintConfig.cpp:2219 -#: src/libslic3r/PrintConfig.cpp:2230 src/libslic3r/PrintConfig.cpp:2244 -#: src/libslic3r/PrintConfig.cpp:2252 src/libslic3r/PrintConfig.cpp:2253 -#: src/libslic3r/PrintConfig.cpp:2262 src/libslic3r/PrintConfig.cpp:2270 -#: src/libslic3r/PrintConfig.cpp:2284 +#: src/libslic3r/PrintConfig.cpp:426 src/libslic3r/PrintConfig.cpp:1717 +#: src/libslic3r/PrintConfig.cpp:2095 src/libslic3r/PrintConfig.cpp:2101 +#: src/libslic3r/PrintConfig.cpp:2109 src/libslic3r/PrintConfig.cpp:2121 +#: src/libslic3r/PrintConfig.cpp:2131 src/libslic3r/PrintConfig.cpp:2139 +#: src/libslic3r/PrintConfig.cpp:2154 src/libslic3r/PrintConfig.cpp:2175 +#: src/libslic3r/PrintConfig.cpp:2187 src/libslic3r/PrintConfig.cpp:2203 +#: src/libslic3r/PrintConfig.cpp:2212 src/libslic3r/PrintConfig.cpp:2221 +#: src/libslic3r/PrintConfig.cpp:2232 src/libslic3r/PrintConfig.cpp:2246 +#: src/libslic3r/PrintConfig.cpp:2254 src/libslic3r/PrintConfig.cpp:2255 +#: src/libslic3r/PrintConfig.cpp:2264 src/libslic3r/PrintConfig.cpp:2272 +#: src/libslic3r/PrintConfig.cpp:2286 msgid "Support material" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:39 src/slic3r/GUI/GUI_ObjectList.cpp:99 -#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/libslic3r/PrintConfig.cpp:2480 -#: src/libslic3r/PrintConfig.cpp:2488 +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/libslic3r/PrintConfig.cpp:2482 +#: src/libslic3r/PrintConfig.cpp:2490 msgid "Wipe options" msgstr "" @@ -2861,7 +2890,7 @@ msgid "Add support blocker" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:94 src/slic3r/GUI/GUI_ObjectList.cpp:669 -#: src/slic3r/GUI/GUI_Preview.cpp:236 src/slic3r/GUI/Tab.cpp:1442 +#: src/slic3r/GUI/GUI_Preview.cpp:236 src/slic3r/GUI/Tab.cpp:1449 #: src/libslic3r/ExtrusionEntity.cpp:316 src/libslic3r/ExtrusionEntity.cpp:344 #: src/libslic3r/PrintConfig.cpp:1226 src/libslic3r/PrintConfig.cpp:1232 #: src/libslic3r/PrintConfig.cpp:1246 src/libslic3r/PrintConfig.cpp:1256 @@ -2870,74 +2899,74 @@ msgid "Ironing" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:96 src/slic3r/GUI/GUI_ObjectList.cpp:671 -#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/Tab.cpp:1498 +#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/Tab.cpp:1505 #: src/libslic3r/PrintConfig.cpp:291 src/libslic3r/PrintConfig.cpp:518 #: src/libslic3r/PrintConfig.cpp:1012 src/libslic3r/PrintConfig.cpp:1192 -#: src/libslic3r/PrintConfig.cpp:1265 src/libslic3r/PrintConfig.cpp:1640 -#: src/libslic3r/PrintConfig.cpp:1916 src/libslic3r/PrintConfig.cpp:1968 -#: src/libslic3r/PrintConfig.cpp:2346 +#: src/libslic3r/PrintConfig.cpp:1265 src/libslic3r/PrintConfig.cpp:1642 +#: src/libslic3r/PrintConfig.cpp:1918 src/libslic3r/PrintConfig.cpp:1970 +#: src/libslic3r/PrintConfig.cpp:2348 msgid "Speed" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:97 src/slic3r/GUI/GUI_ObjectList.cpp:672 -#: src/slic3r/GUI/Tab.cpp:1534 src/slic3r/GUI/Tab.cpp:2112 +#: src/slic3r/GUI/Tab.cpp:1541 src/slic3r/GUI/Tab.cpp:2119 #: src/libslic3r/PrintConfig.cpp:548 src/libslic3r/PrintConfig.cpp:1146 -#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:1937 -#: src/libslic3r/PrintConfig.cpp:2165 src/libslic3r/PrintConfig.cpp:2192 +#: src/libslic3r/PrintConfig.cpp:1620 src/libslic3r/PrintConfig.cpp:1939 +#: src/libslic3r/PrintConfig.cpp:2167 src/libslic3r/PrintConfig.cpp:2194 msgid "Extruders" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:98 src/slic3r/GUI/GUI_ObjectList.cpp:673 #: src/libslic3r/PrintConfig.cpp:507 src/libslic3r/PrintConfig.cpp:616 #: src/libslic3r/PrintConfig.cpp:957 src/libslic3r/PrintConfig.cpp:1154 -#: src/libslic3r/PrintConfig.cpp:1627 src/libslic3r/PrintConfig.cpp:1957 -#: src/libslic3r/PrintConfig.cpp:2174 src/libslic3r/PrintConfig.cpp:2334 +#: src/libslic3r/PrintConfig.cpp:1629 src/libslic3r/PrintConfig.cpp:1959 +#: src/libslic3r/PrintConfig.cpp:2176 src/libslic3r/PrintConfig.cpp:2336 msgid "Extrusion Width" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:102 src/slic3r/GUI/GUI_ObjectList.cpp:677 -#: src/slic3r/GUI/Tab.cpp:1428 src/slic3r/GUI/Tab.cpp:1452 -#: src/slic3r/GUI/Tab.cpp:1555 src/slic3r/GUI/Tab.cpp:1558 -#: src/slic3r/GUI/Tab.cpp:1855 src/slic3r/GUI/Tab.cpp:2197 -#: src/slic3r/GUI/Tab.cpp:4114 src/libslic3r/PrintConfig.cpp:92 +#: src/slic3r/GUI/Tab.cpp:1435 src/slic3r/GUI/Tab.cpp:1459 +#: src/slic3r/GUI/Tab.cpp:1562 src/slic3r/GUI/Tab.cpp:1565 +#: src/slic3r/GUI/Tab.cpp:1862 src/slic3r/GUI/Tab.cpp:2204 +#: src/slic3r/GUI/Tab.cpp:4121 src/libslic3r/PrintConfig.cpp:92 #: src/libslic3r/PrintConfig.cpp:132 src/libslic3r/PrintConfig.cpp:279 #: src/libslic3r/PrintConfig.cpp:1097 src/libslic3r/PrintConfig.cpp:1181 -#: src/libslic3r/PrintConfig.cpp:2504 src/libslic3r/PrintConfig.cpp:2676 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2678 msgid "Advanced" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:104 src/slic3r/GUI/GUI_ObjectList.cpp:679 -#: src/slic3r/GUI/Plater.cpp:357 src/slic3r/GUI/Tab.cpp:4048 -#: src/slic3r/GUI/Tab.cpp:4049 src/libslic3r/PrintConfig.cpp:2842 -#: src/libslic3r/PrintConfig.cpp:2849 src/libslic3r/PrintConfig.cpp:2858 -#: src/libslic3r/PrintConfig.cpp:2867 src/libslic3r/PrintConfig.cpp:2877 -#: src/libslic3r/PrintConfig.cpp:2887 src/libslic3r/PrintConfig.cpp:2924 -#: src/libslic3r/PrintConfig.cpp:2931 src/libslic3r/PrintConfig.cpp:2942 -#: src/libslic3r/PrintConfig.cpp:2952 src/libslic3r/PrintConfig.cpp:2961 -#: src/libslic3r/PrintConfig.cpp:2974 src/libslic3r/PrintConfig.cpp:2984 -#: src/libslic3r/PrintConfig.cpp:2993 src/libslic3r/PrintConfig.cpp:3003 -#: src/libslic3r/PrintConfig.cpp:3014 src/libslic3r/PrintConfig.cpp:3022 +#: src/slic3r/GUI/Plater.cpp:358 src/slic3r/GUI/Tab.cpp:4055 +#: src/slic3r/GUI/Tab.cpp:4056 src/libslic3r/PrintConfig.cpp:2844 +#: src/libslic3r/PrintConfig.cpp:2851 src/libslic3r/PrintConfig.cpp:2860 +#: src/libslic3r/PrintConfig.cpp:2869 src/libslic3r/PrintConfig.cpp:2879 +#: src/libslic3r/PrintConfig.cpp:2889 src/libslic3r/PrintConfig.cpp:2926 +#: src/libslic3r/PrintConfig.cpp:2933 src/libslic3r/PrintConfig.cpp:2944 +#: src/libslic3r/PrintConfig.cpp:2954 src/libslic3r/PrintConfig.cpp:2963 +#: src/libslic3r/PrintConfig.cpp:2976 src/libslic3r/PrintConfig.cpp:2986 +#: src/libslic3r/PrintConfig.cpp:2995 src/libslic3r/PrintConfig.cpp:3005 +#: src/libslic3r/PrintConfig.cpp:3016 src/libslic3r/PrintConfig.cpp:3024 msgid "Supports" msgstr "" #: src/slic3r/GUI/GUI_ObjectList.cpp:105 src/slic3r/GUI/GUI_ObjectList.cpp:680 -#: src/slic3r/GUI/Plater.cpp:500 src/slic3r/GUI/Tab.cpp:4089 -#: src/slic3r/GUI/Tab.cpp:4090 src/slic3r/GUI/Tab.cpp:4161 -#: src/libslic3r/PrintConfig.cpp:3030 src/libslic3r/PrintConfig.cpp:3037 -#: src/libslic3r/PrintConfig.cpp:3051 src/libslic3r/PrintConfig.cpp:3062 -#: src/libslic3r/PrintConfig.cpp:3072 src/libslic3r/PrintConfig.cpp:3094 -#: src/libslic3r/PrintConfig.cpp:3105 src/libslic3r/PrintConfig.cpp:3112 -#: src/libslic3r/PrintConfig.cpp:3119 src/libslic3r/PrintConfig.cpp:3130 -#: src/libslic3r/PrintConfig.cpp:3139 src/libslic3r/PrintConfig.cpp:3148 +#: src/slic3r/GUI/Plater.cpp:501 src/slic3r/GUI/Tab.cpp:4096 +#: src/slic3r/GUI/Tab.cpp:4097 src/slic3r/GUI/Tab.cpp:4168 +#: src/libslic3r/PrintConfig.cpp:3032 src/libslic3r/PrintConfig.cpp:3039 +#: src/libslic3r/PrintConfig.cpp:3053 src/libslic3r/PrintConfig.cpp:3064 +#: src/libslic3r/PrintConfig.cpp:3074 src/libslic3r/PrintConfig.cpp:3096 +#: src/libslic3r/PrintConfig.cpp:3107 src/libslic3r/PrintConfig.cpp:3114 +#: src/libslic3r/PrintConfig.cpp:3121 src/libslic3r/PrintConfig.cpp:3132 +#: src/libslic3r/PrintConfig.cpp:3141 src/libslic3r/PrintConfig.cpp:3150 msgid "Pad" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:106 src/slic3r/GUI/Tab.cpp:4107 -#: src/slic3r/GUI/Tab.cpp:4108 src/libslic3r/SLA/Hollowing.cpp:45 +#: src/slic3r/GUI/GUI_ObjectList.cpp:106 src/slic3r/GUI/Tab.cpp:4114 +#: src/slic3r/GUI/Tab.cpp:4115 src/libslic3r/SLA/Hollowing.cpp:45 #: src/libslic3r/SLA/Hollowing.cpp:57 src/libslic3r/SLA/Hollowing.cpp:66 -#: src/libslic3r/SLA/Hollowing.cpp:75 src/libslic3r/PrintConfig.cpp:3158 -#: src/libslic3r/PrintConfig.cpp:3165 src/libslic3r/PrintConfig.cpp:3175 -#: src/libslic3r/PrintConfig.cpp:3184 +#: src/libslic3r/SLA/Hollowing.cpp:75 src/libslic3r/PrintConfig.cpp:3160 +#: src/libslic3r/PrintConfig.cpp:3167 src/libslic3r/PrintConfig.cpp:3177 +#: src/libslic3r/PrintConfig.cpp:3186 msgid "Hollowing" msgstr "" @@ -3011,281 +3040,281 @@ msgstr "" msgid "Rename Sub-object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1247 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4372 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1251 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4378 msgid "Instances to Separated Objects" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1262 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1266 msgid "Volumes in Object reordered" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1262 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1266 msgid "Object reordered" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1338 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1693 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1699 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2081 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1342 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1697 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1703 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2085 #, possible-c-format msgid "Quick Add Settings (%s)" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1428 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1432 msgid "Select showing settings" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1477 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1481 msgid "Add Settings for Layers" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1478 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1482 msgid "Add Settings for Sub-object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1479 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1483 msgid "Add Settings for Object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1549 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1553 msgid "Add Settings Bundle for Height range" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1550 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1554 msgid "Add Settings Bundle for Sub-object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1551 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1555 msgid "Add Settings Bundle for Object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1590 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1594 msgid "Load" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1627 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 #: src/slic3r/GUI/GUI_ObjectList.cpp:1631 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1635 msgid "Box" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 msgid "Cylinder" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 msgid "Slab" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1663 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1667 msgid "Height range Modifier" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1672 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1676 msgid "Add settings" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1750 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1754 msgid "Change type" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1760 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1772 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1764 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1776 msgid "Set as a Separated Object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1772 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1776 msgid "Set as a Separated Objects" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1782 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1786 msgid "Printable" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1797 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1801 msgid "Rename" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1808 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1812 msgid "Fix through the Netfabb" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1818 src/slic3r/GUI/Plater.cpp:4035 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1822 src/slic3r/GUI/Plater.cpp:4052 msgid "Export as STL" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1825 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4567 src/slic3r/GUI/Plater.cpp:4001 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1829 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4573 src/slic3r/GUI/Plater.cpp:4018 msgid "Reload the selected volumes from disk" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1832 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1836 msgid "Set extruder for selected items" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1864 src/libslic3r/PrintConfig.cpp:391 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1868 src/libslic3r/PrintConfig.cpp:391 msgid "Default" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1884 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1888 msgid "Scale to print volume" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1884 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1888 msgid "Scale the selected object to fit the print volume" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1913 src/slic3r/GUI/Plater.cpp:5224 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1917 src/slic3r/GUI/Plater.cpp:5245 msgid "Convert from imperial units" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1915 src/slic3r/GUI/Plater.cpp:5224 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1919 src/slic3r/GUI/Plater.cpp:5245 msgid "Revert conversion from imperial units" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1944 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1952 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2630 src/libslic3r/PrintConfig.cpp:3730 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1948 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1956 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2636 src/libslic3r/PrintConfig.cpp:3734 msgid "Merge" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1944 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1948 msgid "Merge objects to the one multipart object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1952 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1956 msgid "Merge objects to the one single object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2026 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2283 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2030 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2287 msgid "Add Shape" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2111 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2115 msgid "Load Part" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2150 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2154 msgid "Error!" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2225 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2229 msgid "Add Generic Subobject" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2254 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2258 msgid "Generic" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2380 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2384 msgid "Delete Settings" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2402 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2408 msgid "Delete All Instances from Object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2418 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2424 msgid "Delete Height Range" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2450 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2456 msgid "From Object List You can't delete the last solid part from object." msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2454 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2460 msgid "Delete Subobject" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2469 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2475 msgid "Last instance of an object cannot be deleted." msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2473 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2479 msgid "Delete Instance" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2497 src/slic3r/GUI/Plater.cpp:2865 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2503 src/slic3r/GUI/Plater.cpp:2873 msgid "" "The selected object couldn't be split because it contains only one part." msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2501 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2507 msgid "Split to Parts" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2637 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2643 msgid "Merged" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2721 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2727 msgid "Merge all parts to the one single object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2753 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2759 msgid "Add Layers" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2907 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2913 msgid "Group manipulation" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2919 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2925 msgid "Object manipulation" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2932 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2938 msgid "Object Settings to modify" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2936 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2942 msgid "Part Settings to modify" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2941 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2947 msgid "Layer range Settings to modify" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2947 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2953 msgid "Part manipulation" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2953 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2959 msgid "Instance manipulation" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2960 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2966 msgid "Height ranges" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2960 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2966 msgid "Settings for height range" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3144 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3150 msgid "Delete Selected Item" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3332 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3338 msgid "Delete Selected" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3408 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3436 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3456 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3414 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3442 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3462 msgid "Add Height Range" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3502 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3508 msgid "" "Cannot insert a new layer range after the current layer range.\n" "The next layer range is too thin to be split to two\n" "without violating the minimum layer height." msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3506 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3512 msgid "" "Cannot insert a new layer range between the current and the next layer " "range.\n" @@ -3293,122 +3322,122 @@ msgid "" "is thinner than the minimum layer height allowed." msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3511 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3517 msgid "" "Cannot insert a new layer range after the current layer range.\n" "Current layer range overlaps with the next layer range." msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3570 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3576 msgid "Edit Height Range" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3865 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3871 msgid "Selection-Remove from list" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3873 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3879 msgid "Selection-Add from list" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4008 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4014 msgid "Object or Instance" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4015 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4148 msgid "Part" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4015 msgid "Layer" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4011 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4017 msgid "Unsupported selection" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4012 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4018 #, possible-c-format msgid "You started your selection with %s Item." msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4013 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4019 #, possible-c-format msgid "In this mode you can select only other %s Items%s" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4016 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4022 msgid "of a current Object" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4021 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4096 src/slic3r/GUI/Plater.cpp:143 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4027 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4102 src/slic3r/GUI/Plater.cpp:144 msgid "Info" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4137 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4143 msgid "You can't change a type of the last solid part of the object." msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4148 msgid "Modifier" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4148 msgid "Support Enforcer" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4148 msgid "Support Blocker" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4144 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4150 msgid "Select type of part" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4149 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4155 msgid "Change Part Type" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4394 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4400 msgid "Enter new name" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4394 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4400 msgid "Renaming" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4410 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4537 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4416 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4543 #: src/slic3r/GUI/SavePresetDialog.cpp:101 #: src/slic3r/GUI/SavePresetDialog.cpp:109 msgid "The supplied name is not valid;" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4411 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4538 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4417 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4544 #: src/slic3r/GUI/SavePresetDialog.cpp:102 msgid "the following characters are not allowed:" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4586 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4592 msgid "Select extruder number:" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4587 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4593 msgid "This extruder will be set for selected items" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4612 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4618 msgid "Change Extruders" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4709 src/slic3r/GUI/Selection.cpp:1485 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4715 src/slic3r/GUI/Selection.cpp:1485 msgid "Set Printable" msgstr "" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4709 src/slic3r/GUI/Selection.cpp:1485 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4715 src/slic3r/GUI/Selection.cpp:1485 msgid "Set Unprintable" msgstr "" @@ -3539,11 +3568,11 @@ msgstr "" msgid "Height" msgstr "" -#: src/slic3r/GUI/GUI_Preview.cpp:216 src/libslic3r/PrintConfig.cpp:2466 +#: src/slic3r/GUI/GUI_Preview.cpp:216 src/libslic3r/PrintConfig.cpp:2468 msgid "Width" msgstr "" -#: src/slic3r/GUI/GUI_Preview.cpp:218 src/slic3r/GUI/Tab.cpp:1840 +#: src/slic3r/GUI/GUI_Preview.cpp:218 src/slic3r/GUI/Tab.cpp:1847 msgid "Fan speed" msgstr "" @@ -3580,14 +3609,14 @@ msgid "Internal infill" msgstr "" #: src/slic3r/GUI/GUI_Preview.cpp:234 src/libslic3r/ExtrusionEntity.cpp:314 -#: src/libslic3r/ExtrusionEntity.cpp:340 src/libslic3r/PrintConfig.cpp:1956 -#: src/libslic3r/PrintConfig.cpp:1967 +#: src/libslic3r/ExtrusionEntity.cpp:340 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:1969 msgid "Solid infill" msgstr "" #: src/slic3r/GUI/GUI_Preview.cpp:235 src/libslic3r/ExtrusionEntity.cpp:315 -#: src/libslic3r/ExtrusionEntity.cpp:342 src/libslic3r/PrintConfig.cpp:2333 -#: src/libslic3r/PrintConfig.cpp:2345 +#: src/libslic3r/ExtrusionEntity.cpp:342 src/libslic3r/PrintConfig.cpp:2335 +#: src/libslic3r/PrintConfig.cpp:2347 msgid "Top solid infill" msgstr "" @@ -3601,42 +3630,42 @@ msgstr "" msgid "Gap fill" msgstr "" -#: src/slic3r/GUI/GUI_Preview.cpp:239 src/slic3r/GUI/Tab.cpp:1462 +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/slic3r/GUI/Tab.cpp:1469 #: src/libslic3r/ExtrusionEntity.cpp:319 src/libslic3r/ExtrusionEntity.cpp:350 msgid "Skirt" msgstr "" #: src/slic3r/GUI/GUI_Preview.cpp:241 src/libslic3r/ExtrusionEntity.cpp:321 -#: src/libslic3r/ExtrusionEntity.cpp:354 src/libslic3r/PrintConfig.cpp:2218 +#: src/libslic3r/ExtrusionEntity.cpp:354 src/libslic3r/PrintConfig.cpp:2220 msgid "Support material interface" msgstr "" -#: src/slic3r/GUI/GUI_Preview.cpp:242 src/slic3r/GUI/Tab.cpp:1545 +#: src/slic3r/GUI/GUI_Preview.cpp:242 src/slic3r/GUI/Tab.cpp:1552 #: src/libslic3r/ExtrusionEntity.cpp:322 src/libslic3r/ExtrusionEntity.cpp:356 msgid "Wipe tower" msgstr "" -#: src/slic3r/GUI/GUI_Preview.cpp:1031 +#: src/slic3r/GUI/GUI_Preview.cpp:1037 msgid "Shells" msgstr "" -#: src/slic3r/GUI/GUI_Preview.cpp:1032 +#: src/slic3r/GUI/GUI_Preview.cpp:1038 msgid "Tool marker" msgstr "" -#: src/slic3r/GUI/GUI_Preview.cpp:1033 +#: src/slic3r/GUI/GUI_Preview.cpp:1039 msgid "Legend/Estimated printing time" msgstr "" -#: src/slic3r/GUI/ImGuiWrapper.cpp:804 src/slic3r/GUI/Search.cpp:389 +#: src/slic3r/GUI/ImGuiWrapper.cpp:804 src/slic3r/GUI/Search.cpp:386 msgid "Use for search" msgstr "" -#: src/slic3r/GUI/ImGuiWrapper.cpp:805 src/slic3r/GUI/Search.cpp:383 +#: src/slic3r/GUI/ImGuiWrapper.cpp:805 src/slic3r/GUI/Search.cpp:380 msgid "Category" msgstr "" -#: src/slic3r/GUI/ImGuiWrapper.cpp:807 src/slic3r/GUI/Search.cpp:385 +#: src/slic3r/GUI/ImGuiWrapper.cpp:807 src/slic3r/GUI/Search.cpp:382 msgid "Search in English" msgstr "" @@ -3704,24 +3733,24 @@ msgstr "" msgid "Quick" msgstr "" -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:135 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:136 msgid "Importing SLA archive" msgstr "" -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:159 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:160 msgid "Importing canceled." msgstr "" -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:160 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:161 msgid "Importing done." msgstr "" -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:208 src/slic3r/GUI/Plater.cpp:2357 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 src/slic3r/GUI/Plater.cpp:2359 msgid "You cannot load SLA project with a multi-part object on the bed" msgstr "" -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:209 src/slic3r/GUI/Plater.cpp:2358 -#: src/slic3r/GUI/Tab.cpp:3243 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:211 src/slic3r/GUI/Plater.cpp:2360 +#: src/slic3r/GUI/Tab.cpp:3250 msgid "Please check your object list before preset changing." msgstr "" @@ -3761,12 +3790,12 @@ msgstr "" msgid "Load Config from ini/amf/3mf/gcode and merge" msgstr "" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:79 src/slic3r/GUI/Plater.cpp:770 -#: src/slic3r/GUI/Plater.cpp:6054 src/libslic3r/PrintConfig.cpp:3635 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:79 src/slic3r/GUI/Plater.cpp:771 +#: src/slic3r/GUI/Plater.cpp:6074 src/libslic3r/PrintConfig.cpp:3639 msgid "Export G-code" msgstr "" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6055 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6075 msgid "Send G-code" msgstr "" @@ -3774,7 +3803,7 @@ msgstr "" msgid "Export config" msgstr "" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:82 src/slic3r/GUI/Plater.cpp:758 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:82 src/slic3r/GUI/Plater.cpp:759 msgid "Export to SD card / Flash drive" msgstr "" @@ -3833,7 +3862,7 @@ msgid "Switch to Preview" msgstr "" #: src/slic3r/GUI/KBShortcutsDialog.cpp:106 -#: src/slic3r/GUI/PrintHostDialogs.cpp:165 +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 msgid "Print host upload queue" msgstr "" @@ -4137,8 +4166,8 @@ msgstr "" msgid "Show/Hide Legend & Estimated printing time" msgstr "" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:215 src/slic3r/GUI/Plater.cpp:4200 -#: src/slic3r/GUI/Tab.cpp:2602 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:215 src/slic3r/GUI/Plater.cpp:4217 +#: src/slic3r/GUI/Tab.cpp:2609 msgid "Preview" msgstr "" @@ -4346,8 +4375,8 @@ msgstr "" #. TRN To be shown in the main menu View->Top #. TRN To be shown in Print Settings "Top solid layers" -#: src/slic3r/GUI/MainFrame.cpp:912 src/libslic3r/PrintConfig.cpp:2360 -#: src/libslic3r/PrintConfig.cpp:2369 +#: src/slic3r/GUI/MainFrame.cpp:912 src/libslic3r/PrintConfig.cpp:2362 +#: src/libslic3r/PrintConfig.cpp:2371 msgid "Top" msgstr "" @@ -4375,7 +4404,7 @@ msgstr "" msgid "Front View" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:919 src/libslic3r/PrintConfig.cpp:1845 +#: src/slic3r/GUI/MainFrame.cpp:919 src/libslic3r/PrintConfig.cpp:1847 msgid "Rear" msgstr "" @@ -4425,8 +4454,8 @@ msgid "" "Do you want to remove it from the recent projects list?" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:953 src/slic3r/GUI/MainFrame.cpp:1343 -#: src/slic3r/GUI/PrintHostDialogs.cpp:263 +#: src/slic3r/GUI/MainFrame.cpp:953 src/slic3r/GUI/MainFrame.cpp:1344 +#: src/slic3r/GUI/PrintHostDialogs.cpp:274 msgid "Error" msgstr "" @@ -4463,11 +4492,11 @@ msgid "Load an model saved with imperial units" msgstr "" #: src/slic3r/GUI/MainFrame.cpp:1000 -msgid "Import SL1 archive" +msgid "Import SL1 / SL1S archive" msgstr "" #: src/slic3r/GUI/MainFrame.cpp:1000 -msgid "Load an SL1 archive" +msgid "Load an SL1 / Sl1S archive" msgstr "" #: src/slic3r/GUI/MainFrame.cpp:1005 @@ -4780,7 +4809,7 @@ msgstr "" msgid "&Collapse sidebar" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1204 src/slic3r/GUI/Plater.cpp:2247 +#: src/slic3r/GUI/MainFrame.cpp:1204 src/slic3r/GUI/Plater.cpp:2248 msgid "Collapse sidebar" msgstr "" @@ -4824,92 +4853,92 @@ msgstr "" msgid "Mate&rial Settings Tab" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1331 +#: src/slic3r/GUI/MainFrame.cpp:1332 msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1342 +#: src/slic3r/GUI/MainFrame.cpp:1343 msgid "No previously sliced file." msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1348 +#: src/slic3r/GUI/MainFrame.cpp:1349 msgid "Previously sliced file (" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1348 +#: src/slic3r/GUI/MainFrame.cpp:1349 msgid ") not found." msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1349 +#: src/slic3r/GUI/MainFrame.cpp:1350 msgid "File Not Found" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1384 +#: src/slic3r/GUI/MainFrame.cpp:1385 #, possible-c-format msgid "Save %s file as:" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1384 +#: src/slic3r/GUI/MainFrame.cpp:1385 msgid "SVG" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1384 +#: src/slic3r/GUI/MainFrame.cpp:1385 msgid "G-code" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1396 +#: src/slic3r/GUI/MainFrame.cpp:1397 msgid "Save zip file as:" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1405 src/slic3r/GUI/Plater.cpp:3009 -#: src/slic3r/GUI/Plater.cpp:5581 src/slic3r/GUI/Tab.cpp:1575 -#: src/slic3r/GUI/Tab.cpp:4115 +#: src/slic3r/GUI/MainFrame.cpp:1406 src/slic3r/GUI/Plater.cpp:3017 +#: src/slic3r/GUI/Plater.cpp:5602 src/slic3r/GUI/Tab.cpp:1582 +#: src/slic3r/GUI/Tab.cpp:4122 msgid "Slicing" msgstr "" #. TRN "Processing input_file_basename" -#: src/slic3r/GUI/MainFrame.cpp:1407 +#: src/slic3r/GUI/MainFrame.cpp:1408 #, possible-c-format msgid "Processing %s" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1430 +#: src/slic3r/GUI/MainFrame.cpp:1431 msgid "%1% was successfully sliced." msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1432 +#: src/slic3r/GUI/MainFrame.cpp:1433 msgid "Slicing Done!" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1447 +#: src/slic3r/GUI/MainFrame.cpp:1449 msgid "Select the STL file to repair:" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1457 +#: src/slic3r/GUI/MainFrame.cpp:1459 msgid "Save OBJ file (less prone to coordinate errors than STL) as:" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1469 +#: src/slic3r/GUI/MainFrame.cpp:1471 msgid "Your file was repaired." msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1469 src/libslic3r/PrintConfig.cpp:3735 +#: src/slic3r/GUI/MainFrame.cpp:1471 src/libslic3r/PrintConfig.cpp:3739 msgid "Repair" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1483 +#: src/slic3r/GUI/MainFrame.cpp:1485 msgid "Save configuration as:" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1502 src/slic3r/GUI/MainFrame.cpp:1564 +#: src/slic3r/GUI/MainFrame.cpp:1504 src/slic3r/GUI/MainFrame.cpp:1568 msgid "Select configuration to load:" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1538 +#: src/slic3r/GUI/MainFrame.cpp:1542 msgid "Save presets bundle as:" msgstr "" -#: src/slic3r/GUI/MainFrame.cpp:1585 +#: src/slic3r/GUI/MainFrame.cpp:1595 #, possible-c-format msgid "%d presets successfully imported." msgstr "" @@ -4958,6 +4987,15 @@ msgstr "" msgid "%s has encountered an error" msgstr "" +#: src/slic3r/GUI/MsgDialog.cpp:114 +#, possible-c-format +msgid "%s information" +msgstr "" + +#: src/slic3r/GUI/MsgDialog.cpp:114 +msgid "Note that" +msgstr "" + #: src/slic3r/GUI/NotificationManager.hpp:471 msgid "3D Mouse disconnected." msgstr "" @@ -4985,41 +5023,41 @@ msgid "" "\"Printer Settings > Custom G-code\"" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:490 -#: src/slic3r/GUI/NotificationManager.cpp:500 +#: src/slic3r/GUI/NotificationManager.cpp:515 +#: src/slic3r/GUI/NotificationManager.cpp:523 msgid "More" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:864 -#: src/slic3r/GUI/NotificationManager.cpp:1141 +#: src/slic3r/GUI/NotificationManager.cpp:890 +#: src/slic3r/GUI/NotificationManager.cpp:1170 msgid "Export G-Code." msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:908 +#: src/slic3r/GUI/NotificationManager.cpp:936 msgid "Open Folder." msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:946 +#: src/slic3r/GUI/NotificationManager.cpp:975 msgid "Eject drive" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:1060 -#: src/slic3r/GUI/NotificationManager.cpp:1076 -#: src/slic3r/GUI/NotificationManager.cpp:1087 +#: src/slic3r/GUI/NotificationManager.cpp:1089 +#: src/slic3r/GUI/NotificationManager.cpp:1105 +#: src/slic3r/GUI/NotificationManager.cpp:1116 msgid "ERROR:" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:1065 -#: src/slic3r/GUI/NotificationManager.cpp:1080 -#: src/slic3r/GUI/NotificationManager.cpp:1095 +#: src/slic3r/GUI/NotificationManager.cpp:1094 +#: src/slic3r/GUI/NotificationManager.cpp:1109 +#: src/slic3r/GUI/NotificationManager.cpp:1124 msgid "WARNING:" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:1144 +#: src/slic3r/GUI/NotificationManager.cpp:1173 msgid "Slicing finished." msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:1186 +#: src/slic3r/GUI/NotificationManager.cpp:1215 msgid "Exporting finished." msgstr "" @@ -5033,8 +5071,8 @@ msgstr "" msgid "Instance %d" msgstr "" -#: src/slic3r/GUI/ObjectDataViewModel.cpp:69 src/slic3r/GUI/Tab.cpp:3962 -#: src/slic3r/GUI/Tab.cpp:4044 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:69 src/slic3r/GUI/Tab.cpp:3969 +#: src/slic3r/GUI/Tab.cpp:4051 msgid "Layers" msgstr "" @@ -5042,35 +5080,35 @@ msgstr "" msgid "Range" msgstr "" -#: src/slic3r/GUI/OpenGLManager.cpp:259 +#: src/slic3r/GUI/OpenGLManager.cpp:261 #, possible-c-format msgid "" "PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" "while OpenGL version %s, render %s, vendor %s was detected." msgstr "" -#: src/slic3r/GUI/OpenGLManager.cpp:262 +#: src/slic3r/GUI/OpenGLManager.cpp:264 msgid "You may need to update your graphics card driver." msgstr "" -#: src/slic3r/GUI/OpenGLManager.cpp:265 +#: src/slic3r/GUI/OpenGLManager.cpp:267 msgid "" "As a workaround, you may run PrusaSlicer with a software rendered 3D " "graphics by running prusa-slicer.exe with the --sw_renderer parameter." msgstr "" -#: src/slic3r/GUI/OpenGLManager.cpp:267 +#: src/slic3r/GUI/OpenGLManager.cpp:269 msgid "Unsupported OpenGL version" msgstr "" -#: src/slic3r/GUI/OpenGLManager.cpp:275 +#: src/slic3r/GUI/OpenGLManager.cpp:277 #, possible-c-format msgid "" "Unable to load the following shaders:\n" "%s" msgstr "" -#: src/slic3r/GUI/OpenGLManager.cpp:276 +#: src/slic3r/GUI/OpenGLManager.cpp:278 msgid "Error loading shaders" msgstr "" @@ -5088,743 +5126,743 @@ msgstr "" msgid "Delete this preset from this printer device" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:81 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:82 msgid "This printer will be shown in the presets list as" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:155 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:156 msgid "Physical Printer" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:161 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:163 msgid "Type here the name of your printer device" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:172 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:174 msgid "Descriptive name for the printer" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:176 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:178 msgid "Add preset for this printer device" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:205 src/slic3r/GUI/Tab.cpp:2064 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:207 src/slic3r/GUI/Tab.cpp:2071 msgid "Print Host upload" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:260 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:262 msgid "Connection to printers connected via the print host failed." msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:302 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:304 msgid "Test" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:307 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:309 msgid "Could not get a valid Printer Host reference" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:319 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:321 msgid "Success!" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:329 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:331 msgid "Refresh Printers" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:356 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:358 msgid "" "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" "signed certificate." msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:366 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:368 msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:367 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:369 msgid "Open CA certificate file" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:395 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:397 #: src/libslic3r/PrintConfig.cpp:124 msgid "HTTPS CA File" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:396 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:398 #, possible-c-format msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " "or Keychain." msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:397 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:399 msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:543 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:607 msgid "The supplied name is empty. It can't be saved." msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:547 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:611 msgid "You should change the name of your printer device." msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:555 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:619 msgid "Printer with name \"%1%\" already exists." msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:556 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:620 msgid "Replace?" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:579 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:643 msgid "" "Following printer preset(s) is duplicated:%1%The above preset for printer " "\"%2%\" will be used just once." msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:625 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:690 msgid "It's not possible to delete the last related preset for the printer." msgstr "" -#: src/slic3r/GUI/Plater.cpp:163 +#: src/slic3r/GUI/Plater.cpp:164 msgid "Volume" msgstr "" -#: src/slic3r/GUI/Plater.cpp:164 +#: src/slic3r/GUI/Plater.cpp:165 msgid "Facets" msgstr "" -#: src/slic3r/GUI/Plater.cpp:165 +#: src/slic3r/GUI/Plater.cpp:166 msgid "Materials" msgstr "" -#: src/slic3r/GUI/Plater.cpp:168 +#: src/slic3r/GUI/Plater.cpp:169 msgid "Manifold" msgstr "" -#: src/slic3r/GUI/Plater.cpp:218 +#: src/slic3r/GUI/Plater.cpp:219 msgid "Sliced Info" msgstr "" -#: src/slic3r/GUI/Plater.cpp:237 src/slic3r/GUI/Plater.cpp:1151 +#: src/slic3r/GUI/Plater.cpp:238 src/slic3r/GUI/Plater.cpp:1152 msgid "Used Filament (m)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:238 src/slic3r/GUI/Plater.cpp:1163 +#: src/slic3r/GUI/Plater.cpp:239 src/slic3r/GUI/Plater.cpp:1164 msgid "Used Filament (mm³)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:239 src/slic3r/GUI/Plater.cpp:1170 +#: src/slic3r/GUI/Plater.cpp:240 src/slic3r/GUI/Plater.cpp:1171 msgid "Used Filament (g)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:240 +#: src/slic3r/GUI/Plater.cpp:241 msgid "Used Material (unit)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:241 +#: src/slic3r/GUI/Plater.cpp:242 msgid "Cost (money)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:243 +#: src/slic3r/GUI/Plater.cpp:244 msgid "Number of tool changes" msgstr "" -#: src/slic3r/GUI/Plater.cpp:360 +#: src/slic3r/GUI/Plater.cpp:361 msgid "Select what kind of support do you need" msgstr "" -#: src/slic3r/GUI/Plater.cpp:362 src/libslic3r/PrintConfig.cpp:2128 -#: src/libslic3r/PrintConfig.cpp:2923 +#: src/slic3r/GUI/Plater.cpp:363 src/libslic3r/PrintConfig.cpp:2130 +#: src/libslic3r/PrintConfig.cpp:2925 msgid "Support on build plate only" msgstr "" -#: src/slic3r/GUI/Plater.cpp:363 src/slic3r/GUI/Plater.cpp:489 +#: src/slic3r/GUI/Plater.cpp:364 src/slic3r/GUI/Plater.cpp:490 msgid "For support enforcers only" msgstr "" -#: src/slic3r/GUI/Plater.cpp:364 +#: src/slic3r/GUI/Plater.cpp:365 msgid "Everywhere" msgstr "" -#: src/slic3r/GUI/Plater.cpp:396 src/slic3r/GUI/Tab.cpp:1469 +#: src/slic3r/GUI/Plater.cpp:397 src/slic3r/GUI/Tab.cpp:1476 msgid "Brim" msgstr "" -#: src/slic3r/GUI/Plater.cpp:398 +#: src/slic3r/GUI/Plater.cpp:399 msgid "" "This flag enables the brim that will be printed around each object on the " "first layer." msgstr "" -#: src/slic3r/GUI/Plater.cpp:406 +#: src/slic3r/GUI/Plater.cpp:407 msgid "Purging volumes" msgstr "" -#: src/slic3r/GUI/Plater.cpp:503 +#: src/slic3r/GUI/Plater.cpp:504 msgid "Select what kind of pad do you need" msgstr "" -#: src/slic3r/GUI/Plater.cpp:505 +#: src/slic3r/GUI/Plater.cpp:506 msgid "Below object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:506 +#: src/slic3r/GUI/Plater.cpp:507 msgid "Around object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:695 -msgid "SLA print settings" -msgstr "" - -#: src/slic3r/GUI/Plater.cpp:756 src/slic3r/GUI/Plater.cpp:6055 +#: src/slic3r/GUI/Plater.cpp:757 src/slic3r/GUI/Plater.cpp:6075 msgid "Send to printer" msgstr "" -#: src/slic3r/GUI/Plater.cpp:771 src/slic3r/GUI/Plater.cpp:3009 -#: src/slic3r/GUI/Plater.cpp:5584 +#: src/slic3r/GUI/Plater.cpp:772 src/slic3r/GUI/Plater.cpp:3017 +#: src/slic3r/GUI/Plater.cpp:5605 msgid "Slice now" msgstr "" -#: src/slic3r/GUI/Plater.cpp:926 +#: src/slic3r/GUI/Plater.cpp:927 msgid "Hold Shift to Slice & Export G-code" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1071 +#: src/slic3r/GUI/Plater.cpp:1072 #, possible-c-format msgid "%d (%d shells)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1076 +#: src/slic3r/GUI/Plater.cpp:1077 #, possible-c-format msgid "Auto-repaired (%d errors)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1079 +#: src/slic3r/GUI/Plater.cpp:1080 #, possible-c-format msgid "" "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " "facets reversed, %d backwards edges" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1089 +#: src/slic3r/GUI/Plater.cpp:1090 msgid "Yes" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1110 +#: src/slic3r/GUI/Plater.cpp:1111 msgid "Used Material (ml)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1113 +#: src/slic3r/GUI/Plater.cpp:1114 msgid "object(s)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1113 +#: src/slic3r/GUI/Plater.cpp:1114 msgid "supports and pad" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1151 +#: src/slic3r/GUI/Plater.cpp:1152 msgid "Used Filament (in)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1153 src/slic3r/GUI/Plater.cpp:1206 +#: src/slic3r/GUI/Plater.cpp:1154 src/slic3r/GUI/Plater.cpp:1207 msgid "objects" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1153 src/slic3r/GUI/Plater.cpp:1206 +#: src/slic3r/GUI/Plater.cpp:1154 src/slic3r/GUI/Plater.cpp:1207 msgid "wipe tower" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1163 +#: src/slic3r/GUI/Plater.cpp:1164 msgid "Used Filament (in³)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1189 +#: src/slic3r/GUI/Plater.cpp:1190 msgid "Filament at extruder %1%" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1195 +#: src/slic3r/GUI/Plater.cpp:1196 msgid "(including spool)" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1204 src/libslic3r/PrintConfig.cpp:822 -#: src/libslic3r/PrintConfig.cpp:2738 src/libslic3r/PrintConfig.cpp:2739 +#: src/slic3r/GUI/Plater.cpp:1205 src/libslic3r/PrintConfig.cpp:822 +#: src/libslic3r/PrintConfig.cpp:2740 src/libslic3r/PrintConfig.cpp:2741 msgid "Cost" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1222 +#: src/slic3r/GUI/Plater.cpp:1223 msgid "normal mode" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1232 +#: src/slic3r/GUI/Plater.cpp:1233 msgid "stealth mode" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1403 src/slic3r/GUI/Plater.cpp:4923 +#: src/slic3r/GUI/Plater.cpp:1404 src/slic3r/GUI/Plater.cpp:4940 #, possible-c-format msgid "%s - Drop project file" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1410 src/slic3r/GUI/Plater.cpp:4930 +#: src/slic3r/GUI/Plater.cpp:1411 src/slic3r/GUI/Plater.cpp:4947 msgid "Open as project" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1411 src/slic3r/GUI/Plater.cpp:4931 +#: src/slic3r/GUI/Plater.cpp:1412 src/slic3r/GUI/Plater.cpp:4948 msgid "Import geometry only" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1412 src/slic3r/GUI/Plater.cpp:4932 +#: src/slic3r/GUI/Plater.cpp:1413 src/slic3r/GUI/Plater.cpp:4949 msgid "Import config only" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1415 src/slic3r/GUI/Plater.cpp:4935 +#: src/slic3r/GUI/Plater.cpp:1416 src/slic3r/GUI/Plater.cpp:4952 msgid "Select an action to apply to the file" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1416 src/slic3r/GUI/Plater.cpp:4936 +#: src/slic3r/GUI/Plater.cpp:1417 src/slic3r/GUI/Plater.cpp:4953 msgid "Action" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1424 src/slic3r/GUI/Plater.cpp:4944 +#: src/slic3r/GUI/Plater.cpp:1425 src/slic3r/GUI/Plater.cpp:4961 msgid "Don't show again" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1469 src/slic3r/GUI/Plater.cpp:4981 +#: src/slic3r/GUI/Plater.cpp:1470 src/slic3r/GUI/Plater.cpp:4998 msgid "You can open only one .gcode file at a time." msgstr "" -#: src/slic3r/GUI/Plater.cpp:1470 src/slic3r/GUI/Plater.cpp:4982 +#: src/slic3r/GUI/Plater.cpp:1471 src/slic3r/GUI/Plater.cpp:4999 msgid "Drag and drop G-code file" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1524 src/slic3r/GUI/Plater.cpp:4796 -#: src/slic3r/GUI/Plater.cpp:5036 +#: src/slic3r/GUI/Plater.cpp:1525 src/slic3r/GUI/Plater.cpp:4815 +#: src/slic3r/GUI/Plater.cpp:5053 msgid "Import Object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1546 src/slic3r/GUI/Plater.cpp:5058 +#: src/slic3r/GUI/Plater.cpp:1547 src/slic3r/GUI/Plater.cpp:5079 msgid "Load File" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1551 src/slic3r/GUI/Plater.cpp:5063 +#: src/slic3r/GUI/Plater.cpp:1552 src/slic3r/GUI/Plater.cpp:5084 msgid "Load Files" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1654 +#: src/slic3r/GUI/Plater.cpp:1655 msgid "Fill bed" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1660 +#: src/slic3r/GUI/Plater.cpp:1661 msgid "Optimize Rotation" msgstr "" -#: src/slic3r/GUI/Plater.cpp:1666 +#: src/slic3r/GUI/Plater.cpp:1667 msgid "Import SLA archive" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2129 +#: src/slic3r/GUI/Plater.cpp:2130 #, possible-c-format msgid "" "Successfully unmounted. The device %s(%s) can now be safely removed from the " "computer." msgstr "" -#: src/slic3r/GUI/Plater.cpp:2134 +#: src/slic3r/GUI/Plater.cpp:2135 #, possible-c-format msgid "Ejecting of device %s(%s) has failed." msgstr "" -#: src/slic3r/GUI/Plater.cpp:2153 +#: src/slic3r/GUI/Plater.cpp:2154 msgid "New Project" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2246 +#: src/slic3r/GUI/Plater.cpp:2247 msgid "Expand sidebar" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2319 +#: src/slic3r/GUI/Plater.cpp:2320 msgid "Loading" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2329 +#: src/slic3r/GUI/Plater.cpp:2330 msgid "Loading file" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2415 +#: src/slic3r/GUI/Plater.cpp:2399 +msgid "Failed loading file \"%1%\" due to an invalid configuration." +msgstr "" + +#: src/slic3r/GUI/Plater.cpp:2423 #, possible-c-format msgid "" "Some object(s) in file %s looks like saved in inches.\n" "Should I consider them as a saved in inches and convert them?" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2417 +#: src/slic3r/GUI/Plater.cpp:2425 msgid "The object appears to be saved in inches" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2425 +#: src/slic3r/GUI/Plater.cpp:2433 msgid "" "This file contains several objects positioned at multiple heights.\n" "Instead of considering them as multiple objects, should I consider\n" "this file as a single object having multiple parts?" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2428 src/slic3r/GUI/Plater.cpp:2481 +#: src/slic3r/GUI/Plater.cpp:2436 src/slic3r/GUI/Plater.cpp:2489 msgid "Multi-part object detected" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2435 +#: src/slic3r/GUI/Plater.cpp:2443 msgid "" "This file cannot be loaded in a simple mode. Do you want to switch to an " "advanced mode?" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2436 +#: src/slic3r/GUI/Plater.cpp:2444 msgid "Detected advanced data" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2458 +#: src/slic3r/GUI/Plater.cpp:2466 #, possible-c-format msgid "" "You can't to add the object(s) from %s because of one or some of them " "is(are) multi-part" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2478 +#: src/slic3r/GUI/Plater.cpp:2486 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" "these files to represent a single object having multiple parts?" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2494 +#: src/slic3r/GUI/Plater.cpp:2502 msgid "Loaded" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2596 +#: src/slic3r/GUI/Plater.cpp:2604 msgid "" "Your object appears to be too large, so it was automatically scaled down to " "fit your print bed." msgstr "" -#: src/slic3r/GUI/Plater.cpp:2597 +#: src/slic3r/GUI/Plater.cpp:2605 msgid "Object too large?" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2659 +#: src/slic3r/GUI/Plater.cpp:2667 msgid "Export STL file:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2666 +#: src/slic3r/GUI/Plater.cpp:2674 msgid "Export AMF file:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2672 +#: src/slic3r/GUI/Plater.cpp:2680 msgid "Save file as:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2678 +#: src/slic3r/GUI/Plater.cpp:2686 msgid "Export OBJ file:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2774 +#: src/slic3r/GUI/Plater.cpp:2782 msgid "Delete Object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2785 +#: src/slic3r/GUI/Plater.cpp:2793 msgid "Reset Project" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2857 +#: src/slic3r/GUI/Plater.cpp:2865 msgid "" "The selected object can't be split because it contains more than one volume/" "material." msgstr "" -#: src/slic3r/GUI/Plater.cpp:2868 +#: src/slic3r/GUI/Plater.cpp:2876 msgid "Split to Objects" msgstr "" -#: src/slic3r/GUI/Plater.cpp:2993 src/slic3r/GUI/Plater.cpp:3723 +#: src/slic3r/GUI/Plater.cpp:3001 src/slic3r/GUI/Plater.cpp:3738 msgid "Invalid data" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3003 +#: src/slic3r/GUI/Plater.cpp:3011 msgid "Ready to slice" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3041 src/slic3r/GUI/PrintHostDialogs.cpp:264 +#: src/slic3r/GUI/Plater.cpp:3049 src/slic3r/GUI/PrintHostDialogs.cpp:275 msgid "Cancelling" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3060 +#: src/slic3r/GUI/Plater.cpp:3068 msgid "Another export job is currently running." msgstr "" -#: src/slic3r/GUI/Plater.cpp:3177 +#: src/slic3r/GUI/Plater.cpp:3185 msgid "Please select the file to reload" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3212 +#: src/slic3r/GUI/Plater.cpp:3220 msgid "It is not allowed to change the file to reload" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3212 +#: src/slic3r/GUI/Plater.cpp:3220 msgid "Do you want to retry" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3230 +#: src/slic3r/GUI/Plater.cpp:3238 msgid "Reload from:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3323 +#: src/slic3r/GUI/Plater.cpp:3331 msgid "Unable to reload:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3328 +#: src/slic3r/GUI/Plater.cpp:3336 msgid "Error during reload" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3347 +#: src/slic3r/GUI/Plater.cpp:3355 msgid "Reload all from disk" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3374 +#: src/slic3r/GUI/Plater.cpp:3382 msgid "" "ERROR: Please close all manipulators available from the left toolbar before " "fixing the mesh." msgstr "" -#: src/slic3r/GUI/Plater.cpp:3380 +#: src/slic3r/GUI/Plater.cpp:3388 msgid "Fix through NetFabb" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3397 +#: src/slic3r/GUI/Plater.cpp:3405 msgid "Custom supports and seams were removed after repairing the mesh." msgstr "" -#: src/slic3r/GUI/Plater.cpp:3680 +#: src/slic3r/GUI/Plater.cpp:3696 msgid "There are active warnings concerning sliced models:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3691 +#: src/slic3r/GUI/Plater.cpp:3706 msgid "generated warnings" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3731 src/slic3r/GUI/PrintHostDialogs.cpp:265 +#: src/slic3r/GUI/Plater.cpp:3746 src/slic3r/GUI/PrintHostDialogs.cpp:276 msgid "Cancelled" msgstr "" -#: src/slic3r/GUI/Plater.cpp:3998 src/slic3r/GUI/Plater.cpp:4022 +#: src/slic3r/GUI/Plater.cpp:4015 src/slic3r/GUI/Plater.cpp:4039 msgid "Remove the selected object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4007 +#: src/slic3r/GUI/Plater.cpp:4024 msgid "Add one more instance of the selected object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4009 +#: src/slic3r/GUI/Plater.cpp:4026 msgid "Remove one instance of the selected object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4011 +#: src/slic3r/GUI/Plater.cpp:4028 msgid "Set number of instances" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4011 +#: src/slic3r/GUI/Plater.cpp:4028 msgid "Change the number of instances of the selected object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4013 +#: src/slic3r/GUI/Plater.cpp:4030 msgid "Fill bed with instances" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4013 +#: src/slic3r/GUI/Plater.cpp:4030 msgid "Fill the remaining area of bed with instances of the selected object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4032 +#: src/slic3r/GUI/Plater.cpp:4049 msgid "Reload the selected object from disk" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4035 +#: src/slic3r/GUI/Plater.cpp:4052 msgid "Export the selected object as STL file" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4065 +#: src/slic3r/GUI/Plater.cpp:4082 msgid "Along X axis" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4065 +#: src/slic3r/GUI/Plater.cpp:4082 msgid "Mirror the selected object along the X axis" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4067 +#: src/slic3r/GUI/Plater.cpp:4084 msgid "Along Y axis" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4067 +#: src/slic3r/GUI/Plater.cpp:4084 msgid "Mirror the selected object along the Y axis" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4069 +#: src/slic3r/GUI/Plater.cpp:4086 msgid "Along Z axis" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4069 +#: src/slic3r/GUI/Plater.cpp:4086 msgid "Mirror the selected object along the Z axis" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4072 +#: src/slic3r/GUI/Plater.cpp:4089 msgid "Mirror" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4072 +#: src/slic3r/GUI/Plater.cpp:4089 msgid "Mirror the selected object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4084 +#: src/slic3r/GUI/Plater.cpp:4101 msgid "To objects" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4084 src/slic3r/GUI/Plater.cpp:4104 +#: src/slic3r/GUI/Plater.cpp:4101 src/slic3r/GUI/Plater.cpp:4121 msgid "Split the selected object into individual objects" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4086 +#: src/slic3r/GUI/Plater.cpp:4103 msgid "To parts" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4086 src/slic3r/GUI/Plater.cpp:4122 +#: src/slic3r/GUI/Plater.cpp:4103 src/slic3r/GUI/Plater.cpp:4139 msgid "Split the selected object into individual sub-parts" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4089 src/slic3r/GUI/Plater.cpp:4104 -#: src/slic3r/GUI/Plater.cpp:4122 src/libslic3r/PrintConfig.cpp:3759 +#: src/slic3r/GUI/Plater.cpp:4106 src/slic3r/GUI/Plater.cpp:4121 +#: src/slic3r/GUI/Plater.cpp:4139 src/libslic3r/PrintConfig.cpp:3763 msgid "Split" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4089 +#: src/slic3r/GUI/Plater.cpp:4106 msgid "Split the selected object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4111 +#: src/slic3r/GUI/Plater.cpp:4128 msgid "Optimize orientation" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4112 +#: src/slic3r/GUI/Plater.cpp:4129 msgid "Optimize the rotation of the object for better print results." msgstr "" -#: src/slic3r/GUI/Plater.cpp:4192 +#: src/slic3r/GUI/Plater.cpp:4209 msgid "3D editor view" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4564 +#: src/slic3r/GUI/Plater.cpp:4581 msgid "" "%1% printer was active at the time the target Undo / Redo snapshot was " "taken. Switching to %1% printer requires reloading of %1% presets." msgstr "" -#: src/slic3r/GUI/Plater.cpp:4768 +#: src/slic3r/GUI/Plater.cpp:4787 msgid "Load Project" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4800 +#: src/slic3r/GUI/Plater.cpp:4819 msgid "Import Objects" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4868 +#: src/slic3r/GUI/Plater.cpp:4885 msgid "The selected file" msgstr "" -#: src/slic3r/GUI/Plater.cpp:4868 +#: src/slic3r/GUI/Plater.cpp:4885 msgid "does not contain valid gcode." msgstr "" -#: src/slic3r/GUI/Plater.cpp:4869 +#: src/slic3r/GUI/Plater.cpp:4886 msgid "Error while loading .gcode file" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5107 +#: src/slic3r/GUI/Plater.cpp:5128 msgid "All objects will be removed, continue?" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5115 +#: src/slic3r/GUI/Plater.cpp:5136 msgid "Delete Selected Objects" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5123 +#: src/slic3r/GUI/Plater.cpp:5144 msgid "Increase Instances" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5157 +#: src/slic3r/GUI/Plater.cpp:5178 msgid "Decrease Instances" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5188 +#: src/slic3r/GUI/Plater.cpp:5209 msgid "Enter the number of copies:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5189 +#: src/slic3r/GUI/Plater.cpp:5210 msgid "Copies of the selected object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5193 +#: src/slic3r/GUI/Plater.cpp:5214 #, possible-c-format msgid "Set numbers of copies to %d" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5259 +#: src/slic3r/GUI/Plater.cpp:5280 msgid "Cut by Plane" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5316 +#: src/slic3r/GUI/Plater.cpp:5337 msgid "Save G-code file as:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5316 -msgid "Save SL1 file as:" +#: src/slic3r/GUI/Plater.cpp:5337 +msgid "Save SL1 / SL1S file as:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5463 +#: src/slic3r/GUI/Plater.cpp:5484 #, possible-c-format msgid "STL file exported to %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5480 +#: src/slic3r/GUI/Plater.cpp:5501 #, possible-c-format msgid "AMF file exported to %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5483 +#: src/slic3r/GUI/Plater.cpp:5504 #, possible-c-format msgid "Error exporting AMF file %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5512 +#: src/slic3r/GUI/Plater.cpp:5533 #, possible-c-format msgid "3MF file exported to %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5517 +#: src/slic3r/GUI/Plater.cpp:5538 #, possible-c-format msgid "Error exporting 3MF file %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:6054 +#: src/slic3r/GUI/Plater.cpp:6074 msgid "Export" msgstr "" -#: src/slic3r/GUI/Plater.cpp:6149 +#: src/slic3r/GUI/Plater.cpp:6169 msgid "Paste From Clipboard" msgstr "" -#: src/slic3r/GUI/Preferences.cpp:56 src/slic3r/GUI/Tab.cpp:2098 -#: src/slic3r/GUI/Tab.cpp:2285 src/slic3r/GUI/Tab.cpp:2393 +#: src/slic3r/GUI/Preferences.cpp:56 src/slic3r/GUI/Tab.cpp:2105 +#: src/slic3r/GUI/Tab.cpp:2292 src/slic3r/GUI/Tab.cpp:2400 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 msgid "General" msgstr "" @@ -6108,74 +6146,74 @@ msgstr "" msgid "Layout Options" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:197 -#: src/slic3r/GUI/PresetComboBoxes.cpp:235 -#: src/slic3r/GUI/PresetComboBoxes.cpp:761 -#: src/slic3r/GUI/PresetComboBoxes.cpp:811 -#: src/slic3r/GUI/PresetComboBoxes.cpp:925 -#: src/slic3r/GUI/PresetComboBoxes.cpp:969 +#: src/slic3r/GUI/PresetComboBoxes.cpp:224 +#: src/slic3r/GUI/PresetComboBoxes.cpp:262 +#: src/slic3r/GUI/PresetComboBoxes.cpp:788 +#: src/slic3r/GUI/PresetComboBoxes.cpp:838 +#: src/slic3r/GUI/PresetComboBoxes.cpp:959 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1003 msgid "System presets" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:239 -#: src/slic3r/GUI/PresetComboBoxes.cpp:815 -#: src/slic3r/GUI/PresetComboBoxes.cpp:973 +#: src/slic3r/GUI/PresetComboBoxes.cpp:266 +#: src/slic3r/GUI/PresetComboBoxes.cpp:842 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1007 msgid "User presets" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:250 +#: src/slic3r/GUI/PresetComboBoxes.cpp:277 msgid "Incompatible presets" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:285 +#: src/slic3r/GUI/PresetComboBoxes.cpp:312 msgid "Are you sure you want to delete \"%1%\" printer?" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:287 +#: src/slic3r/GUI/PresetComboBoxes.cpp:314 msgid "Delete Physical Printer" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:624 +#: src/slic3r/GUI/PresetComboBoxes.cpp:651 msgid "Click to edit preset" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:680 -#: src/slic3r/GUI/PresetComboBoxes.cpp:710 +#: src/slic3r/GUI/PresetComboBoxes.cpp:707 +#: src/slic3r/GUI/PresetComboBoxes.cpp:737 msgid "Add/Remove presets" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:685 -#: src/slic3r/GUI/PresetComboBoxes.cpp:715 src/slic3r/GUI/Tab.cpp:2990 +#: src/slic3r/GUI/PresetComboBoxes.cpp:712 +#: src/slic3r/GUI/PresetComboBoxes.cpp:742 src/slic3r/GUI/Tab.cpp:2997 msgid "Add physical printer" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:699 +#: src/slic3r/GUI/PresetComboBoxes.cpp:726 msgid "Edit preset" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:703 src/slic3r/GUI/Tab.cpp:2990 +#: src/slic3r/GUI/PresetComboBoxes.cpp:730 src/slic3r/GUI/Tab.cpp:2997 msgid "Edit physical printer" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:706 +#: src/slic3r/GUI/PresetComboBoxes.cpp:733 msgid "Delete physical printer" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:826 -#: src/slic3r/GUI/PresetComboBoxes.cpp:987 +#: src/slic3r/GUI/PresetComboBoxes.cpp:853 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1021 msgid "Physical printers" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:850 +#: src/slic3r/GUI/PresetComboBoxes.cpp:877 msgid "Add/Remove filaments" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:852 +#: src/slic3r/GUI/PresetComboBoxes.cpp:879 msgid "Add/Remove materials" msgstr "" -#: src/slic3r/GUI/PresetComboBoxes.cpp:854 -#: src/slic3r/GUI/PresetComboBoxes.cpp:1011 +#: src/slic3r/GUI/PresetComboBoxes.cpp:881 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1045 msgid "Add/Remove printers" msgstr "" @@ -6352,52 +6390,52 @@ msgstr "" msgid "Group" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +#: src/slic3r/GUI/PrintHostDialogs.cpp:187 msgid "ID" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:177 +#: src/slic3r/GUI/PrintHostDialogs.cpp:188 msgid "Progress" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:178 +#: src/slic3r/GUI/PrintHostDialogs.cpp:189 msgid "Status" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:179 +#: src/slic3r/GUI/PrintHostDialogs.cpp:190 msgid "Host" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:180 +#: src/slic3r/GUI/PrintHostDialogs.cpp:191 msgid "Filename" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:181 +#: src/slic3r/GUI/PrintHostDialogs.cpp:192 msgid "Error Message" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:184 +#: src/slic3r/GUI/PrintHostDialogs.cpp:195 msgid "Cancel selected" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:186 +#: src/slic3r/GUI/PrintHostDialogs.cpp:197 msgid "Show error message" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:228 -#: src/slic3r/GUI/PrintHostDialogs.cpp:261 +#: src/slic3r/GUI/PrintHostDialogs.cpp:239 +#: src/slic3r/GUI/PrintHostDialogs.cpp:272 msgid "Enqueued" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:262 +#: src/slic3r/GUI/PrintHostDialogs.cpp:273 msgid "Uploading" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:266 +#: src/slic3r/GUI/PrintHostDialogs.cpp:277 msgid "Completed" msgstr "" -#: src/slic3r/GUI/PrintHostDialogs.cpp:304 +#: src/slic3r/GUI/PrintHostDialogs.cpp:315 msgid "Error uploading to print host:" msgstr "" @@ -6407,11 +6445,11 @@ msgstr "" #: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/WipeTowerDialog.cpp:83 #: src/libslic3r/PrintConfig.cpp:706 src/libslic3r/PrintConfig.cpp:750 -#: src/libslic3r/PrintConfig.cpp:765 src/libslic3r/PrintConfig.cpp:2636 -#: src/libslic3r/PrintConfig.cpp:2645 src/libslic3r/PrintConfig.cpp:2755 -#: src/libslic3r/PrintConfig.cpp:2763 src/libslic3r/PrintConfig.cpp:2771 -#: src/libslic3r/PrintConfig.cpp:2778 src/libslic3r/PrintConfig.cpp:2786 -#: src/libslic3r/PrintConfig.cpp:2794 +#: src/libslic3r/PrintConfig.cpp:765 src/libslic3r/PrintConfig.cpp:2638 +#: src/libslic3r/PrintConfig.cpp:2647 src/libslic3r/PrintConfig.cpp:2757 +#: src/libslic3r/PrintConfig.cpp:2765 src/libslic3r/PrintConfig.cpp:2773 +#: src/libslic3r/PrintConfig.cpp:2780 src/libslic3r/PrintConfig.cpp:2788 +#: src/libslic3r/PrintConfig.cpp:2796 msgid "s" msgstr "" @@ -6503,11 +6541,11 @@ msgstr "" msgid "Just switch to \"%1%\" preset" msgstr "" -#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2421 +#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2428 msgid "Stealth" msgstr "" -#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2415 +#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2422 msgid "Normal" msgstr "" @@ -6599,293 +6637,293 @@ msgstr "" msgid "Search in settings [%1%]" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1237 +#: src/slic3r/GUI/Tab.cpp:1244 msgid "Detach from system preset" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1250 +#: src/slic3r/GUI/Tab.cpp:1257 msgid "" "A copy of the current system preset will be created, which will be detached " "from the system preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1251 +#: src/slic3r/GUI/Tab.cpp:1258 msgid "" "The current custom preset will be detached from the parent system preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1254 +#: src/slic3r/GUI/Tab.cpp:1261 msgid "Modifications to the current profile will be saved." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1257 +#: src/slic3r/GUI/Tab.cpp:1264 msgid "" "This action is not revertable.\n" "Do you want to proceed?" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1259 +#: src/slic3r/GUI/Tab.cpp:1266 msgid "Detach preset" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1285 +#: src/slic3r/GUI/Tab.cpp:1292 msgid "This is a default preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1287 +#: src/slic3r/GUI/Tab.cpp:1294 msgid "This is a system preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1289 +#: src/slic3r/GUI/Tab.cpp:1296 msgid "Current preset is inherited from the default preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1293 +#: src/slic3r/GUI/Tab.cpp:1300 msgid "Current preset is inherited from" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1297 +#: src/slic3r/GUI/Tab.cpp:1304 msgid "It can't be deleted or modified." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1298 +#: src/slic3r/GUI/Tab.cpp:1305 msgid "" "Any modifications should be saved as a new preset inherited from this one." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1299 +#: src/slic3r/GUI/Tab.cpp:1306 msgid "To do that please specify a new name for the preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:1303 +#: src/slic3r/GUI/Tab.cpp:1310 msgid "Additional information:" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1309 +#: src/slic3r/GUI/Tab.cpp:1316 msgid "printer model" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1317 +#: src/slic3r/GUI/Tab.cpp:1324 msgid "default print profile" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1320 +#: src/slic3r/GUI/Tab.cpp:1327 msgid "default filament profile" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1334 +#: src/slic3r/GUI/Tab.cpp:1341 msgid "default SLA material profile" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1338 +#: src/slic3r/GUI/Tab.cpp:1345 msgid "default SLA print profile" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1346 +#: src/slic3r/GUI/Tab.cpp:1353 msgid "full profile name" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1347 +#: src/slic3r/GUI/Tab.cpp:1354 msgid "symbolic profile name" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1385 src/slic3r/GUI/Tab.cpp:4042 +#: src/slic3r/GUI/Tab.cpp:1392 src/slic3r/GUI/Tab.cpp:4049 msgid "Layers and perimeters" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1391 +#: src/slic3r/GUI/Tab.cpp:1398 msgid "Vertical shells" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1403 +#: src/slic3r/GUI/Tab.cpp:1410 msgid "Horizontal shells" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1404 src/libslic3r/PrintConfig.cpp:1980 +#: src/slic3r/GUI/Tab.cpp:1411 src/libslic3r/PrintConfig.cpp:1982 msgid "Solid layers" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1409 +#: src/slic3r/GUI/Tab.cpp:1416 msgid "Minimum shell thickness" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1420 +#: src/slic3r/GUI/Tab.cpp:1427 msgid "Quality (slower slicing)" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1448 +#: src/slic3r/GUI/Tab.cpp:1455 msgid "Reducing printing time" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1460 +#: src/slic3r/GUI/Tab.cpp:1467 msgid "Skirt and brim" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1480 +#: src/slic3r/GUI/Tab.cpp:1487 msgid "Raft" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1491 msgid "Options for support material and raft" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1499 +#: src/slic3r/GUI/Tab.cpp:1506 msgid "Speed for print moves" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1512 +#: src/slic3r/GUI/Tab.cpp:1519 msgid "Speed for non-print moves" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1515 +#: src/slic3r/GUI/Tab.cpp:1522 msgid "Modifiers" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1518 +#: src/slic3r/GUI/Tab.cpp:1525 msgid "Acceleration control (advanced)" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1525 +#: src/slic3r/GUI/Tab.cpp:1532 msgid "Autospeed (advanced)" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1533 +#: src/slic3r/GUI/Tab.cpp:1540 msgid "Multiple Extruders" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1541 +#: src/slic3r/GUI/Tab.cpp:1548 msgid "Ooze prevention" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1559 +#: src/slic3r/GUI/Tab.cpp:1566 msgid "Extrusion width" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1569 +#: src/slic3r/GUI/Tab.cpp:1576 msgid "Overlap" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1572 +#: src/slic3r/GUI/Tab.cpp:1579 msgid "Flow" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1581 +#: src/slic3r/GUI/Tab.cpp:1588 msgid "Other" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1584 src/slic3r/GUI/Tab.cpp:4118 +#: src/slic3r/GUI/Tab.cpp:1591 src/slic3r/GUI/Tab.cpp:4125 msgid "Output options" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1585 +#: src/slic3r/GUI/Tab.cpp:1592 msgid "Sequential printing" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1587 +#: src/slic3r/GUI/Tab.cpp:1594 msgid "Extruder clearance" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1592 src/slic3r/GUI/Tab.cpp:4119 +#: src/slic3r/GUI/Tab.cpp:1599 src/slic3r/GUI/Tab.cpp:4126 msgid "Output file" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1599 src/libslic3r/PrintConfig.cpp:1662 +#: src/slic3r/GUI/Tab.cpp:1606 src/libslic3r/PrintConfig.cpp:1664 msgid "Post-processing scripts" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1606 -#: src/slic3r/GUI/Tab.cpp:1927 src/slic3r/GUI/Tab.cpp:1928 -#: src/slic3r/GUI/Tab.cpp:2266 src/slic3r/GUI/Tab.cpp:2267 -#: src/slic3r/GUI/Tab.cpp:2342 src/slic3r/GUI/Tab.cpp:2343 -#: src/slic3r/GUI/Tab.cpp:3985 src/slic3r/GUI/Tab.cpp:3986 +#: src/slic3r/GUI/Tab.cpp:1612 src/slic3r/GUI/Tab.cpp:1613 +#: src/slic3r/GUI/Tab.cpp:1934 src/slic3r/GUI/Tab.cpp:1935 +#: src/slic3r/GUI/Tab.cpp:2273 src/slic3r/GUI/Tab.cpp:2274 +#: src/slic3r/GUI/Tab.cpp:2349 src/slic3r/GUI/Tab.cpp:2350 +#: src/slic3r/GUI/Tab.cpp:3992 src/slic3r/GUI/Tab.cpp:3993 msgid "Notes" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1612 src/slic3r/GUI/Tab.cpp:1935 -#: src/slic3r/GUI/Tab.cpp:2273 src/slic3r/GUI/Tab.cpp:2349 -#: src/slic3r/GUI/Tab.cpp:3993 src/slic3r/GUI/Tab.cpp:4124 +#: src/slic3r/GUI/Tab.cpp:1619 src/slic3r/GUI/Tab.cpp:1942 +#: src/slic3r/GUI/Tab.cpp:2280 src/slic3r/GUI/Tab.cpp:2356 +#: src/slic3r/GUI/Tab.cpp:4000 src/slic3r/GUI/Tab.cpp:4131 msgid "Dependencies" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1613 src/slic3r/GUI/Tab.cpp:1936 -#: src/slic3r/GUI/Tab.cpp:2274 src/slic3r/GUI/Tab.cpp:2350 -#: src/slic3r/GUI/Tab.cpp:3994 src/slic3r/GUI/Tab.cpp:4125 +#: src/slic3r/GUI/Tab.cpp:1620 src/slic3r/GUI/Tab.cpp:1943 +#: src/slic3r/GUI/Tab.cpp:2281 src/slic3r/GUI/Tab.cpp:2357 +#: src/slic3r/GUI/Tab.cpp:4001 src/slic3r/GUI/Tab.cpp:4132 msgid "Profile dependencies" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1693 +#: src/slic3r/GUI/Tab.cpp:1700 msgid "Filament Overrides" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1815 +#: src/slic3r/GUI/Tab.cpp:1822 msgid "Temperature" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1816 +#: src/slic3r/GUI/Tab.cpp:1823 msgid "Nozzle" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1821 +#: src/slic3r/GUI/Tab.cpp:1828 msgid "Bed" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1826 +#: src/slic3r/GUI/Tab.cpp:1833 msgid "Cooling" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1828 src/libslic3r/PrintConfig.cpp:1565 -#: src/libslic3r/PrintConfig.cpp:2428 +#: src/slic3r/GUI/Tab.cpp:1835 src/libslic3r/PrintConfig.cpp:1567 +#: src/libslic3r/PrintConfig.cpp:2430 msgid "Enable" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1839 +#: src/slic3r/GUI/Tab.cpp:1846 msgid "Fan settings" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1850 +#: src/slic3r/GUI/Tab.cpp:1857 msgid "Cooling thresholds" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1856 +#: src/slic3r/GUI/Tab.cpp:1863 msgid "Filament properties" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1863 +#: src/slic3r/GUI/Tab.cpp:1870 msgid "Print speed override" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1873 +#: src/slic3r/GUI/Tab.cpp:1880 msgid "Wipe tower parameters" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1876 +#: src/slic3r/GUI/Tab.cpp:1883 msgid "Toolchange parameters with single extruder MM printers" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1889 +#: src/slic3r/GUI/Tab.cpp:1896 msgid "Ramming settings" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1912 src/slic3r/GUI/Tab.cpp:2205 -#: src/libslic3r/PrintConfig.cpp:2063 +#: src/slic3r/GUI/Tab.cpp:1919 src/slic3r/GUI/Tab.cpp:2212 +#: src/libslic3r/PrintConfig.cpp:2065 msgid "Custom G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1913 src/slic3r/GUI/Tab.cpp:2206 -#: src/libslic3r/PrintConfig.cpp:2013 src/libslic3r/PrintConfig.cpp:2028 +#: src/slic3r/GUI/Tab.cpp:1920 src/slic3r/GUI/Tab.cpp:2213 +#: src/libslic3r/PrintConfig.cpp:2015 src/libslic3r/PrintConfig.cpp:2030 msgid "Start G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1920 src/slic3r/GUI/Tab.cpp:2213 +#: src/slic3r/GUI/Tab.cpp:1927 src/slic3r/GUI/Tab.cpp:2220 #: src/libslic3r/PrintConfig.cpp:441 src/libslic3r/PrintConfig.cpp:451 msgid "End G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:1970 +#: src/slic3r/GUI/Tab.cpp:1977 msgid "Volumetric flow hints not available" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2066 +#: src/slic3r/GUI/Tab.cpp:2073 msgid "" "Note: All parameters from this group are moved to the Physical Printer " "settings (see changelog).\n" @@ -6898,19 +6936,19 @@ msgid "" "physical_printer directory." msgstr "" -#: src/slic3r/GUI/Tab.cpp:2099 src/slic3r/GUI/Tab.cpp:2286 +#: src/slic3r/GUI/Tab.cpp:2106 src/slic3r/GUI/Tab.cpp:2293 msgid "Size and coordinates" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2108 src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 +#: src/slic3r/GUI/Tab.cpp:2115 src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 msgid "Capabilities" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2113 +#: src/slic3r/GUI/Tab.cpp:2120 msgid "Number of extruders of the printer." msgstr "" -#: src/slic3r/GUI/Tab.cpp:2141 +#: src/slic3r/GUI/Tab.cpp:2148 msgid "" "Single Extruder Multi Material is selected, \n" "and all extruders must have the same diameter.\n" @@ -6918,60 +6956,60 @@ msgid "" "nozzle diameter value?" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2144 src/slic3r/GUI/Tab.cpp:2552 +#: src/slic3r/GUI/Tab.cpp:2151 src/slic3r/GUI/Tab.cpp:2559 #: src/libslic3r/PrintConfig.cpp:1534 msgid "Nozzle diameter" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2220 src/libslic3r/PrintConfig.cpp:209 +#: src/slic3r/GUI/Tab.cpp:2227 src/libslic3r/PrintConfig.cpp:209 msgid "Before layer change G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2227 src/libslic3r/PrintConfig.cpp:1273 +#: src/slic3r/GUI/Tab.cpp:2234 src/libslic3r/PrintConfig.cpp:1273 msgid "After layer change G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2234 src/libslic3r/PrintConfig.cpp:2321 +#: src/slic3r/GUI/Tab.cpp:2241 src/libslic3r/PrintConfig.cpp:2323 msgid "Tool change G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2241 +#: src/slic3r/GUI/Tab.cpp:2248 msgid "Between objects G-code (for sequential printing)" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2248 +#: src/slic3r/GUI/Tab.cpp:2255 msgid "Color Change G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2254 src/libslic3r/PrintConfig.cpp:2054 +#: src/slic3r/GUI/Tab.cpp:2261 src/libslic3r/PrintConfig.cpp:2056 msgid "Pause Print G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2260 +#: src/slic3r/GUI/Tab.cpp:2267 msgid "Template Custom G-code" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2293 +#: src/slic3r/GUI/Tab.cpp:2300 msgid "Display" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2308 +#: src/slic3r/GUI/Tab.cpp:2315 msgid "Tilt" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2309 +#: src/slic3r/GUI/Tab.cpp:2316 msgid "Tilt time" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2315 src/slic3r/GUI/Tab.cpp:3969 +#: src/slic3r/GUI/Tab.cpp:2322 src/slic3r/GUI/Tab.cpp:3976 msgid "Corrections" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2332 src/slic3r/GUI/Tab.cpp:3965 +#: src/slic3r/GUI/Tab.cpp:2339 src/slic3r/GUI/Tab.cpp:3972 msgid "Exposure" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2391 src/slic3r/GUI/Tab.cpp:2485 +#: src/slic3r/GUI/Tab.cpp:2398 src/slic3r/GUI/Tab.cpp:2492 #: src/libslic3r/PrintConfig.cpp:1302 src/libslic3r/PrintConfig.cpp:1337 #: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1371 #: src/libslic3r/PrintConfig.cpp:1387 src/libslic3r/PrintConfig.cpp:1397 @@ -6979,170 +7017,170 @@ msgstr "" msgid "Machine limits" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2414 +#: src/slic3r/GUI/Tab.cpp:2421 msgid "Values in this column are for Normal mode" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2420 +#: src/slic3r/GUI/Tab.cpp:2427 msgid "Values in this column are for Stealth mode" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2429 +#: src/slic3r/GUI/Tab.cpp:2436 msgid "Maximum feedrates" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2434 +#: src/slic3r/GUI/Tab.cpp:2441 msgid "Maximum accelerations" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2441 +#: src/slic3r/GUI/Tab.cpp:2448 msgid "Jerk limits" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2446 +#: src/slic3r/GUI/Tab.cpp:2453 msgid "Minimum feedrates" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2510 src/slic3r/GUI/Tab.cpp:2518 +#: src/slic3r/GUI/Tab.cpp:2517 src/slic3r/GUI/Tab.cpp:2525 msgid "Single extruder MM setup" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2519 +#: src/slic3r/GUI/Tab.cpp:2526 msgid "Single extruder multimaterial parameters" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2550 +#: src/slic3r/GUI/Tab.cpp:2557 msgid "" "This is a single extruder multimaterial printer, diameters of all extruders " "will be set to the new value. Do you want to proceed?" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2574 +#: src/slic3r/GUI/Tab.cpp:2581 msgid "Layer height limits" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2579 +#: src/slic3r/GUI/Tab.cpp:2586 msgid "Position (for multi-extruder printers)" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2585 +#: src/slic3r/GUI/Tab.cpp:2592 msgid "Only lift Z" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2598 +#: src/slic3r/GUI/Tab.cpp:2605 msgid "" "Retraction when tool is disabled (advanced settings for multi-extruder " "setups)" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2605 +#: src/slic3r/GUI/Tab.cpp:2612 msgid "Reset to Filament Color" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2783 +#: src/slic3r/GUI/Tab.cpp:2790 msgid "" "The Wipe option is not available when using the Firmware Retraction mode.\n" "\n" "Shall I disable it in order to enable Firmware Retraction?" msgstr "" -#: src/slic3r/GUI/Tab.cpp:2785 +#: src/slic3r/GUI/Tab.cpp:2792 msgid "Firmware Retraction" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3376 +#: src/slic3r/GUI/Tab.cpp:3383 msgid "Detached" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3439 +#: src/slic3r/GUI/Tab.cpp:3446 msgid "remove" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3439 +#: src/slic3r/GUI/Tab.cpp:3446 msgid "delete" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3448 +#: src/slic3r/GUI/Tab.cpp:3455 msgid "It's a last preset for this physical printer." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3453 +#: src/slic3r/GUI/Tab.cpp:3460 msgid "" "Are you sure you want to delete \"%1%\" preset from the physical printer " "\"%2%\"?" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3465 +#: src/slic3r/GUI/Tab.cpp:3472 msgid "" "The physical printer(s) below is based on the preset, you are going to " "delete." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3469 +#: src/slic3r/GUI/Tab.cpp:3476 msgid "" "Note, that selected preset will be deleted from this/those printer(s) too." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3473 +#: src/slic3r/GUI/Tab.cpp:3480 msgid "" "The physical printer(s) below is based only on the preset, you are going to " "delete." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3477 +#: src/slic3r/GUI/Tab.cpp:3484 msgid "" "Note, that this/those printer(s) will be deleted after deleting of the " "selected preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3481 +#: src/slic3r/GUI/Tab.cpp:3488 msgid "Are you sure you want to %1% the selected preset?" msgstr "" #. TRN Remove/Delete -#: src/slic3r/GUI/Tab.cpp:3486 +#: src/slic3r/GUI/Tab.cpp:3493 msgid "%1% Preset" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3567 src/slic3r/GUI/Tab.cpp:3639 +#: src/slic3r/GUI/Tab.cpp:3574 src/slic3r/GUI/Tab.cpp:3646 msgid "Set" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3703 +#: src/slic3r/GUI/Tab.cpp:3710 msgid "" "Machine limits will be emitted to G-code and used to estimate print time." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3706 +#: src/slic3r/GUI/Tab.cpp:3713 msgid "" "Machine limits will NOT be emitted to G-code, however they will be used to " "estimate print time, which may therefore not be accurate as the printer may " "apply a different set of machine limits." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3710 +#: src/slic3r/GUI/Tab.cpp:3717 msgid "" "Machine limits are not set, therefore the print time estimate may not be " "accurate." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3732 +#: src/slic3r/GUI/Tab.cpp:3739 msgid "LOCKED LOCK" msgstr "" #. TRN Description for "LOCKED LOCK" -#: src/slic3r/GUI/Tab.cpp:3734 +#: src/slic3r/GUI/Tab.cpp:3741 msgid "" "indicates that the settings are the same as the system (or default) values " "for the current option group" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3736 +#: src/slic3r/GUI/Tab.cpp:3743 msgid "UNLOCKED LOCK" msgstr "" #. TRN Description for "UNLOCKED LOCK" -#: src/slic3r/GUI/Tab.cpp:3738 +#: src/slic3r/GUI/Tab.cpp:3745 msgid "" "indicates that some settings were changed and are not equal to the system " "(or default) values for the current option group.\n" @@ -7150,23 +7188,23 @@ msgid "" "to the system (or default) values." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3743 +#: src/slic3r/GUI/Tab.cpp:3750 msgid "WHITE BULLET" msgstr "" #. TRN Description for "WHITE BULLET" -#: src/slic3r/GUI/Tab.cpp:3745 +#: src/slic3r/GUI/Tab.cpp:3752 msgid "" "for the left button: indicates a non-system (or non-default) preset,\n" "for the right button: indicates that the settings hasn't been modified." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3748 +#: src/slic3r/GUI/Tab.cpp:3755 msgid "BACK ARROW" msgstr "" #. TRN Description for "BACK ARROW" -#: src/slic3r/GUI/Tab.cpp:3750 +#: src/slic3r/GUI/Tab.cpp:3757 msgid "" "indicates that the settings were changed and are not equal to the last saved " "preset for the current option group.\n" @@ -7174,13 +7212,13 @@ msgid "" "to the last saved preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3760 +#: src/slic3r/GUI/Tab.cpp:3767 msgid "" "LOCKED LOCK icon indicates that the settings are the same as the system (or " "default) values for the current option group" msgstr "" -#: src/slic3r/GUI/Tab.cpp:3762 +#: src/slic3r/GUI/Tab.cpp:3769 msgid "" "UNLOCKED LOCK icon indicates that some settings were changed and are not " "equal to the system (or default) values for the current option group.\n" @@ -7188,17 +7226,17 @@ msgid "" "default) values." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3765 +#: src/slic3r/GUI/Tab.cpp:3772 msgid "WHITE BULLET icon indicates a non system (or non default) preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3768 +#: src/slic3r/GUI/Tab.cpp:3775 msgid "" "WHITE BULLET icon indicates that the settings are the same as in the last " "saved preset for the current option group." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3770 +#: src/slic3r/GUI/Tab.cpp:3777 msgid "" "BACK ARROW icon indicates that the settings were changed and are not equal " "to the last saved preset for the current option group.\n" @@ -7206,63 +7244,63 @@ msgid "" "preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3776 +#: src/slic3r/GUI/Tab.cpp:3783 msgid "" "LOCKED LOCK icon indicates that the value is the same as the system (or " "default) value." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3777 +#: src/slic3r/GUI/Tab.cpp:3784 msgid "" "UNLOCKED LOCK icon indicates that the value was changed and is not equal to " "the system (or default) value.\n" "Click to reset current value to the system (or default) value." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3783 +#: src/slic3r/GUI/Tab.cpp:3790 msgid "" "WHITE BULLET icon indicates that the value is the same as in the last saved " "preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3784 +#: src/slic3r/GUI/Tab.cpp:3791 msgid "" "BACK ARROW icon indicates that the value was changed and is not equal to the " "last saved preset.\n" "Click to reset current value to the last saved preset." msgstr "" -#: src/slic3r/GUI/Tab.cpp:3928 src/slic3r/GUI/Tab.cpp:3930 +#: src/slic3r/GUI/Tab.cpp:3935 src/slic3r/GUI/Tab.cpp:3937 msgid "Material" msgstr "" -#: src/slic3r/GUI/Tab.cpp:4052 +#: src/slic3r/GUI/Tab.cpp:4059 msgid "Support head" msgstr "" -#: src/slic3r/GUI/Tab.cpp:4057 +#: src/slic3r/GUI/Tab.cpp:4064 msgid "Support pillar" msgstr "" -#: src/slic3r/GUI/Tab.cpp:4080 +#: src/slic3r/GUI/Tab.cpp:4087 msgid "Connection of the support sticks and junctions" msgstr "" -#: src/slic3r/GUI/Tab.cpp:4085 +#: src/slic3r/GUI/Tab.cpp:4092 msgid "Automatic generation" msgstr "" -#: src/slic3r/GUI/Tab.cpp:4159 +#: src/slic3r/GUI/Tab.cpp:4166 msgid "" "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" "To enable \"%1%\", please switch off \"%2%\"" msgstr "" -#: src/slic3r/GUI/Tab.cpp:4161 src/libslic3r/PrintConfig.cpp:3002 +#: src/slic3r/GUI/Tab.cpp:4168 src/libslic3r/PrintConfig.cpp:3004 msgid "Object elevation" msgstr "" -#: src/slic3r/GUI/Tab.cpp:4161 src/libslic3r/PrintConfig.cpp:3104 +#: src/slic3r/GUI/Tab.cpp:4168 src/libslic3r/PrintConfig.cpp:3106 msgid "Pad around object" msgstr "" @@ -7282,12 +7320,6 @@ msgstr "" msgid "Material Settings" msgstr "" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:149 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 -msgid "Undef" -msgstr "" - #: src/slic3r/GUI/UnsavedChangesDialog.cpp:537 msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "" @@ -7420,8 +7452,8 @@ msgstr "" msgid "Changelog && Download" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:60 src/slic3r/GUI/UpdateDialogs.cpp:125 -#: src/slic3r/GUI/UpdateDialogs.cpp:183 +#: src/slic3r/GUI/UpdateDialogs.cpp:60 src/slic3r/GUI/UpdateDialogs.cpp:128 +#: src/slic3r/GUI/UpdateDialogs.cpp:192 msgid "Open changelog page" msgstr "" @@ -7433,15 +7465,26 @@ msgstr "" msgid "Don't notify about new releases any more" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:89 src/slic3r/GUI/UpdateDialogs.cpp:266 +#: src/slic3r/GUI/UpdateDialogs.cpp:89 +msgid "Opening Configuration Wizard" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:89 src/slic3r/GUI/UpdateDialogs.cpp:275 msgid "Configuration update" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:89 -msgid "Configuration update is available" +#: src/slic3r/GUI/UpdateDialogs.cpp:90 +msgid "" +"PrusaSlicer is not using the newest configuration available.\n" +"Configuration Wizard may not offer the latest printers, filaments and SLA " +"materials to be installed. " msgstr "" #: src/slic3r/GUI/UpdateDialogs.cpp:92 +msgid "Configuration update is available" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:95 msgid "" "Would you like to install it?\n" "\n" @@ -7451,20 +7494,24 @@ msgid "" "Updated configuration bundles:" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:113 src/slic3r/GUI/UpdateDialogs.cpp:173 +#: src/slic3r/GUI/UpdateDialogs.cpp:116 src/slic3r/GUI/UpdateDialogs.cpp:182 msgid "Comment:" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:148 src/slic3r/GUI/UpdateDialogs.cpp:210 +#: src/slic3r/GUI/UpdateDialogs.cpp:136 +msgid "Install" +msgstr "" + +#: src/slic3r/GUI/UpdateDialogs.cpp:157 src/slic3r/GUI/UpdateDialogs.cpp:219 #, possible-c-format msgid "%s incompatibility" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:148 +#: src/slic3r/GUI/UpdateDialogs.cpp:157 msgid "You must install a configuration update." msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:151 +#: src/slic3r/GUI/UpdateDialogs.cpp:160 #, possible-c-format msgid "" "%s will now start updates. Otherwise it won't be able to start.\n" @@ -7475,17 +7522,17 @@ msgid "" "Updated configuration bundles:" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:191 src/slic3r/GUI/UpdateDialogs.cpp:246 +#: src/slic3r/GUI/UpdateDialogs.cpp:200 src/slic3r/GUI/UpdateDialogs.cpp:255 #, possible-c-format msgid "Exit %s" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:211 +#: src/slic3r/GUI/UpdateDialogs.cpp:220 #, possible-c-format msgid "%s configuration is incompatible" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:216 +#: src/slic3r/GUI/UpdateDialogs.cpp:225 #, possible-c-format msgid "" "This version of %s is not compatible with currently installed configuration " @@ -7498,20 +7545,20 @@ msgid "" "existing configuration before installing files compatible with this %s." msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:225 +#: src/slic3r/GUI/UpdateDialogs.cpp:234 #, possible-c-format msgid "This %s version: %s" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:230 +#: src/slic3r/GUI/UpdateDialogs.cpp:239 msgid "Incompatible bundles:" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:249 +#: src/slic3r/GUI/UpdateDialogs.cpp:258 msgid "Re-configure" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:270 +#: src/slic3r/GUI/UpdateDialogs.cpp:279 #, possible-c-format msgid "" "%s now uses an updated configuration structure.\n" @@ -7527,19 +7574,19 @@ msgid "" "choose whether to enable automatic preset updates." msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:287 +#: src/slic3r/GUI/UpdateDialogs.cpp:296 msgid "For more information please visit our wiki page:" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:304 +#: src/slic3r/GUI/UpdateDialogs.cpp:313 msgid "Configuration updates" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:304 +#: src/slic3r/GUI/UpdateDialogs.cpp:313 msgid "No updates available" msgstr "" -#: src/slic3r/GUI/UpdateDialogs.cpp:309 +#: src/slic3r/GUI/UpdateDialogs.cpp:318 #, possible-c-format msgid "%s has no configuration updates available." msgstr "" @@ -7722,44 +7769,44 @@ msgstr "" msgid "Export of a temporary 3mf file failed" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:383 +#: src/slic3r/Utils/FixModelByWin10.cpp:384 msgid "Import of the repaired 3mf file failed" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:385 +#: src/slic3r/Utils/FixModelByWin10.cpp:386 msgid "Repaired 3MF file does not contain any object" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:387 +#: src/slic3r/Utils/FixModelByWin10.cpp:388 msgid "Repaired 3MF file contains more than one object" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:389 +#: src/slic3r/Utils/FixModelByWin10.cpp:390 msgid "Repaired 3MF file does not contain any volume" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:391 +#: src/slic3r/Utils/FixModelByWin10.cpp:392 msgid "Repaired 3MF file contains more than one volume" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:400 +#: src/slic3r/Utils/FixModelByWin10.cpp:401 msgid "Model repair finished" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:406 +#: src/slic3r/Utils/FixModelByWin10.cpp:407 msgid "Model repair canceled" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:423 +#: src/slic3r/Utils/FixModelByWin10.cpp:424 msgid "Model repaired successfully" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:423 -#: src/slic3r/Utils/FixModelByWin10.cpp:426 +#: src/slic3r/Utils/FixModelByWin10.cpp:424 +#: src/slic3r/Utils/FixModelByWin10.cpp:427 msgid "Model Repair by the Netfabb service" msgstr "" -#: src/slic3r/Utils/FixModelByWin10.cpp:426 +#: src/slic3r/Utils/FixModelByWin10.cpp:427 msgid "Model repair failed:" msgstr "" @@ -7794,24 +7841,36 @@ msgid "Note: OctoPrint version at least 1.1.0 is required." msgstr "" #: src/slic3r/Utils/OctoPrint.cpp:185 -msgid "Connection to Prusa SL1 works correctly." +msgid "Connection to Prusa SL1 / SL1S works correctly." msgstr "" #: src/slic3r/Utils/OctoPrint.cpp:191 msgid "Could not connect to Prusa SLA" msgstr "" -#: src/slic3r/Utils/PresetUpdater.cpp:727 +#: src/slic3r/Utils/OctoPrint.cpp:229 +msgid "Connection to PrusaLink works correctly." +msgstr "" + +#: src/slic3r/Utils/OctoPrint.cpp:235 +msgid "Could not connect to PrusaLink" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:65 +msgid "Copying of file %1% to %2% failed: %3%" +msgstr "" + +#: src/slic3r/Utils/PresetUpdater.cpp:744 #, possible-c-format msgid "requires min. %s and max. %s" msgstr "" -#: src/slic3r/Utils/PresetUpdater.cpp:731 +#: src/slic3r/Utils/PresetUpdater.cpp:748 #, possible-c-format msgid "requires min. %s" msgstr "" -#: src/slic3r/Utils/PresetUpdater.cpp:734 +#: src/slic3r/Utils/PresetUpdater.cpp:751 #, possible-c-format msgid "requires max. %s" msgstr "" @@ -7838,7 +7897,7 @@ msgid "" "connections. See logs for additional details." msgstr "" -#: src/slic3r/Utils/Process.cpp:151 +#: src/slic3r/Utils/Process.cpp:157 msgid "Open G-code file:" msgstr "" @@ -7860,7 +7919,7 @@ msgid "" "Try to repair the model or change its orientation on the bed." msgstr "" -#: src/libslic3r/GCode.cpp:1261 +#: src/libslic3r/GCode.cpp:1274 msgid "" "Your print is very close to the priming regions. Make sure there is no " "collision." @@ -7875,13 +7934,13 @@ msgid "" "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible." msgstr "" -#: src/libslic3r/Format/3mf.cpp:1668 +#: src/libslic3r/Format/3mf.cpp:1693 msgid "" "The selected 3mf file has been saved with a newer version of %1% and is not " "compatible." msgstr "" -#: src/libslic3r/Format/AMF.cpp:958 +#: src/libslic3r/Format/AMF.cpp:979 msgid "" "The selected amf file has been saved with a newer version of %1% and is not " "compatible." @@ -8011,7 +8070,7 @@ msgstr "" msgid "write calledback failed" msgstr "" -#: src/libslic3r/Preset.cpp:1299 +#: src/libslic3r/Preset.cpp:1307 msgid "filament" msgstr "" @@ -8298,8 +8357,8 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:67 msgid "" -"Picture sizes to be stored into a .gcode and .sl1 files, in the following " -"format: \"XxY, XxY, ...\"" +"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " +"following format: \"XxY, XxY, ...\"" msgstr "" #: src/libslic3r/PrintConfig.cpp:75 @@ -8424,7 +8483,7 @@ msgstr "" msgid "mm or % (zero to disable)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:199 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:199 src/libslic3r/PrintConfig.cpp:2293 msgid "Other layers" msgstr "" @@ -8490,7 +8549,7 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:252 src/libslic3r/PrintConfig.cpp:395 #: src/libslic3r/PrintConfig.cpp:940 src/libslic3r/PrintConfig.cpp:1079 #: src/libslic3r/PrintConfig.cpp:1360 src/libslic3r/PrintConfig.cpp:1409 -#: src/libslic3r/PrintConfig.cpp:1419 src/libslic3r/PrintConfig.cpp:1612 +#: src/libslic3r/PrintConfig.cpp:1419 src/libslic3r/PrintConfig.cpp:1614 msgid "mm/s²" msgstr "" @@ -8506,10 +8565,10 @@ msgid "" msgstr "" #: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:852 -#: src/libslic3r/PrintConfig.cpp:1853 src/libslic3r/PrintConfig.cpp:1863 -#: src/libslic3r/PrintConfig.cpp:2121 src/libslic3r/PrintConfig.cpp:2276 -#: src/libslic3r/PrintConfig.cpp:2475 src/libslic3r/PrintConfig.cpp:2976 -#: src/libslic3r/PrintConfig.cpp:3097 +#: src/libslic3r/PrintConfig.cpp:1855 src/libslic3r/PrintConfig.cpp:1865 +#: src/libslic3r/PrintConfig.cpp:2123 src/libslic3r/PrintConfig.cpp:2278 +#: src/libslic3r/PrintConfig.cpp:2477 src/libslic3r/PrintConfig.cpp:2978 +#: src/libslic3r/PrintConfig.cpp:3099 msgid "°" msgstr "" @@ -8523,9 +8582,9 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:271 src/libslic3r/PrintConfig.cpp:864 #: src/libslic3r/PrintConfig.cpp:1248 src/libslic3r/PrintConfig.cpp:1427 -#: src/libslic3r/PrintConfig.cpp:1490 src/libslic3r/PrintConfig.cpp:1745 -#: src/libslic3r/PrintConfig.cpp:2653 src/libslic3r/PrintConfig.cpp:2890 -#: src/libslic3r/PrintConfig.cpp:3016 +#: src/libslic3r/PrintConfig.cpp:1490 src/libslic3r/PrintConfig.cpp:1747 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2892 +#: src/libslic3r/PrintConfig.cpp:3018 msgid "%" msgstr "" @@ -8557,9 +8616,9 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:1343 src/libslic3r/PrintConfig.cpp:1377 #: src/libslic3r/PrintConfig.cpp:1389 src/libslic3r/PrintConfig.cpp:1399 #: src/libslic3r/PrintConfig.cpp:1449 src/libslic3r/PrintConfig.cpp:1508 -#: src/libslic3r/PrintConfig.cpp:1642 src/libslic3r/PrintConfig.cpp:1820 -#: src/libslic3r/PrintConfig.cpp:1829 src/libslic3r/PrintConfig.cpp:2255 -#: src/libslic3r/PrintConfig.cpp:2382 +#: src/libslic3r/PrintConfig.cpp:1644 src/libslic3r/PrintConfig.cpp:1822 +#: src/libslic3r/PrintConfig.cpp:1831 src/libslic3r/PrintConfig.cpp:2257 +#: src/libslic3r/PrintConfig.cpp:2384 msgid "mm/s" msgstr "" @@ -8674,8 +8733,8 @@ msgstr "" msgid "Default print profile" msgstr "" -#: src/libslic3r/PrintConfig.cpp:409 src/libslic3r/PrintConfig.cpp:2820 -#: src/libslic3r/PrintConfig.cpp:2831 +#: src/libslic3r/PrintConfig.cpp:409 src/libslic3r/PrintConfig.cpp:2822 +#: src/libslic3r/PrintConfig.cpp:2833 msgid "" "Default print profile associated with the current printer profile. On " "selection of the current printer profile, this print profile will be " @@ -8746,7 +8805,7 @@ msgid "" msgstr "" #: src/libslic3r/PrintConfig.cpp:483 src/libslic3r/PrintConfig.cpp:918 -#: src/libslic3r/PrintConfig.cpp:2236 +#: src/libslic3r/PrintConfig.cpp:2238 msgid "Rectilinear" msgstr "" @@ -8799,9 +8858,9 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:511 src/libslic3r/PrintConfig.cpp:621 #: src/libslic3r/PrintConfig.cpp:962 src/libslic3r/PrintConfig.cpp:975 #: src/libslic3r/PrintConfig.cpp:1104 src/libslic3r/PrintConfig.cpp:1159 -#: src/libslic3r/PrintConfig.cpp:1185 src/libslic3r/PrintConfig.cpp:1632 -#: src/libslic3r/PrintConfig.cpp:1961 src/libslic3r/PrintConfig.cpp:2110 -#: src/libslic3r/PrintConfig.cpp:2178 src/libslic3r/PrintConfig.cpp:2339 +#: src/libslic3r/PrintConfig.cpp:1185 src/libslic3r/PrintConfig.cpp:1634 +#: src/libslic3r/PrintConfig.cpp:1963 src/libslic3r/PrintConfig.cpp:2112 +#: src/libslic3r/PrintConfig.cpp:2180 src/libslic3r/PrintConfig.cpp:2341 msgid "mm or %" msgstr "" @@ -8813,8 +8872,8 @@ msgid "" msgstr "" #: src/libslic3r/PrintConfig.cpp:522 src/libslic3r/PrintConfig.cpp:984 -#: src/libslic3r/PrintConfig.cpp:1920 src/libslic3r/PrintConfig.cpp:1972 -#: src/libslic3r/PrintConfig.cpp:2222 src/libslic3r/PrintConfig.cpp:2352 +#: src/libslic3r/PrintConfig.cpp:1922 src/libslic3r/PrintConfig.cpp:1974 +#: src/libslic3r/PrintConfig.cpp:2224 src/libslic3r/PrintConfig.cpp:2354 msgid "mm/s or %" msgstr "" @@ -8938,7 +8997,7 @@ msgid "" "maximum speeds." msgstr "" -#: src/libslic3r/PrintConfig.cpp:637 src/libslic3r/PrintConfig.cpp:1908 +#: src/libslic3r/PrintConfig.cpp:637 src/libslic3r/PrintConfig.cpp:1910 msgid "approximate seconds" msgstr "" @@ -9093,8 +9152,8 @@ msgid "" "average." msgstr "" -#: src/libslic3r/PrintConfig.cpp:779 src/libslic3r/PrintConfig.cpp:2731 -#: src/libslic3r/PrintConfig.cpp:2732 +#: src/libslic3r/PrintConfig.cpp:779 src/libslic3r/PrintConfig.cpp:2733 +#: src/libslic3r/PrintConfig.cpp:2734 msgid "Density" msgstr "" @@ -9152,7 +9211,7 @@ msgstr "" msgid "g" msgstr "" -#: src/libslic3r/PrintConfig.cpp:843 src/libslic3r/PrintConfig.cpp:2815 +#: src/libslic3r/PrintConfig.cpp:843 src/libslic3r/PrintConfig.cpp:2817 msgid "(Unknown)" msgstr "" @@ -9203,7 +9262,7 @@ msgstr "" msgid "Line" msgstr "" -#: src/libslic3r/PrintConfig.cpp:926 src/libslic3r/PrintConfig.cpp:2238 +#: src/libslic3r/PrintConfig.cpp:926 src/libslic3r/PrintConfig.cpp:2240 msgid "Honeycomb" msgstr "" @@ -9824,28 +9883,28 @@ msgid "" "the kind of the host." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1558 +#: src/libslic3r/PrintConfig.cpp:1560 msgid "Only retract when crossing perimeters" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1559 +#: src/libslic3r/PrintConfig.cpp:1561 msgid "" "Disables retraction when the travel path does not exceed the upper layer's " "perimeters (and thus any ooze will be probably invisible)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1566 +#: src/libslic3r/PrintConfig.cpp:1568 msgid "" "This option will drop the temperature of the inactive extruders to prevent " "oozing. It will enable a tall skirt automatically and move extruders outside " "such skirt when changing temperatures." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1573 +#: src/libslic3r/PrintConfig.cpp:1575 msgid "Output filename format" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1576 msgid "" "You can use all configuration options as variables inside this template. For " "example: [layer_height], [fill_density] etc. You can also use [timestamp], " @@ -9853,31 +9912,31 @@ msgid "" "[input_filename], [input_filename_base]." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1583 +#: src/libslic3r/PrintConfig.cpp:1585 msgid "Detect bridging perimeters" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1585 +#: src/libslic3r/PrintConfig.cpp:1587 msgid "" "Experimental option to adjust flow for overhangs (bridge flow will be used), " "to apply bridge speed to them and enable fan." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1591 +#: src/libslic3r/PrintConfig.cpp:1593 msgid "Filament parking position" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1594 msgid "" "Distance of the extruder tip from the position where the filament is parked " "when unloaded. This should match the value in printer firmware." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1600 +#: src/libslic3r/PrintConfig.cpp:1602 msgid "Extra loading distance" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1601 +#: src/libslic3r/PrintConfig.cpp:1603 msgid "" "When set to zero, the distance the filament is moved from parking position " "during load is exactly the same as it was moved back during unload. When " @@ -9885,27 +9944,27 @@ msgid "" "than unloading." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1609 src/libslic3r/PrintConfig.cpp:1626 -#: src/libslic3r/PrintConfig.cpp:1639 src/libslic3r/PrintConfig.cpp:1649 +#: src/libslic3r/PrintConfig.cpp:1611 src/libslic3r/PrintConfig.cpp:1628 +#: src/libslic3r/PrintConfig.cpp:1641 src/libslic3r/PrintConfig.cpp:1651 msgid "Perimeters" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1610 +#: src/libslic3r/PrintConfig.cpp:1612 msgid "" "This is the acceleration your printer will use for perimeters. Set zero to " "disable acceleration control for perimeters." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1617 +#: src/libslic3r/PrintConfig.cpp:1619 msgid "Perimeter extruder" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1619 +#: src/libslic3r/PrintConfig.cpp:1621 msgid "" "The extruder to use when printing perimeters and brim. First extruder is 1." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1628 +#: src/libslic3r/PrintConfig.cpp:1630 msgid "" "Set this to a non-zero value to set a manual extrusion width for perimeters. " "You may want to use thinner extrudates to get more accurate surfaces. If " @@ -9914,12 +9973,12 @@ msgid "" "it will be computed over layer height." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1641 +#: src/libslic3r/PrintConfig.cpp:1643 msgid "" "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1651 +#: src/libslic3r/PrintConfig.cpp:1653 msgid "" "This option sets the number of perimeters to generate for each layer. Note " "that Slic3r may increase this number automatically when it detects sloping " @@ -9927,11 +9986,11 @@ msgid "" "Perimeters option is enabled." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1655 +#: src/libslic3r/PrintConfig.cpp:1657 msgid "(minimum)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1663 +#: src/libslic3r/PrintConfig.cpp:1665 msgid "" "If you want to process the output G-code through custom scripts, just list " "their absolute paths here. Separate multiple scripts with a semicolon. " @@ -9940,55 +9999,55 @@ msgid "" "environment variables." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1675 +#: src/libslic3r/PrintConfig.cpp:1677 msgid "Printer type" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1676 +#: src/libslic3r/PrintConfig.cpp:1678 msgid "Type of the printer." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1681 +#: src/libslic3r/PrintConfig.cpp:1683 msgid "Printer notes" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1682 +#: src/libslic3r/PrintConfig.cpp:1684 msgid "You can put your notes regarding the printer here." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1690 +#: src/libslic3r/PrintConfig.cpp:1692 msgid "Printer vendor" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1693 msgid "Name of the printer vendor." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1696 +#: src/libslic3r/PrintConfig.cpp:1698 msgid "Printer variant" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1697 +#: src/libslic3r/PrintConfig.cpp:1699 msgid "" "Name of the printer variant. For example, the printer variants may be " "differentiated by a nozzle diameter." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1714 +#: src/libslic3r/PrintConfig.cpp:1716 msgid "Raft layers" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1716 +#: src/libslic3r/PrintConfig.cpp:1718 msgid "" "The object will be raised by this number of layers, and support material " "will be generated under it." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1724 +#: src/libslic3r/PrintConfig.cpp:1726 msgid "Resolution" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1725 +#: src/libslic3r/PrintConfig.cpp:1727 msgid "" "Minimum detail resolution, used to simplify the input file for speeding up " "the slicing job and reducing memory usage. High-resolution models often " @@ -9996,277 +10055,277 @@ msgid "" "simplification and use full resolution from input." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1735 +#: src/libslic3r/PrintConfig.cpp:1737 msgid "Minimum travel after retraction" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1736 +#: src/libslic3r/PrintConfig.cpp:1738 msgid "" "Retraction is not triggered when travel moves are shorter than this length." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1742 +#: src/libslic3r/PrintConfig.cpp:1744 msgid "Retract amount before wipe" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1743 +#: src/libslic3r/PrintConfig.cpp:1745 msgid "" "With bowden extruders, it may be wise to do some amount of quick retract " "before doing the wipe movement." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1750 +#: src/libslic3r/PrintConfig.cpp:1752 msgid "Retract on layer change" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1751 +#: src/libslic3r/PrintConfig.cpp:1753 msgid "This flag enforces a retraction whenever a Z move is done." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1756 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1758 src/libslic3r/PrintConfig.cpp:1766 msgid "Length" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1757 +#: src/libslic3r/PrintConfig.cpp:1759 msgid "Retraction Length" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1758 +#: src/libslic3r/PrintConfig.cpp:1760 msgid "" "When retraction is triggered, filament is pulled back by the specified " "amount (the length is measured on raw filament, before it enters the " "extruder)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1760 src/libslic3r/PrintConfig.cpp:1769 +#: src/libslic3r/PrintConfig.cpp:1762 src/libslic3r/PrintConfig.cpp:1771 msgid "mm (zero to disable)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1765 +#: src/libslic3r/PrintConfig.cpp:1767 msgid "Retraction Length (Toolchange)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1766 +#: src/libslic3r/PrintConfig.cpp:1768 msgid "" "When retraction is triggered before changing tool, filament is pulled back " "by the specified amount (the length is measured on raw filament, before it " "enters the extruder)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1774 +#: src/libslic3r/PrintConfig.cpp:1776 msgid "Lift Z" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1775 +#: src/libslic3r/PrintConfig.cpp:1777 msgid "" "If you set this to a positive value, Z is quickly raised every time a " "retraction is triggered. When using multiple extruders, only the setting for " "the first extruder will be considered." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1782 +#: src/libslic3r/PrintConfig.cpp:1784 msgid "Above Z" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1783 +#: src/libslic3r/PrintConfig.cpp:1785 msgid "Only lift Z above" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1784 +#: src/libslic3r/PrintConfig.cpp:1786 msgid "" "If you set this to a positive value, Z lift will only take place above the " "specified absolute Z. You can tune this setting for skipping lift on the " "first layers." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1791 +#: src/libslic3r/PrintConfig.cpp:1793 msgid "Below Z" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1792 +#: src/libslic3r/PrintConfig.cpp:1794 msgid "Only lift Z below" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1793 +#: src/libslic3r/PrintConfig.cpp:1795 msgid "" "If you set this to a positive value, Z lift will only take place below the " "specified absolute Z. You can tune this setting for limiting lift to the " "first layers." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1801 src/libslic3r/PrintConfig.cpp:1809 +#: src/libslic3r/PrintConfig.cpp:1803 src/libslic3r/PrintConfig.cpp:1811 msgid "Extra length on restart" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1802 +#: src/libslic3r/PrintConfig.cpp:1804 msgid "" "When the retraction is compensated after the travel move, the extruder will " "push this additional amount of filament. This setting is rarely needed." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1810 +#: src/libslic3r/PrintConfig.cpp:1812 msgid "" "When the retraction is compensated after changing tool, the extruder will " "push this additional amount of filament." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1818 +#: src/libslic3r/PrintConfig.cpp:1819 src/libslic3r/PrintConfig.cpp:1820 msgid "Retraction Speed" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1819 +#: src/libslic3r/PrintConfig.cpp:1821 msgid "The speed for retractions (it only applies to the extruder motor)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1825 src/libslic3r/PrintConfig.cpp:1826 +#: src/libslic3r/PrintConfig.cpp:1827 src/libslic3r/PrintConfig.cpp:1828 msgid "Deretraction Speed" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1827 +#: src/libslic3r/PrintConfig.cpp:1829 msgid "" "The speed for loading of a filament into extruder after retraction (it only " "applies to the extruder motor). If left to zero, the retraction speed is " "used." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1834 +#: src/libslic3r/PrintConfig.cpp:1836 msgid "Seam position" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1836 +#: src/libslic3r/PrintConfig.cpp:1838 msgid "Position of perimeters starting points." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1842 +#: src/libslic3r/PrintConfig.cpp:1844 msgid "Random" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1843 +#: src/libslic3r/PrintConfig.cpp:1845 msgid "Nearest" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1844 +#: src/libslic3r/PrintConfig.cpp:1846 msgid "Aligned" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1852 +#: src/libslic3r/PrintConfig.cpp:1854 msgid "Direction" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1854 +#: src/libslic3r/PrintConfig.cpp:1856 msgid "Preferred direction of the seam" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1855 +#: src/libslic3r/PrintConfig.cpp:1857 msgid "Seam preferred direction" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1862 +#: src/libslic3r/PrintConfig.cpp:1864 msgid "Jitter" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1864 +#: src/libslic3r/PrintConfig.cpp:1866 msgid "Seam preferred direction jitter" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1865 +#: src/libslic3r/PrintConfig.cpp:1867 msgid "Preferred direction of the seam - jitter" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1874 msgid "Distance from object" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1873 +#: src/libslic3r/PrintConfig.cpp:1875 msgid "" "Distance between skirt and object(s). Set this to zero to attach the skirt " "to the object(s) and get a brim for better adhesion." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1880 +#: src/libslic3r/PrintConfig.cpp:1882 msgid "Skirt height" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1881 +#: src/libslic3r/PrintConfig.cpp:1883 msgid "" "Height of skirt expressed in layers. Set this to a tall value to use skirt " "as a shield against drafts." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1888 +#: src/libslic3r/PrintConfig.cpp:1890 msgid "Draft shield" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1889 +#: src/libslic3r/PrintConfig.cpp:1891 msgid "" "If enabled, the skirt will be as tall as a highest printed object. This is " "useful to protect an ABS or ASA print from warping and detaching from print " "bed due to wind draft." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1895 +#: src/libslic3r/PrintConfig.cpp:1897 msgid "Loops (minimum)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1896 +#: src/libslic3r/PrintConfig.cpp:1898 msgid "Skirt Loops" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1897 +#: src/libslic3r/PrintConfig.cpp:1899 msgid "" "Number of loops for the skirt. If the Minimum Extrusion Length option is " "set, the number of loops might be greater than the one configured here. Set " "this to zero to disable skirt completely." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1905 +#: src/libslic3r/PrintConfig.cpp:1907 msgid "Slow down if layer print time is below" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1906 +#: src/libslic3r/PrintConfig.cpp:1908 msgid "" "If layer print time is estimated below this number of seconds, print moves " "speed will be scaled down to extend duration to this value." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1915 +#: src/libslic3r/PrintConfig.cpp:1917 msgid "Small perimeters" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1917 +#: src/libslic3r/PrintConfig.cpp:1919 msgid "" "This separate setting will affect the speed of perimeters having radius <= " "6.5mm (usually holes). If expressed as percentage (for example: 80%) it will " "be calculated on the perimeters speed setting above. Set to zero for auto." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1927 +#: src/libslic3r/PrintConfig.cpp:1929 msgid "Solid infill threshold area" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1929 +#: src/libslic3r/PrintConfig.cpp:1931 msgid "" "Force solid infill for regions having a smaller area than the specified " "threshold." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1930 +#: src/libslic3r/PrintConfig.cpp:1932 msgid "mm²" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1936 +#: src/libslic3r/PrintConfig.cpp:1938 msgid "Solid infill extruder" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1938 +#: src/libslic3r/PrintConfig.cpp:1940 msgid "The extruder to use when printing solid infill." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1946 msgid "Solid infill every" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1946 +#: src/libslic3r/PrintConfig.cpp:1948 msgid "" "This feature allows to force a solid layer every given number of layers. " "Zero to disable. You can set this to any value (for example 9999); Slic3r " @@ -10274,7 +10333,7 @@ msgid "" "according to nozzle diameter and layer height." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:1960 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "solid surfaces. If left zero, default extrusion width will be used if set, " @@ -10282,26 +10341,26 @@ msgid "" "(for example 90%) it will be computed over layer height." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1969 +#: src/libslic3r/PrintConfig.cpp:1971 msgid "" "Speed for printing solid regions (top/bottom/internal horizontal shells). " "This can be expressed as a percentage (for example: 80%) over the default " "infill speed above. Set to zero for auto." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1981 +#: src/libslic3r/PrintConfig.cpp:1983 msgid "Number of solid layers to generate on top and bottom surfaces." msgstr "" -#: src/libslic3r/PrintConfig.cpp:1987 src/libslic3r/PrintConfig.cpp:1988 +#: src/libslic3r/PrintConfig.cpp:1989 src/libslic3r/PrintConfig.cpp:1990 msgid "Minimum thickness of a top / bottom shell" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1994 +#: src/libslic3r/PrintConfig.cpp:1996 msgid "Spiral vase" msgstr "" -#: src/libslic3r/PrintConfig.cpp:1995 +#: src/libslic3r/PrintConfig.cpp:1997 msgid "" "This feature will raise Z gradually while printing a single-walled object in " "order to remove any visible seam. This option requires a single perimeter, " @@ -10310,18 +10369,18 @@ msgid "" "when printing more than one single object." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2005 msgid "Temperature variation" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2004 +#: src/libslic3r/PrintConfig.cpp:2006 msgid "" "Temperature difference to be applied when an extruder is not active. Enables " "a full-height \"sacrificial\" skirt on which the nozzles are periodically " "wiped." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2014 +#: src/libslic3r/PrintConfig.cpp:2016 msgid "" "This start procedure is inserted at the beginning, after bed has reached the " "target temperature and extruder just started heating, and before extruder " @@ -10332,7 +10391,7 @@ msgid "" "put a \"M109 S[first_layer_temperature]\" command wherever you want." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2031 msgid "" "This start procedure is inserted at the beginning, after any printer start " "gcode (and after any toolchange to this filament in case of multi-material " @@ -10345,45 +10404,45 @@ msgid "" "extruders, the gcode is processed in extruder order." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2045 +#: src/libslic3r/PrintConfig.cpp:2047 msgid "Color change G-code" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2046 +#: src/libslic3r/PrintConfig.cpp:2048 msgid "This G-code will be used as a code for the color change" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2055 +#: src/libslic3r/PrintConfig.cpp:2057 msgid "This G-code will be used as a code for the pause print" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2064 +#: src/libslic3r/PrintConfig.cpp:2066 msgid "This G-code will be used as a custom code" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2072 +#: src/libslic3r/PrintConfig.cpp:2074 msgid "Single Extruder Multi Material" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:2075 msgid "The printer multiplexes filaments into a single hot end." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2078 +#: src/libslic3r/PrintConfig.cpp:2080 msgid "Prime all printing extruders" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2079 +#: src/libslic3r/PrintConfig.cpp:2081 msgid "" "If enabled, all printing extruders will be primed at the front edge of the " "print bed at the start of the print." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2084 +#: src/libslic3r/PrintConfig.cpp:2086 msgid "No sparse layers (EXPERIMENTAL)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2085 +#: src/libslic3r/PrintConfig.cpp:2087 msgid "" "If enabled, the wipe tower will not be printed on layers with no " "toolchanges. On layers with a toolchange, extruder will travel downward to " @@ -10391,75 +10450,75 @@ msgid "" "with the print." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2092 +#: src/libslic3r/PrintConfig.cpp:2094 msgid "Generate support material" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2094 +#: src/libslic3r/PrintConfig.cpp:2096 msgid "Enable support material generation." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2098 +#: src/libslic3r/PrintConfig.cpp:2100 msgid "Auto generated supports" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2100 +#: src/libslic3r/PrintConfig.cpp:2102 msgid "" "If checked, supports will be generated automatically based on the overhang " "threshold value. If unchecked, supports will be generated inside the " "\"Support Enforcer\" volumes only." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2106 +#: src/libslic3r/PrintConfig.cpp:2108 msgid "XY separation between an object and its support" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2108 +#: src/libslic3r/PrintConfig.cpp:2110 msgid "" "XY separation between an object and its support. If expressed as percentage " "(for example 50%), it will be calculated over external perimeter width." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2118 +#: src/libslic3r/PrintConfig.cpp:2120 msgid "Pattern angle" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2120 +#: src/libslic3r/PrintConfig.cpp:2122 msgid "" "Use this setting to rotate the support material pattern on the horizontal " "plane." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2130 src/libslic3r/PrintConfig.cpp:2925 +#: src/libslic3r/PrintConfig.cpp:2132 src/libslic3r/PrintConfig.cpp:2927 msgid "" "Only create support if it lies on a build plate. Don't create support on a " "print." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2136 +#: src/libslic3r/PrintConfig.cpp:2138 msgid "Contact Z distance" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2138 +#: src/libslic3r/PrintConfig.cpp:2140 msgid "" "The vertical distance between object and support material interface. Setting " "this to 0 will also prevent Slic3r from using bridge flow and speed for the " "first object layer." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2145 +#: src/libslic3r/PrintConfig.cpp:2147 msgid "0 (soluble)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2146 +#: src/libslic3r/PrintConfig.cpp:2148 msgid "0.2 (detachable)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2151 +#: src/libslic3r/PrintConfig.cpp:2153 msgid "Enforce support for the first" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2153 +#: src/libslic3r/PrintConfig.cpp:2155 msgid "" "Generate support material for the specified number of layers counting from " "bottom, regardless of whether normal support material is enabled or not and " @@ -10467,21 +10526,21 @@ msgid "" "of objects having a very thin or poor footprint on the build plate." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2158 +#: src/libslic3r/PrintConfig.cpp:2160 msgid "Enforce support for the first n layers" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2164 +#: src/libslic3r/PrintConfig.cpp:2166 msgid "Support material/raft/skirt extruder" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2166 +#: src/libslic3r/PrintConfig.cpp:2168 msgid "" "The extruder to use when printing support material, raft and skirt (1+, 0 to " "use the current extruder to minimize tool changes)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2175 +#: src/libslic3r/PrintConfig.cpp:2177 msgid "" "Set this to a non-zero value to set a manual extrusion width for support " "material. If left zero, default extrusion width will be used if set, " @@ -10489,89 +10548,89 @@ msgid "" "example 90%) it will be computed over layer height." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2184 +#: src/libslic3r/PrintConfig.cpp:2186 msgid "Interface loops" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2186 +#: src/libslic3r/PrintConfig.cpp:2188 msgid "" "Cover the top contact layer of the supports with loops. Disabled by default." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2191 +#: src/libslic3r/PrintConfig.cpp:2193 msgid "Support material/raft interface extruder" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2193 +#: src/libslic3r/PrintConfig.cpp:2195 msgid "" "The extruder to use when printing support material interface (1+, 0 to use " "the current extruder to minimize tool changes). This affects raft too." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2200 +#: src/libslic3r/PrintConfig.cpp:2202 msgid "Interface layers" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2202 +#: src/libslic3r/PrintConfig.cpp:2204 msgid "" "Number of interface layers to insert between the object(s) and support " "material." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2209 +#: src/libslic3r/PrintConfig.cpp:2211 msgid "Interface pattern spacing" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2211 +#: src/libslic3r/PrintConfig.cpp:2213 msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2220 +#: src/libslic3r/PrintConfig.cpp:2222 msgid "" "Speed for printing support material interface layers. If expressed as " "percentage (for example 50%) it will be calculated over support material " "speed." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2229 +#: src/libslic3r/PrintConfig.cpp:2231 msgid "Pattern" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2231 +#: src/libslic3r/PrintConfig.cpp:2233 msgid "Pattern used to generate support material." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2237 +#: src/libslic3r/PrintConfig.cpp:2239 msgid "Rectilinear grid" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2243 +#: src/libslic3r/PrintConfig.cpp:2245 msgid "Pattern spacing" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2245 +#: src/libslic3r/PrintConfig.cpp:2247 msgid "Spacing between support material lines." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2254 +#: src/libslic3r/PrintConfig.cpp:2256 msgid "Speed for printing support material." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2261 +#: src/libslic3r/PrintConfig.cpp:2263 msgid "Synchronize with object layers" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2263 +#: src/libslic3r/PrintConfig.cpp:2265 msgid "" "Synchronize support layers with the object print layers. This is useful with " "multi-material printers, where the extruder switch is expensive." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2269 +#: src/libslic3r/PrintConfig.cpp:2271 msgid "Overhang threshold" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2273 msgid "" "Support material will not be generated for overhangs whose slope angle (90° " "= vertical) is above the given threshold. In other words, this value " @@ -10580,47 +10639,47 @@ msgid "" "detection (recommended)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2283 +#: src/libslic3r/PrintConfig.cpp:2285 msgid "With sheath around the support" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2285 +#: src/libslic3r/PrintConfig.cpp:2287 msgid "" "Add a sheath (a single perimeter line) around the base support. This makes " "the support more reliable, but also more difficult to remove." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2292 +#: src/libslic3r/PrintConfig.cpp:2294 msgid "" "Nozzle temperature for layers after the first one. Set this to zero to " "disable temperature control commands in the output G-code." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2295 +#: src/libslic3r/PrintConfig.cpp:2297 msgid "Nozzle temperature" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2301 +#: src/libslic3r/PrintConfig.cpp:2303 msgid "Detect thin walls" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2303 +#: src/libslic3r/PrintConfig.cpp:2305 msgid "" "Detect single-width walls (parts where two extrusions don't fit and we need " "to collapse them into a single trace)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2309 +#: src/libslic3r/PrintConfig.cpp:2311 msgid "Threads" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2310 +#: src/libslic3r/PrintConfig.cpp:2312 msgid "" "Threads are used to parallelize long-running tasks. Optimal threads number " "is slightly above the number of available cores/processors." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2322 +#: src/libslic3r/PrintConfig.cpp:2324 msgid "" "This custom code is inserted before every toolchange. Placeholder variables " "for all PrusaSlicer settings as well as {previous_extruder} and " @@ -10630,7 +10689,7 @@ msgid "" "behaviour both before and after the toolchange." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2335 +#: src/libslic3r/PrintConfig.cpp:2337 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "top surfaces. You may want to use thinner extrudates to fill all narrow " @@ -10639,7 +10698,7 @@ msgid "" "percentage (for example 90%) it will be computed over layer height." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2347 +#: src/libslic3r/PrintConfig.cpp:2349 msgid "" "Speed for printing top solid layers (it only applies to the uppermost " "external layers and not to their internal solid layers). You may want to " @@ -10648,54 +10707,54 @@ msgid "" "for auto." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2362 +#: src/libslic3r/PrintConfig.cpp:2364 msgid "Number of solid layers to generate on top surfaces." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2363 +#: src/libslic3r/PrintConfig.cpp:2365 msgid "Top solid layers" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2371 +#: src/libslic3r/PrintConfig.cpp:2373 msgid "" "The number of top solid layers is increased above top_solid_layers if " "necessary to satisfy minimum thickness of top shell. This is useful to " "prevent pillowing effect when printing with variable layer height." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2374 +#: src/libslic3r/PrintConfig.cpp:2376 msgid "Minimum top shell thickness" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2381 +#: src/libslic3r/PrintConfig.cpp:2383 msgid "Speed for travel moves (jumps between distant extrusion points)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2389 +#: src/libslic3r/PrintConfig.cpp:2391 msgid "Use firmware retraction" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2390 +#: src/libslic3r/PrintConfig.cpp:2392 msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " "handle the retraction. This is only supported in recent Marlin." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2396 +#: src/libslic3r/PrintConfig.cpp:2398 msgid "Use relative E distances" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2397 +#: src/libslic3r/PrintConfig.cpp:2399 msgid "" "If your firmware requires relative E values, check this, otherwise leave it " "unchecked. Most firmwares use absolute values." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2403 +#: src/libslic3r/PrintConfig.cpp:2405 msgid "Use volumetric E" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2404 +#: src/libslic3r/PrintConfig.cpp:2406 msgid "" "This experimental setting uses outputs the E values in cubic millimeters " "instead of linear millimeters. If your firmware doesn't already know " @@ -10705,127 +10764,127 @@ msgid "" "only supported in recent Marlin." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2414 +#: src/libslic3r/PrintConfig.cpp:2416 msgid "Enable variable layer height feature" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2415 +#: src/libslic3r/PrintConfig.cpp:2417 msgid "" "Some printers or printer setups may have difficulties printing with a " "variable layer height. Enabled by default." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2421 +#: src/libslic3r/PrintConfig.cpp:2423 msgid "Wipe while retracting" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2422 +#: src/libslic3r/PrintConfig.cpp:2424 msgid "" "This flag will move the nozzle while retracting to minimize the possible " "blob on leaky extruders." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2429 +#: src/libslic3r/PrintConfig.cpp:2431 msgid "" "Multi material printers may need to prime or purge extruders on tool " "changes. Extrude the excess material into the wipe tower." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2435 +#: src/libslic3r/PrintConfig.cpp:2437 msgid "Purging volumes - load/unload volumes" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2436 +#: src/libslic3r/PrintConfig.cpp:2438 msgid "" "This vector saves required volumes to change from/to each tool used on the " "wipe tower. These values are used to simplify creation of the full purging " "volumes below." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2442 +#: src/libslic3r/PrintConfig.cpp:2444 msgid "Purging volumes - matrix" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2443 +#: src/libslic3r/PrintConfig.cpp:2445 msgid "" "This matrix describes volumes (in cubic milimetres) required to purge the " "new filament on the wipe tower for any given pair of tools." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2452 +#: src/libslic3r/PrintConfig.cpp:2454 msgid "Position X" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2453 +#: src/libslic3r/PrintConfig.cpp:2455 msgid "X coordinate of the left front corner of a wipe tower" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2459 +#: src/libslic3r/PrintConfig.cpp:2461 msgid "Position Y" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2460 +#: src/libslic3r/PrintConfig.cpp:2462 msgid "Y coordinate of the left front corner of a wipe tower" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2467 +#: src/libslic3r/PrintConfig.cpp:2469 msgid "Width of a wipe tower" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2473 +#: src/libslic3r/PrintConfig.cpp:2475 msgid "Wipe tower rotation angle" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2474 +#: src/libslic3r/PrintConfig.cpp:2476 msgid "Wipe tower rotation angle with respect to x-axis." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2481 +#: src/libslic3r/PrintConfig.cpp:2483 msgid "Wipe into this object's infill" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2482 +#: src/libslic3r/PrintConfig.cpp:2484 msgid "" "Purging after toolchange will done inside this object's infills. This lowers " "the amount of waste but may result in longer print time due to additional " "travel moves." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2489 +#: src/libslic3r/PrintConfig.cpp:2491 msgid "Wipe into this object" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2490 +#: src/libslic3r/PrintConfig.cpp:2492 msgid "" "Object will be used to purge the nozzle after a toolchange to save material " "that would otherwise end up in the wipe tower and decrease print time. " "Colours of the objects will be mixed as a result." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2496 +#: src/libslic3r/PrintConfig.cpp:2498 msgid "Maximal bridging distance" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2499 msgid "Maximal distance between supports on sparse infill sections." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2503 +#: src/libslic3r/PrintConfig.cpp:2505 msgid "XY Size Compensation" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2505 +#: src/libslic3r/PrintConfig.cpp:2507 msgid "" "The object will be grown/shrunk in the XY plane by the configured value " "(negative = inwards, positive = outwards). This might be useful for fine-" "tuning hole sizes." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2513 +#: src/libslic3r/PrintConfig.cpp:2515 msgid "Z offset" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2514 +#: src/libslic3r/PrintConfig.cpp:2516 msgid "" "This value will be added (or subtracted) from all the Z coordinates in the " "output G-code. It is used to compensate for bad Z endstop position: for " @@ -10833,414 +10892,414 @@ msgid "" "print bed, set this to -0.3 (or fix your endstop)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2581 +#: src/libslic3r/PrintConfig.cpp:2583 msgid "Display width" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2582 +#: src/libslic3r/PrintConfig.cpp:2584 msgid "Width of the display" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2589 msgid "Display height" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2588 +#: src/libslic3r/PrintConfig.cpp:2590 msgid "Height of the display" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2593 +#: src/libslic3r/PrintConfig.cpp:2595 msgid "Number of pixels in" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2595 +#: src/libslic3r/PrintConfig.cpp:2597 msgid "Number of pixels in X" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2601 +#: src/libslic3r/PrintConfig.cpp:2603 msgid "Number of pixels in Y" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2606 +#: src/libslic3r/PrintConfig.cpp:2608 msgid "Display horizontal mirroring" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2607 +#: src/libslic3r/PrintConfig.cpp:2609 msgid "Mirror horizontally" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2608 +#: src/libslic3r/PrintConfig.cpp:2610 msgid "Enable horizontal mirroring of output images" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2613 +#: src/libslic3r/PrintConfig.cpp:2615 msgid "Display vertical mirroring" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2614 +#: src/libslic3r/PrintConfig.cpp:2616 msgid "Mirror vertically" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2615 +#: src/libslic3r/PrintConfig.cpp:2617 msgid "Enable vertical mirroring of output images" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2620 +#: src/libslic3r/PrintConfig.cpp:2622 msgid "Display orientation" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2621 +#: src/libslic3r/PrintConfig.cpp:2623 msgid "" "Set the actual LCD display orientation inside the SLA printer. Portrait mode " "will flip the meaning of display width and height parameters and the output " "images will be rotated by 90 degrees." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2627 +#: src/libslic3r/PrintConfig.cpp:2629 msgid "Landscape" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2628 +#: src/libslic3r/PrintConfig.cpp:2630 msgid "Portrait" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2633 +#: src/libslic3r/PrintConfig.cpp:2635 msgid "Fast" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2634 +#: src/libslic3r/PrintConfig.cpp:2636 msgid "Fast tilt" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2635 +#: src/libslic3r/PrintConfig.cpp:2637 msgid "Time of the fast tilt" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2642 +#: src/libslic3r/PrintConfig.cpp:2644 msgid "Slow" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2643 +#: src/libslic3r/PrintConfig.cpp:2645 msgid "Slow tilt" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2644 +#: src/libslic3r/PrintConfig.cpp:2646 msgid "Time of the slow tilt" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2651 +#: src/libslic3r/PrintConfig.cpp:2653 msgid "Area fill" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2652 +#: src/libslic3r/PrintConfig.cpp:2654 msgid "" "The percentage of the bed area. \n" "If the print area exceeds the specified value, \n" "then a slow tilt will be used, otherwise - a fast tilt" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2659 src/libslic3r/PrintConfig.cpp:2660 -#: src/libslic3r/PrintConfig.cpp:2661 +#: src/libslic3r/PrintConfig.cpp:2661 src/libslic3r/PrintConfig.cpp:2662 +#: src/libslic3r/PrintConfig.cpp:2663 msgid "Printer scaling correction" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2667 src/libslic3r/PrintConfig.cpp:2668 +#: src/libslic3r/PrintConfig.cpp:2669 src/libslic3r/PrintConfig.cpp:2670 msgid "Printer absolute correction" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2669 +#: src/libslic3r/PrintConfig.cpp:2671 msgid "" "Will inflate or deflate the sliced 2D polygons according to the sign of the " "correction." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2675 +#: src/libslic3r/PrintConfig.cpp:2677 msgid "Elephant foot minimum width" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2677 +#: src/libslic3r/PrintConfig.cpp:2679 msgid "" "Minimum width of features to maintain when doing elephant foot compensation." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2684 src/libslic3r/PrintConfig.cpp:2685 +#: src/libslic3r/PrintConfig.cpp:2686 src/libslic3r/PrintConfig.cpp:2687 msgid "Printer gamma correction" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2686 +#: src/libslic3r/PrintConfig.cpp:2688 msgid "" "This will apply a gamma correction to the rasterized 2D polygons. A gamma " "value of zero means thresholding with the threshold in the middle. This " "behaviour eliminates antialiasing without losing holes in polygons." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2698 src/libslic3r/PrintConfig.cpp:2699 +#: src/libslic3r/PrintConfig.cpp:2700 src/libslic3r/PrintConfig.cpp:2701 msgid "SLA material type" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2710 src/libslic3r/PrintConfig.cpp:2711 +#: src/libslic3r/PrintConfig.cpp:2712 src/libslic3r/PrintConfig.cpp:2713 msgid "Initial layer height" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2717 src/libslic3r/PrintConfig.cpp:2718 +#: src/libslic3r/PrintConfig.cpp:2719 src/libslic3r/PrintConfig.cpp:2720 msgid "Bottle volume" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2719 +#: src/libslic3r/PrintConfig.cpp:2721 msgid "ml" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2724 src/libslic3r/PrintConfig.cpp:2725 +#: src/libslic3r/PrintConfig.cpp:2726 src/libslic3r/PrintConfig.cpp:2727 msgid "Bottle weight" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2726 +#: src/libslic3r/PrintConfig.cpp:2728 msgid "kg" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2733 +#: src/libslic3r/PrintConfig.cpp:2735 msgid "g/ml" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2740 +#: src/libslic3r/PrintConfig.cpp:2742 msgid "money/bottle" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2745 +#: src/libslic3r/PrintConfig.cpp:2747 msgid "Faded layers" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2746 +#: src/libslic3r/PrintConfig.cpp:2748 msgid "" "Number of the layers needed for the exposure time fade from initial exposure " "time to the exposure time" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2753 src/libslic3r/PrintConfig.cpp:2754 +#: src/libslic3r/PrintConfig.cpp:2755 src/libslic3r/PrintConfig.cpp:2756 msgid "Minimum exposure time" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2761 src/libslic3r/PrintConfig.cpp:2762 +#: src/libslic3r/PrintConfig.cpp:2763 src/libslic3r/PrintConfig.cpp:2764 msgid "Maximum exposure time" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2769 src/libslic3r/PrintConfig.cpp:2770 +#: src/libslic3r/PrintConfig.cpp:2771 src/libslic3r/PrintConfig.cpp:2772 msgid "Exposure time" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2776 src/libslic3r/PrintConfig.cpp:2777 +#: src/libslic3r/PrintConfig.cpp:2778 src/libslic3r/PrintConfig.cpp:2779 msgid "Minimum initial exposure time" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2784 src/libslic3r/PrintConfig.cpp:2785 +#: src/libslic3r/PrintConfig.cpp:2786 src/libslic3r/PrintConfig.cpp:2787 msgid "Maximum initial exposure time" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2792 src/libslic3r/PrintConfig.cpp:2793 +#: src/libslic3r/PrintConfig.cpp:2794 src/libslic3r/PrintConfig.cpp:2795 msgid "Initial exposure time" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2799 src/libslic3r/PrintConfig.cpp:2800 +#: src/libslic3r/PrintConfig.cpp:2801 src/libslic3r/PrintConfig.cpp:2802 msgid "Correction for expansion" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2806 +#: src/libslic3r/PrintConfig.cpp:2808 msgid "SLA print material notes" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2807 +#: src/libslic3r/PrintConfig.cpp:2809 msgid "You can put your notes regarding the SLA print material here." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2819 src/libslic3r/PrintConfig.cpp:2830 +#: src/libslic3r/PrintConfig.cpp:2821 src/libslic3r/PrintConfig.cpp:2832 msgid "Default SLA material profile" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2841 +#: src/libslic3r/PrintConfig.cpp:2843 msgid "Generate supports" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2843 +#: src/libslic3r/PrintConfig.cpp:2845 msgid "Generate supports for the models" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2848 +#: src/libslic3r/PrintConfig.cpp:2850 msgid "Pinhead front diameter" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2850 +#: src/libslic3r/PrintConfig.cpp:2852 msgid "Diameter of the pointing side of the head" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2857 +#: src/libslic3r/PrintConfig.cpp:2859 msgid "Head penetration" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2859 +#: src/libslic3r/PrintConfig.cpp:2861 msgid "How much the pinhead has to penetrate the model surface" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2866 +#: src/libslic3r/PrintConfig.cpp:2868 msgid "Pinhead width" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2868 +#: src/libslic3r/PrintConfig.cpp:2870 msgid "Width from the back sphere center to the front sphere center" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2876 +#: src/libslic3r/PrintConfig.cpp:2878 msgid "Pillar diameter" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2878 +#: src/libslic3r/PrintConfig.cpp:2880 msgid "Diameter in mm of the support pillars" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2886 +#: src/libslic3r/PrintConfig.cpp:2888 msgid "Small pillar diameter percent" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2888 +#: src/libslic3r/PrintConfig.cpp:2890 msgid "" "The percentage of smaller pillars compared to the normal pillar diameter " "which are used in problematic areas where a normal pilla cannot fit." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2897 +#: src/libslic3r/PrintConfig.cpp:2899 msgid "Max bridges on a pillar" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2899 +#: src/libslic3r/PrintConfig.cpp:2901 msgid "" "Maximum number of bridges that can be placed on a pillar. Bridges hold " "support point pinheads and connect to pillars as small branches." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2907 +#: src/libslic3r/PrintConfig.cpp:2909 msgid "Pillar connection mode" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2908 +#: src/libslic3r/PrintConfig.cpp:2910 msgid "" "Controls the bridge type between two neighboring pillars. Can be zig-zag, " "cross (double zig-zag) or dynamic which will automatically switch between " "the first two depending on the distance of the two pillars." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2916 +#: src/libslic3r/PrintConfig.cpp:2918 msgid "Zig-Zag" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2917 +#: src/libslic3r/PrintConfig.cpp:2919 msgid "Cross" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2918 +#: src/libslic3r/PrintConfig.cpp:2920 msgid "Dynamic" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2930 +#: src/libslic3r/PrintConfig.cpp:2932 msgid "Pillar widening factor" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2932 +#: src/libslic3r/PrintConfig.cpp:2934 msgid "" "Merging bridges or pillars into another pillars can increase the radius. " "Zero means no increase, one means full increase." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2941 +#: src/libslic3r/PrintConfig.cpp:2943 msgid "Support base diameter" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2943 +#: src/libslic3r/PrintConfig.cpp:2945 msgid "Diameter in mm of the pillar base" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2951 +#: src/libslic3r/PrintConfig.cpp:2953 msgid "Support base height" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2953 +#: src/libslic3r/PrintConfig.cpp:2955 msgid "The height of the pillar base cone" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2960 +#: src/libslic3r/PrintConfig.cpp:2962 msgid "Support base safety distance" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2963 +#: src/libslic3r/PrintConfig.cpp:2965 msgid "" "The minimum distance of the pillar base from the model in mm. Makes sense in " "zero elevation mode where a gap according to this parameter is inserted " "between the model and the pad." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2973 +#: src/libslic3r/PrintConfig.cpp:2975 msgid "Critical angle" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2975 +#: src/libslic3r/PrintConfig.cpp:2977 msgid "The default angle for connecting support sticks and junctions." msgstr "" -#: src/libslic3r/PrintConfig.cpp:2983 +#: src/libslic3r/PrintConfig.cpp:2985 msgid "Max bridge length" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2985 +#: src/libslic3r/PrintConfig.cpp:2987 msgid "The max length of a bridge" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2992 +#: src/libslic3r/PrintConfig.cpp:2994 msgid "Max pillar linking distance" msgstr "" -#: src/libslic3r/PrintConfig.cpp:2994 +#: src/libslic3r/PrintConfig.cpp:2996 msgid "" "The max distance of two pillars to get linked with each other. A zero value " "will prohibit pillar cascading." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3004 +#: src/libslic3r/PrintConfig.cpp:3006 msgid "" "How much the supports should lift up the supported object. If \"Pad around " "object\" is enabled, this value is ignored." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3015 +#: src/libslic3r/PrintConfig.cpp:3017 msgid "This is a relative measure of support points density." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3021 +#: src/libslic3r/PrintConfig.cpp:3023 msgid "Minimal distance of the support points" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3023 +#: src/libslic3r/PrintConfig.cpp:3025 msgid "No support points will be placed closer than this threshold." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3029 +#: src/libslic3r/PrintConfig.cpp:3031 msgid "Use pad" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3031 +#: src/libslic3r/PrintConfig.cpp:3033 msgid "Add a pad underneath the supported model" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3036 +#: src/libslic3r/PrintConfig.cpp:3038 msgid "Pad wall thickness" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3038 +#: src/libslic3r/PrintConfig.cpp:3040 msgid "The thickness of the pad and its optional cavity walls." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3046 +#: src/libslic3r/PrintConfig.cpp:3048 msgid "Pad wall height" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3047 +#: src/libslic3r/PrintConfig.cpp:3049 msgid "" "Defines the pad cavity depth. Set to zero to disable the cavity. Be careful " "when enabling this feature, as some resins may produce an extreme suction " @@ -11248,111 +11307,111 @@ msgid "" "difficult." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3060 +#: src/libslic3r/PrintConfig.cpp:3062 msgid "Pad brim size" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3061 +#: src/libslic3r/PrintConfig.cpp:3063 msgid "How far should the pad extend around the contained geometry" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3071 +#: src/libslic3r/PrintConfig.cpp:3073 msgid "Max merge distance" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3073 +#: src/libslic3r/PrintConfig.cpp:3075 msgid "" "Some objects can get along with a few smaller pads instead of a single big " "one. This parameter defines how far the center of two smaller pads should " "be. If theyare closer, they will get merged into one pad." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3093 +#: src/libslic3r/PrintConfig.cpp:3095 msgid "Pad wall slope" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3095 +#: src/libslic3r/PrintConfig.cpp:3097 msgid "" "The slope of the pad wall relative to the bed plane. 90 degrees means " "straight walls." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3106 +#: src/libslic3r/PrintConfig.cpp:3108 msgid "Create pad around object and ignore the support elevation" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3111 +#: src/libslic3r/PrintConfig.cpp:3113 msgid "Pad around object everywhere" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3113 +#: src/libslic3r/PrintConfig.cpp:3115 msgid "Force pad around object everywhere" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3118 +#: src/libslic3r/PrintConfig.cpp:3120 msgid "Pad object gap" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3120 +#: src/libslic3r/PrintConfig.cpp:3122 msgid "" "The gap between the object bottom and the generated pad in zero elevation " "mode." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3129 +#: src/libslic3r/PrintConfig.cpp:3131 msgid "Pad object connector stride" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3131 +#: src/libslic3r/PrintConfig.cpp:3133 msgid "" "Distance between two connector sticks which connect the object and the " "generated pad." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3138 +#: src/libslic3r/PrintConfig.cpp:3140 msgid "Pad object connector width" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3140 +#: src/libslic3r/PrintConfig.cpp:3142 msgid "" "Width of the connector sticks which connect the object and the generated pad." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3147 +#: src/libslic3r/PrintConfig.cpp:3149 msgid "Pad object connector penetration" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3150 +#: src/libslic3r/PrintConfig.cpp:3152 msgid "How much should the tiny connectors penetrate into the model body." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3157 +#: src/libslic3r/PrintConfig.cpp:3159 msgid "Enable hollowing" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3159 +#: src/libslic3r/PrintConfig.cpp:3161 msgid "Hollow out a model to have an empty interior" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3164 +#: src/libslic3r/PrintConfig.cpp:3166 msgid "Wall thickness" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3166 +#: src/libslic3r/PrintConfig.cpp:3168 msgid "Minimum wall thickness of a hollowed model." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3174 +#: src/libslic3r/PrintConfig.cpp:3176 msgid "Accuracy" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3176 +#: src/libslic3r/PrintConfig.cpp:3178 msgid "" "Performance vs accuracy of calculation. Lower values may produce unwanted " "artifacts." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3186 +#: src/libslic3r/PrintConfig.cpp:3188 msgid "" "Hollowing is done in two steps: first, an imaginary interior is calculated " "deeper (offset plus the closing distance) in the object and then it's " @@ -11361,270 +11420,300 @@ msgid "" "most." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3602 +#: src/libslic3r/PrintConfig.cpp:3606 msgid "Export OBJ" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3603 +#: src/libslic3r/PrintConfig.cpp:3607 msgid "Export the model(s) as OBJ." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3614 +#: src/libslic3r/PrintConfig.cpp:3618 msgid "Export SLA" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3615 +#: src/libslic3r/PrintConfig.cpp:3619 msgid "Slice the model and export SLA printing layers as PNG." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3620 +#: src/libslic3r/PrintConfig.cpp:3624 msgid "Export 3MF" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3621 +#: src/libslic3r/PrintConfig.cpp:3625 msgid "Export the model(s) as 3MF." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3625 +#: src/libslic3r/PrintConfig.cpp:3629 msgid "Export AMF" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3626 +#: src/libslic3r/PrintConfig.cpp:3630 msgid "Export the model(s) as AMF." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3630 +#: src/libslic3r/PrintConfig.cpp:3634 msgid "Export STL" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3631 +#: src/libslic3r/PrintConfig.cpp:3635 msgid "Export the model(s) as STL." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3636 +#: src/libslic3r/PrintConfig.cpp:3640 msgid "Slice the model and export toolpaths as G-code." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3641 +#: src/libslic3r/PrintConfig.cpp:3645 msgid "G-code viewer" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3642 +#: src/libslic3r/PrintConfig.cpp:3646 msgid "Visualize an already sliced and saved G-code" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3647 +#: src/libslic3r/PrintConfig.cpp:3651 msgid "Slice" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3648 +#: src/libslic3r/PrintConfig.cpp:3652 msgid "" "Slice the model as FFF or SLA based on the printer_technology configuration " "value." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3653 +#: src/libslic3r/PrintConfig.cpp:3657 msgid "Help" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3654 +#: src/libslic3r/PrintConfig.cpp:3658 msgid "Show this help." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3659 +#: src/libslic3r/PrintConfig.cpp:3663 msgid "Help (FFF options)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3660 +#: src/libslic3r/PrintConfig.cpp:3664 msgid "Show the full list of print/G-code configuration options." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3664 +#: src/libslic3r/PrintConfig.cpp:3668 msgid "Help (SLA options)" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3665 +#: src/libslic3r/PrintConfig.cpp:3669 msgid "Show the full list of SLA print configuration options." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3669 +#: src/libslic3r/PrintConfig.cpp:3673 msgid "Output Model Info" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3670 +#: src/libslic3r/PrintConfig.cpp:3674 msgid "Write information about the model to the console." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3674 +#: src/libslic3r/PrintConfig.cpp:3678 msgid "Save config file" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3675 +#: src/libslic3r/PrintConfig.cpp:3679 msgid "Save configuration to the specified file." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3685 +#: src/libslic3r/PrintConfig.cpp:3689 msgid "Align XY" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3686 +#: src/libslic3r/PrintConfig.cpp:3690 msgid "Align the model to the given point." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3691 +#: src/libslic3r/PrintConfig.cpp:3695 msgid "Cut model at the given Z." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3712 +#: src/libslic3r/PrintConfig.cpp:3716 msgid "Center" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3713 +#: src/libslic3r/PrintConfig.cpp:3717 msgid "Center the print around the given center." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3717 +#: src/libslic3r/PrintConfig.cpp:3721 msgid "Don't arrange" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3718 +#: src/libslic3r/PrintConfig.cpp:3722 msgid "" "Do not rearrange the given models before merging and keep their original XY " "coordinates." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3721 +#: src/libslic3r/PrintConfig.cpp:3725 msgid "Duplicate" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3722 +#: src/libslic3r/PrintConfig.cpp:3726 msgid "Multiply copies by this factor." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3726 +#: src/libslic3r/PrintConfig.cpp:3730 msgid "Duplicate by grid" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3727 +#: src/libslic3r/PrintConfig.cpp:3731 msgid "Multiply copies by creating a grid." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3731 +#: src/libslic3r/PrintConfig.cpp:3735 msgid "" "Arrange the supplied models in a plate and merge them in a single model in " "order to perform actions once." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3736 +#: src/libslic3r/PrintConfig.cpp:3740 msgid "" "Try to repair any non-manifold meshes (this option is implicitly added " "whenever we need to slice the model to perform the requested action)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3740 +#: src/libslic3r/PrintConfig.cpp:3744 msgid "Rotation angle around the Z axis in degrees." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3744 +#: src/libslic3r/PrintConfig.cpp:3748 msgid "Rotate around X" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3745 +#: src/libslic3r/PrintConfig.cpp:3749 msgid "Rotation angle around the X axis in degrees." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3749 +#: src/libslic3r/PrintConfig.cpp:3753 msgid "Rotate around Y" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3750 +#: src/libslic3r/PrintConfig.cpp:3754 msgid "Rotation angle around the Y axis in degrees." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3755 +#: src/libslic3r/PrintConfig.cpp:3759 msgid "Scaling factor or percentage." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3760 +#: src/libslic3r/PrintConfig.cpp:3764 msgid "" "Detect unconnected parts in the given model(s) and split them into separate " "objects." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3763 +#: src/libslic3r/PrintConfig.cpp:3767 msgid "Scale to Fit" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3764 +#: src/libslic3r/PrintConfig.cpp:3768 msgid "Scale to fit the given volume." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3773 +#: src/libslic3r/PrintConfig.cpp:3777 msgid "Ignore non-existent config files" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3774 +#: src/libslic3r/PrintConfig.cpp:3778 msgid "Do not fail if a file supplied to --load does not exist." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3777 +#: src/libslic3r/PrintConfig.cpp:3781 +msgid "" +"Forward-compatibility rule when loading configurations from config files and " +"project files (3MF, AMF)." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3782 +msgid "" +"This version of PrusaSlicer may not understand configurations produced by " +"newest PrusaSlicer versions. For example, newer PrusaSlicer may extend the " +"list of supported firmware flavors. One may decide to bail out or to " +"substitute an unknown value with a default silently or verbosely." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3789 +msgid "Bail out on unknown configuration values" +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3790 +msgid "" +"Enable reading unknown configuration values by verbosely substituting them " +"with defaults." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3791 +msgid "" +"Enable reading unknown configuration values by silently substituting them " +"with defaults." +msgstr "" + +#: src/libslic3r/PrintConfig.cpp:3795 msgid "Load config file" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3778 +#: src/libslic3r/PrintConfig.cpp:3796 msgid "" "Load configuration from the specified file. It can be used more than once to " "load options from multiple files." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3781 +#: src/libslic3r/PrintConfig.cpp:3799 msgid "Output File" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3782 +#: src/libslic3r/PrintConfig.cpp:3800 msgid "" "The file where the output will be written (if not specified, it will be " "based on the input file)." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3786 +#: src/libslic3r/PrintConfig.cpp:3804 msgid "Single instance mode" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3787 +#: src/libslic3r/PrintConfig.cpp:3805 msgid "" "If enabled, the command line arguments are sent to an existing instance of " "GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides " "the \"single_instance\" configuration value from application preferences." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3798 +#: src/libslic3r/PrintConfig.cpp:3816 msgid "Data directory" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3799 +#: src/libslic3r/PrintConfig.cpp:3817 msgid "" "Load and store settings at the given directory. This is useful for " "maintaining different profiles or including configurations from a network " "storage." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3802 +#: src/libslic3r/PrintConfig.cpp:3820 msgid "Logging level" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3803 +#: src/libslic3r/PrintConfig.cpp:3821 msgid "" "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" "trace\n" "For example. loglevel=2 logs fatal, error and warning level messages." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3809 +#: src/libslic3r/PrintConfig.cpp:3827 msgid "Render with a software renderer" msgstr "" -#: src/libslic3r/PrintConfig.cpp:3810 +#: src/libslic3r/PrintConfig.cpp:3828 msgid "" "Render with a software renderer. The bundled MESA software renderer is " "loaded instead of the default OpenGL driver." From bb4d0d22f9e752471e0d5ebd25209f84d3dfa0d9 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 30 Jun 2021 15:19:47 +0200 Subject: [PATCH 60/80] Support for CurWa CW1S firmware updater. --- src/slic3r/GUI/FirmwareDialog.cpp | 13 +++++++++---- src/slic3r/Utils/HexFile.cpp | 1 + src/slic3r/Utils/HexFile.hpp | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/FirmwareDialog.cpp b/src/slic3r/GUI/FirmwareDialog.cpp index 879e7fe34..1b4fafeac 100644 --- a/src/slic3r/GUI/FirmwareDialog.cpp +++ b/src/slic3r/GUI/FirmwareDialog.cpp @@ -65,6 +65,8 @@ enum { USB_PID_MMU_APP = 4, USB_PID_CW1_BOOT = 7, USB_PID_CW1_APP = 8, + USB_PID_CW1S_BOOT = 14, + USB_PID_CW1S_APP = 15, }; // This enum discriminates the kind of information in EVT_AVRDUDE, @@ -308,7 +310,7 @@ void FirmwareDialog::priv::update_flash_enabled() void FirmwareDialog::priv::load_hex_file(const wxString &path) { hex_file = HexFile(path.wx_str()); - const bool autodetect = hex_file.device == HexFile::DEV_MM_CONTROL || hex_file.device == HexFile::DEV_CW1; + const bool autodetect = hex_file.device == HexFile::DEV_MM_CONTROL || hex_file.device == HexFile::DEV_CW1 || hex_file.device == HexFile::DEV_CW1S; set_autodetect(autodetect); } @@ -636,6 +638,10 @@ void FirmwareDialog::priv::perform_upload() this->prepare_avr109(Avr109Pid(USB_PID_CW1_BOOT, USB_PID_CW1_APP)); break; + case HexFile::DEV_CW1S: + this->prepare_avr109(Avr109Pid(USB_PID_CW1S_BOOT, USB_PID_CW1S_APP)); + break; + default: this->prepare_mk2(); break; @@ -761,11 +767,10 @@ const char* FirmwareDialog::priv::avr109_dev_name(Avr109Pid usb_pid) { switch (usb_pid.boot) { case USB_PID_MMU_BOOT: return "Original Prusa MMU 2.0 Control"; - break; case USB_PID_CW1_BOOT: return "Original Prusa CW1"; - break; - + case USB_PID_CW1S_BOOT: + return "Original Prusa CW1S"; default: throw Slic3r::RuntimeError((boost::format("Invalid avr109 device USB PID: %1%") % usb_pid.boot).str()); } } diff --git a/src/slic3r/Utils/HexFile.cpp b/src/slic3r/Utils/HexFile.cpp index 26596f629..a13fcab02 100644 --- a/src/slic3r/Utils/HexFile.cpp +++ b/src/slic3r/Utils/HexFile.cpp @@ -19,6 +19,7 @@ static HexFile::DeviceKind parse_device_kind(const std::string &str) else if (str == "mk3") { return HexFile::DEV_MK3; } else if (str == "mm-control") { return HexFile::DEV_MM_CONTROL; } else if (str == "cw1") { return HexFile::DEV_CW1; } + else if (str == "cw1s") { return HexFile::DEV_CW1S; } else { return HexFile::DEV_GENERIC; } } diff --git a/src/slic3r/Utils/HexFile.hpp b/src/slic3r/Utils/HexFile.hpp index 742ae00e6..b32d110ed 100644 --- a/src/slic3r/Utils/HexFile.hpp +++ b/src/slic3r/Utils/HexFile.hpp @@ -17,6 +17,7 @@ struct HexFile DEV_MK3, DEV_MM_CONTROL, DEV_CW1, + DEV_CW1S, }; boost::filesystem::path path; From 21cbcd876af63c66b6b4432a825fed544987cb18 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 30 Jun 2021 16:19:06 +0200 Subject: [PATCH 61/80] Forward compatibility - config substitutions: 1) Verify whether a value looks like an enum 2) Always report substitution of an enum with a boolean. --- src/libslic3r/Config.cpp | 14 +++++++++++++- src/libslic3r/Config.hpp | 4 ++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index 68b464599..cef27a414 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -501,6 +501,16 @@ void ConfigBase::set_deserialize(std::initializer_list items this->set_deserialize(item.opt_key, item.opt_value, substitutions_ctxt, item.append); } +static inline bool looks_like_enum_value(const std::string &s) +{ + if (value.empty() || value.size() > 64 || ! isalpha(value.front())) + return false; + for (const char c : s) + if (! (isalnum(c) || c == '_' || c == '-')) + return false; + return true; +} + bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, const std::string &value, ConfigSubstitutionContext& substitutions_ctxt, bool append) { t_config_option_key opt_key = opt_key_src; @@ -546,8 +556,10 @@ bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, con // Deserialize failed, try to substitute with a default value. assert(substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable || substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::EnableSilent); - if (opt_key == "gcode_flavor" && (value == "marlin2" || value == "marlinfirmware")) + if (optdef->type == coEnum && opt_key == "gcode_flavor" && (value == "marlin2" || value == "marlinfirmware")) static_cast*>(opt)->value = gcfMarlin; + else if (optdef->type == coBool && looks_like_enum_value(value)) + static_cast(opt)->value = boost::iequals(value, "enabled") || boost::iequals(value, "on"); else opt->set(optdef->default_value.get()); diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index d17d8befe..1504448b5 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -1251,11 +1251,11 @@ public: bool deserialize(const std::string &str, bool append = false) override { UNUSED(append); - if (str == "1" || boost::iequals(str, "enabled") || boost::iequals(str, "on")) { + if (str == "1") { this->value = true; return true; } - if (str == "0" || boost::iequals(str, "disabled") || boost::iequals(str, "off")) { + if (str == "0") { this->value = false; return true; } From 609365a79d62f4af5b590e3a597eeff71865524c Mon Sep 17 00:00:00 2001 From: tamasmeszaros Date: Wed, 30 Jun 2021 14:07:32 +0200 Subject: [PATCH 62/80] Minor improvements --- src/slic3r/GUI/NotificationManager.cpp | 70 ++++++++++++++++---------- src/slic3r/GUI/NotificationManager.hpp | 46 ++++++----------- 2 files changed, 59 insertions(+), 57 deletions(-) diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index bb6c229ca..4631a4ad7 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -35,7 +35,25 @@ wxDEFINE_EVENT(EVT_EJECT_DRIVE_NOTIFICAION_CLICKED, EjectDriveNotificationClicke wxDEFINE_EVENT(EVT_EXPORT_GCODE_NOTIFICAION_CLICKED, ExportGcodeNotificationClickedEvent); wxDEFINE_EVENT(EVT_PRESET_UPDATE_AVAILABLE_CLICKED, PresetUpdateAvailableClickedEvent); -namespace Notifications_Internal{ +const NotificationManager::NotificationData NotificationManager::basic_notifications[] = { + // {NotificationType::SlicingNotPossible, NotificationLevel::RegularNotification, 10, _u8L("Slicing is not possible.")}, + // {NotificationType::ExportToRemovableFinished, NotificationLevel::ImportantNotification, 0, _u8L("Exporting finished."), _u8L("Eject drive.") }, + {NotificationType::Mouse3dDisconnected, NotificationLevel::RegularNotification, 10, _u8L("3D Mouse disconnected.") }, + // {NotificationType::Mouse3dConnected, NotificationLevel::RegularNotification, 5, _u8L("3D Mouse connected.") }, + // {NotificationType::NewPresetsAviable, NotificationLevel::ImportantNotification, 20, _u8L("New Presets are available."), _u8L("See here.") }, + {NotificationType::PresetUpdateAvailable, NotificationLevel::ImportantNotification, 20, _u8L("Configuration update is available."), _u8L("See more."), [](wxEvtHandler* evnthndlr){ + if (evnthndlr != nullptr) wxPostEvent(evnthndlr, PresetUpdateAvailableClickedEvent(EVT_PRESET_UPDATE_AVAILABLE_CLICKED)); return true; }}, + {NotificationType::NewAppAvailable, NotificationLevel::ImportantNotification, 20, _u8L("New version is available."), _u8L("See Releases page."), [](wxEvtHandler* evnthndlr){ + wxLaunchDefaultBrowser("https://github.com/prusa3d/PrusaSlicer/releases"); return true; }}, + {NotificationType::EmptyColorChangeCode, NotificationLevel::RegularNotification, 10, + _u8L("You have just added a G-code for color change, but its value is empty.\n" + "To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"") }, + //{NotificationType::NewAppAvailable, NotificationLevel::ImportantNotification, 20, _u8L("New vesion of PrusaSlicer is available.", _u8L("Download page.") }, + //{NotificationType::LoadingFailed, NotificationLevel::RegularNotification, 20, _u8L("Loading of model has Failed") }, + //{NotificationType::DeviceEjected, NotificationLevel::RegularNotification, 10, _u8L("Removable device has been safely ejected")} // if we want changeble text (like here name of device), we need to do it as CustomNotification +}; + +namespace { ImFont* add_default_font(float pixel_size) { ImGuiIO& io = ImGui::GetIO(); @@ -47,7 +65,7 @@ namespace Notifications_Internal{ return font; } - static inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, float current_fade_opacity) + inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, float current_fade_opacity) { if (fading_out) ImGui::PushStyleColor(idx, ImVec4(col.x, col.y, col.z, col.w * current_fade_opacity)); @@ -137,8 +155,8 @@ NotificationManager::PopNotification::PopNotification(const NotificationData &n, , m_last_remaining_time (n.duration) , m_counting_down (n.duration != 0) , m_text1 (n.text1) - , m_hypertext (n.hypertext) - , m_text2 (n.text2) + , m_hypertext (n.hypertext) + , m_text2 (n.text2) , m_evt_handler (evt_handler) , m_notification_start (GLCanvas3D::timestamp_now()) { @@ -186,26 +204,26 @@ void NotificationManager::PopNotification::render(GLCanvas3D& canvas, float init // color change based on fading out bool fading_pop = false; if (m_fading_out) { - Notifications_Internal::push_style_color(ImGuiCol_WindowBg, ImGui::GetStyleColorVec4(ImGuiCol_WindowBg), m_fading_out, m_current_fade_opacity); - Notifications_Internal::push_style_color(ImGuiCol_Text, ImGui::GetStyleColorVec4(ImGuiCol_Text), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_WindowBg, ImGui::GetStyleColorVec4(ImGuiCol_WindowBg), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_Text, ImGui::GetStyleColorVec4(ImGuiCol_Text), m_fading_out, m_current_fade_opacity); fading_pop = true; } // background color if (m_is_gray) { ImVec4 backcolor(0.7f, 0.7f, 0.7f, 0.5f); - Notifications_Internal::push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); } else if (m_data.level == NotificationLevel::ErrorNotification) { ImVec4 backcolor = ImGui::GetStyleColorVec4(ImGuiCol_WindowBg); backcolor.x += 0.3f; - Notifications_Internal::push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); } else if (m_data.level == NotificationLevel::WarningNotification) { ImVec4 backcolor = ImGui::GetStyleColorVec4(ImGuiCol_WindowBg); backcolor.x += 0.3f; backcolor.y += 0.15f; - Notifications_Internal::push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); } // name of window - probably indentifies window and is shown so last_end add whitespaces according to id @@ -303,23 +321,23 @@ NotificationManager::PopNotification::RenderResult NotificationManager::PopNotif if (m_fading_out) { if (!m_paused) m_current_fade_opacity -= 1.f / ((m_fading_time + 1.f) * 60.f); - Notifications_Internal::push_style_color(ImGuiCol_WindowBg, ImGui::GetStyleColorVec4(ImGuiCol_WindowBg), m_fading_out, m_current_fade_opacity); - Notifications_Internal::push_style_color(ImGuiCol_Text, ImGui::GetStyleColorVec4(ImGuiCol_Text), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_WindowBg, ImGui::GetStyleColorVec4(ImGuiCol_WindowBg), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_Text, ImGui::GetStyleColorVec4(ImGuiCol_Text), m_fading_out, m_current_fade_opacity); fading_pop = true; } // background color if (m_is_gray) { ImVec4 backcolor(0.7f, 0.7f, 0.7f, 0.5f); - Notifications_Internal::push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); } else if (m_data.level == NotificationLevel::ErrorNotification) { ImVec4 backcolor = ImGui::GetStyleColorVec4(ImGuiCol_WindowBg); backcolor.x += 0.3f; - Notifications_Internal::push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); } else if (m_data.level == NotificationLevel::WarningNotification) { ImVec4 backcolor = ImGui::GetStyleColorVec4(ImGuiCol_WindowBg); backcolor.x += 0.3f; backcolor.y += 0.15f; - Notifications_Internal::push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_WindowBg, backcolor, m_fading_out, m_current_fade_opacity); } //name of window - probably indentifies window and is shown so last_end add whitespaces according to id @@ -597,7 +615,7 @@ void NotificationManager::PopNotification::render_hypertext(ImGuiWrapper& imgui, orange_color.y += 0.2f; //text - Notifications_Internal::push_style_color(ImGuiCol_Text, orange_color, m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_Text, orange_color, m_fading_out, m_current_fade_opacity); ImGui::SetCursorPosX(text_x); ImGui::SetCursorPosY(text_y); imgui.text(text.c_str()); @@ -620,8 +638,8 @@ void NotificationManager::PopNotification::render_close_button(ImGuiWrapper& img orange_color.w = 0.8f; ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); - Notifications_Internal::push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_fading_out, m_current_fade_opacity); - Notifications_Internal::push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_fading_out, m_current_fade_opacity); ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(.0f, .0f, .0f, .0f)); @@ -720,9 +738,9 @@ void NotificationManager::PopNotification::render_minimize_button(ImGuiWrapper& { ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); - Notifications_Internal::push_style_color(ImGuiCol_ButtonActive, ImGui::GetStyleColorVec4(ImGuiCol_WindowBg), m_fading_out, m_current_fade_opacity); - Notifications_Internal::push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_fading_out, m_current_fade_opacity); - Notifications_Internal::push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_ButtonActive, ImGui::GetStyleColorVec4(ImGuiCol_WindowBg), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_fading_out, m_current_fade_opacity); //button - if part if treggered @@ -955,8 +973,8 @@ void NotificationManager::ExportFinishedNotification::render_eject_button(ImGuiW orange_color.w = 0.8f; ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(.0f, .0f, .0f, .0f)); ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImVec4(.0f, .0f, .0f, .0f)); - Notifications_Internal::push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_fading_out, m_current_fade_opacity); - Notifications_Internal::push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f), m_fading_out, m_current_fade_opacity); + push_style_color(ImGuiCol_TextSelectedBg, ImVec4(0, .75f, .75f, 1.f), m_fading_out, m_current_fade_opacity); ImGui::PushStyleColor(ImGuiCol_ButtonActive, ImVec4(.0f, .0f, .0f, .0f)); std::string button_text; @@ -1011,7 +1029,7 @@ void NotificationManager::ExportFinishedNotification::render_eject_button(ImGuiW } bool NotificationManager::ExportFinishedNotification::on_text_click() { - Notifications_Internal::open_folder(m_export_dir_path); + open_folder(m_export_dir_path); return false; } //------ProgressBar---------------- @@ -1054,10 +1072,10 @@ NotificationManager::NotificationManager(wxEvtHandler* evt_handler) : } void NotificationManager::push_notification(const NotificationType type, int timestamp) { - auto it = std::find_if(basic_notifications.begin(), basic_notifications.end(), + auto it = std::find_if(std::begin(basic_notifications), std::end(basic_notifications), boost::bind(&NotificationData::type, boost::placeholders::_1) == type); - assert(it != basic_notifications.end()); - if (it != basic_notifications.end()) + assert(it != std::end(basic_notifications)); + if (it != std::end(basic_notifications)) push_notification_data(*it, timestamp); } void NotificationManager::push_notification(const std::string& text, int timestamp) diff --git a/src/slic3r/GUI/NotificationManager.hpp b/src/slic3r/GUI/NotificationManager.hpp index 9252190ef..ee13ae8da 100644 --- a/src/slic3r/GUI/NotificationManager.hpp +++ b/src/slic3r/GUI/NotificationManager.hpp @@ -167,7 +167,7 @@ private: // Callback for hypertext - returns true if notification should close after triggering // Usually sends event to UI thread thru wxEvtHandler. // Examples in basic_notifications. - std::function callback { nullptr }; + std::function callback; const std::string text2; }; @@ -231,7 +231,7 @@ private: //returns top in actual frame float get_current_top() const { return m_top_y; } const NotificationType get_type() const { return m_data.type; } - const NotificationData get_data() const { return m_data; } + const NotificationData& get_data() const { return m_data; } const bool is_gray() const { return m_is_gray; } // Call equals one second down void substract_remaining_time(int seconds) { m_remaining_time -= seconds; } @@ -383,10 +383,10 @@ private: ProgressBarNotification(const NotificationData& n, NotificationIDProvider& id_provider, wxEvtHandler* evt_handler, float percentage) : PopNotification(n, id_provider, evt_handler) { set_percentage(percentage); } void set_percentage(float percent) { m_percentage = percent; if (percent >= 1.0f) m_progress_complete = true; else m_progress_complete = false; } protected: - virtual void init(); - virtual void render_text(ImGuiWrapper& imgui, + void init(); + void render_text(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, - const float win_pos_x, const float win_pos_y); + const float win_pos_x, const float win_pos_y) override; void render_bar(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y); @@ -410,20 +410,20 @@ private: std::string m_export_dir_path; protected: // Reserves space on right for more buttons - virtual void count_spaces() override; - virtual void render_text(ImGuiWrapper& imgui, - const float win_size_x, const float win_size_y, - const float win_pos_x, const float win_pos_y) override; + void count_spaces() override; + void render_text(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y) override; // Renders also button to open directory with exported path and eject removable media - virtual void render_close_button(ImGuiWrapper& imgui, - const float win_size_x, const float win_size_y, - const float win_pos_x, const float win_pos_y) override; + void render_close_button(ImGuiWrapper& imgui, + const float win_size_x, const float win_size_y, + const float win_pos_x, const float win_pos_y) override; void render_eject_button(ImGuiWrapper& imgui, const float win_size_x, const float win_size_y, const float win_pos_x, const float win_pos_y); - virtual void render_minimize_button(ImGuiWrapper& imgui, const float win_pos_x, const float win_pos_y) override + void render_minimize_button(ImGuiWrapper& imgui, const float win_pos_x, const float win_pos_y) override { m_minimize_b_visible = false; } - virtual bool on_text_click() override; + bool on_text_click() override; // local time of last hover for showing tooltip long m_hover_time { 0 }; }; @@ -465,23 +465,7 @@ private: #endif // ENABLE_NEW_NOTIFICATIONS_FADE_OUT */ //prepared (basic) notifications - const std::vector basic_notifications = { -// {NotificationType::SlicingNotPossible, NotificationLevel::RegularNotification, 10, _u8L("Slicing is not possible.")}, -// {NotificationType::ExportToRemovableFinished, NotificationLevel::ImportantNotification, 0, _u8L("Exporting finished."), _u8L("Eject drive.") }, - {NotificationType::Mouse3dDisconnected, NotificationLevel::RegularNotification, 10, _u8L("3D Mouse disconnected.") }, -// {NotificationType::Mouse3dConnected, NotificationLevel::RegularNotification, 5, _u8L("3D Mouse connected.") }, -// {NotificationType::NewPresetsAviable, NotificationLevel::ImportantNotification, 20, _u8L("New Presets are available."), _u8L("See here.") }, - {NotificationType::PresetUpdateAvailable, NotificationLevel::ImportantNotification, 20, _u8L("Configuration update is available."), _u8L("See more."), [](wxEvtHandler* evnthndlr){ - if (evnthndlr != nullptr) wxPostEvent(evnthndlr, PresetUpdateAvailableClickedEvent(EVT_PRESET_UPDATE_AVAILABLE_CLICKED)); return true; }}, - {NotificationType::NewAppAvailable, NotificationLevel::ImportantNotification, 20, _u8L("New version is available."), _u8L("See Releases page."), [](wxEvtHandler* evnthndlr){ - wxLaunchDefaultBrowser("https://github.com/prusa3d/PrusaSlicer/releases"); return true; }}, - {NotificationType::EmptyColorChangeCode, NotificationLevel::RegularNotification, 10, - _u8L("You have just added a G-code for color change, but its value is empty.\n" - "To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"") }, - //{NotificationType::NewAppAvailable, NotificationLevel::ImportantNotification, 20, _u8L("New vesion of PrusaSlicer is available.", _u8L("Download page.") }, - //{NotificationType::LoadingFailed, NotificationLevel::RegularNotification, 20, _u8L("Loading of model has Failed") }, - //{NotificationType::DeviceEjected, NotificationLevel::RegularNotification, 10, _u8L("Removable device has been safely ejected")} // if we want changeble text (like here name of device), we need to do it as CustomNotification - }; + static const NotificationData basic_notifications[]; }; }//namespace GUI From fea3d9f3833461453ef0543d1f971588cc03754e Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 30 Jun 2021 16:49:06 +0200 Subject: [PATCH 63/80] Localization : update for Ukr fixed some phrases --- resources/localization/uk/PrusaSlicer.mo | Bin 389683 -> 386923 bytes resources/localization/uk/PrusaSlicer_uk.po | 3256 ++++++++++--------- src/libslic3r/PrintConfig.cpp | 48 +- src/slic3r/GUI/UpdateDialogs.cpp | 2 +- 4 files changed, 1706 insertions(+), 1600 deletions(-) diff --git a/resources/localization/uk/PrusaSlicer.mo b/resources/localization/uk/PrusaSlicer.mo index 66b5e0be3e9aec8d4722f98835462869c2ac718b..261f08384a8b210f39a5a567280a48165c0c8425 100644 GIT binary patch delta 55972 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ℜ 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
M`!R~5(7;VyU#pG~)&bK6XN{aKL0dxjQwmd`oC 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 diff --git a/resources/localization/uk/PrusaSlicer_uk.po b/resources/localization/uk/PrusaSlicer_uk.po index fefe52eb5..4edd2fa9e 100644 --- a/resources/localization/uk/PrusaSlicer_uk.po +++ b/resources/localization/uk/PrusaSlicer_uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-12-18 13:59+0100\n" -"PO-Revision-Date: 2021-02-03 17:15+0100\n" +"POT-Creation-Date: 2021-06-30 16:33+0200\n" +"PO-Revision-Date: 2021-06-30 16:36+0200\n" "Last-Translator: Oleksandra Iushchenko \n" "Language-Team: \n" "Language: uk\n" @@ -37,16 +37,16 @@ msgid "About %s" msgstr "О %s" #: src/slic3r/GUI/AboutDialog.cpp:238 src/slic3r/GUI/AboutDialog.cpp:361 -#: src/slic3r/GUI/GUI_App.cpp:235 src/slic3r/GUI/MainFrame.cpp:151 +#: src/slic3r/GUI/GUI_App.cpp:243 src/slic3r/GUI/MainFrame.cpp:151 msgid "Version" msgstr "Версія" #. TRN "Slic3r _is licensed under the_ License" -#: src/slic3r/GUI/AboutDialog.cpp:265 src/slic3r/GUI/GUI_App.cpp:240 +#: src/slic3r/GUI/AboutDialog.cpp:265 src/slic3r/GUI/GUI_App.cpp:248 msgid "is licensed under the" msgstr "ліцензовано згідно" -#: src/slic3r/GUI/AboutDialog.cpp:266 src/slic3r/GUI/GUI_App.cpp:240 +#: src/slic3r/GUI/AboutDialog.cpp:266 src/slic3r/GUI/GUI_App.cpp:248 msgid "GNU Affero General Public License, version 3" msgstr "Загальна публічна ліцензія GNU Affero, версія 3" @@ -161,8 +161,8 @@ msgstr "" "друку" #: src/slic3r/GUI/BedShapeDialog.cpp:93 -#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:240 src/slic3r/GUI/Plater.cpp:162 -#: src/slic3r/GUI/Tab.cpp:2536 +#: src/slic3r/GUI/GUI_ObjectManipulation.cpp:240 src/slic3r/GUI/Plater.cpp:163 +#: src/slic3r/GUI/Tab.cpp:2543 msgid "Size" msgstr "Розмір" @@ -184,11 +184,11 @@ msgid "" "rectangle." msgstr "Відстань координат 0,0 G-коду від нижнього лівого кута прямокутника." -#: src/slic3r/GUI/BedShapeDialog.cpp:129 src/slic3r/GUI/ConfigWizard.cpp:242 -#: src/slic3r/GUI/ConfigWizard.cpp:1368 src/slic3r/GUI/ConfigWizard.cpp:1382 +#: src/slic3r/GUI/BedShapeDialog.cpp:129 src/slic3r/GUI/ConfigWizard.cpp:246 +#: src/slic3r/GUI/ConfigWizard.cpp:1372 src/slic3r/GUI/ConfigWizard.cpp:1386 #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:88 -#: src/slic3r/GUI/GCodeViewer.cpp:2337 src/slic3r/GUI/GCodeViewer.cpp:2343 -#: src/slic3r/GUI/GCodeViewer.cpp:2351 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:179 +#: src/slic3r/GUI/GCodeViewer.cpp:3986 src/slic3r/GUI/GCodeViewer.cpp:3992 +#: src/slic3r/GUI/GCodeViewer.cpp:4000 src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:179 #: src/slic3r/GUI/GUI_ObjectLayers.cpp:145 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:341 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:418 @@ -204,28 +204,28 @@ msgstr "Відстань координат 0,0 G-коду від нижньог #: src/libslic3r/PrintConfig.cpp:594 src/libslic3r/PrintConfig.cpp:774 #: src/libslic3r/PrintConfig.cpp:1258 src/libslic3r/PrintConfig.cpp:1439 #: src/libslic3r/PrintConfig.cpp:1500 src/libslic3r/PrintConfig.cpp:1518 -#: src/libslic3r/PrintConfig.cpp:1536 src/libslic3r/PrintConfig.cpp:1594 -#: src/libslic3r/PrintConfig.cpp:1604 src/libslic3r/PrintConfig.cpp:1729 -#: src/libslic3r/PrintConfig.cpp:1737 src/libslic3r/PrintConfig.cpp:1778 -#: src/libslic3r/PrintConfig.cpp:1786 src/libslic3r/PrintConfig.cpp:1796 -#: src/libslic3r/PrintConfig.cpp:1804 src/libslic3r/PrintConfig.cpp:1812 -#: src/libslic3r/PrintConfig.cpp:1875 src/libslic3r/PrintConfig.cpp:2141 -#: src/libslic3r/PrintConfig.cpp:2212 src/libslic3r/PrintConfig.cpp:2246 -#: src/libslic3r/PrintConfig.cpp:2375 src/libslic3r/PrintConfig.cpp:2454 -#: src/libslic3r/PrintConfig.cpp:2461 src/libslic3r/PrintConfig.cpp:2468 -#: src/libslic3r/PrintConfig.cpp:2498 src/libslic3r/PrintConfig.cpp:2508 -#: src/libslic3r/PrintConfig.cpp:2518 src/libslic3r/PrintConfig.cpp:2678 -#: src/libslic3r/PrintConfig.cpp:2712 src/libslic3r/PrintConfig.cpp:2851 -#: src/libslic3r/PrintConfig.cpp:2860 src/libslic3r/PrintConfig.cpp:2869 -#: src/libslic3r/PrintConfig.cpp:2879 src/libslic3r/PrintConfig.cpp:2944 -#: src/libslic3r/PrintConfig.cpp:2954 src/libslic3r/PrintConfig.cpp:2966 -#: src/libslic3r/PrintConfig.cpp:2986 src/libslic3r/PrintConfig.cpp:2996 -#: src/libslic3r/PrintConfig.cpp:3006 src/libslic3r/PrintConfig.cpp:3024 -#: src/libslic3r/PrintConfig.cpp:3039 src/libslic3r/PrintConfig.cpp:3053 -#: src/libslic3r/PrintConfig.cpp:3064 src/libslic3r/PrintConfig.cpp:3077 -#: src/libslic3r/PrintConfig.cpp:3122 src/libslic3r/PrintConfig.cpp:3132 -#: src/libslic3r/PrintConfig.cpp:3141 src/libslic3r/PrintConfig.cpp:3151 -#: src/libslic3r/PrintConfig.cpp:3167 src/libslic3r/PrintConfig.cpp:3191 +#: src/libslic3r/PrintConfig.cpp:1536 src/libslic3r/PrintConfig.cpp:1596 +#: src/libslic3r/PrintConfig.cpp:1606 src/libslic3r/PrintConfig.cpp:1731 +#: src/libslic3r/PrintConfig.cpp:1739 src/libslic3r/PrintConfig.cpp:1780 +#: src/libslic3r/PrintConfig.cpp:1788 src/libslic3r/PrintConfig.cpp:1798 +#: src/libslic3r/PrintConfig.cpp:1806 src/libslic3r/PrintConfig.cpp:1814 +#: src/libslic3r/PrintConfig.cpp:1877 src/libslic3r/PrintConfig.cpp:2143 +#: src/libslic3r/PrintConfig.cpp:2214 src/libslic3r/PrintConfig.cpp:2248 +#: src/libslic3r/PrintConfig.cpp:2377 src/libslic3r/PrintConfig.cpp:2456 +#: src/libslic3r/PrintConfig.cpp:2463 src/libslic3r/PrintConfig.cpp:2470 +#: src/libslic3r/PrintConfig.cpp:2500 src/libslic3r/PrintConfig.cpp:2510 +#: src/libslic3r/PrintConfig.cpp:2520 src/libslic3r/PrintConfig.cpp:2680 +#: src/libslic3r/PrintConfig.cpp:2714 src/libslic3r/PrintConfig.cpp:2853 +#: src/libslic3r/PrintConfig.cpp:2862 src/libslic3r/PrintConfig.cpp:2871 +#: src/libslic3r/PrintConfig.cpp:2881 src/libslic3r/PrintConfig.cpp:2946 +#: src/libslic3r/PrintConfig.cpp:2956 src/libslic3r/PrintConfig.cpp:2968 +#: src/libslic3r/PrintConfig.cpp:2988 src/libslic3r/PrintConfig.cpp:2998 +#: src/libslic3r/PrintConfig.cpp:3008 src/libslic3r/PrintConfig.cpp:3026 +#: src/libslic3r/PrintConfig.cpp:3041 src/libslic3r/PrintConfig.cpp:3055 +#: src/libslic3r/PrintConfig.cpp:3066 src/libslic3r/PrintConfig.cpp:3079 +#: src/libslic3r/PrintConfig.cpp:3124 src/libslic3r/PrintConfig.cpp:3134 +#: src/libslic3r/PrintConfig.cpp:3143 src/libslic3r/PrintConfig.cpp:3153 +#: src/libslic3r/PrintConfig.cpp:3169 src/libslic3r/PrintConfig.cpp:3193 msgid "mm" msgstr "мм" @@ -255,7 +255,7 @@ msgid "Invalid" msgstr "Недійсний" #: src/slic3r/GUI/BedShapeDialog.cpp:156 src/slic3r/GUI/BedShapeDialog.cpp:222 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2288 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2292 msgid "Shape" msgstr "Форма" @@ -263,7 +263,7 @@ msgstr "Форма" msgid "Load shape from STL..." msgstr "Завантажте форму з STL ..." -#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1826 +#: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1836 msgid "Settings" msgstr "Налаштування" @@ -276,7 +276,7 @@ msgid "Load..." msgstr "Завантажити..." #: src/slic3r/GUI/BedShapeDialog.cpp:333 src/slic3r/GUI/BedShapeDialog.cpp:413 -#: src/slic3r/GUI/Tab.cpp:3484 +#: src/slic3r/GUI/Tab.cpp:3491 msgid "Remove" msgstr "Видалити" @@ -318,7 +318,7 @@ msgstr "Виберіть файл для імпорту текстури сто msgid "Choose an STL file to import bed model from:" msgstr "Виберіть STL-файл для імпорту моделі столу з:" -#: src/slic3r/GUI/BedShapeDialog.hpp:98 src/slic3r/GUI/ConfigWizard.cpp:1327 +#: src/slic3r/GUI/BedShapeDialog.hpp:98 src/slic3r/GUI/ConfigWizard.cpp:1331 msgid "Bed Shape" msgstr "Форма столу" @@ -342,11 +342,11 @@ msgstr "Назва сервісу" msgid "OctoPrint version" msgstr "Версія OctoPrint" -#: src/slic3r/GUI/BonjourDialog.cpp:218 +#: src/slic3r/GUI/BonjourDialog.cpp:224 msgid "Searching for devices" msgstr "Пошук пристроїв" -#: src/slic3r/GUI/BonjourDialog.cpp:225 +#: src/slic3r/GUI/BonjourDialog.cpp:231 msgid "Finished" msgstr "Завершено" @@ -377,7 +377,7 @@ msgstr "" "Висота шару буде скинута до 0,01." #: src/slic3r/GUI/ConfigManipulation.cpp:49 -#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1387 +#: src/slic3r/GUI/GUI_ObjectLayers.cpp:29 src/slic3r/GUI/Tab.cpp:1394 #: src/libslic3r/PrintConfig.cpp:73 msgid "Layer height" msgstr "Висота шару" @@ -397,6 +397,7 @@ msgid "First layer height" msgstr "Висота першого шару" #: src/slic3r/GUI/ConfigManipulation.cpp:81 +#, fuzzy, c-format msgid "" "The Spiral Vase mode requires:\n" "- one perimeter\n" @@ -486,15 +487,15 @@ msgstr "Чи потрібно змінити його на прямоліній #: src/slic3r/GUI/ConfigManipulation.cpp:202 #: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 -#: src/slic3r/GUI/GUI_ObjectList.cpp:668 src/slic3r/GUI/Plater.cpp:389 -#: src/slic3r/GUI/Tab.cpp:1432 src/slic3r/GUI/Tab.cpp:1434 +#: src/slic3r/GUI/GUI_ObjectList.cpp:668 src/slic3r/GUI/Plater.cpp:390 +#: src/slic3r/GUI/Tab.cpp:1439 src/slic3r/GUI/Tab.cpp:1441 #: src/libslic3r/PrintConfig.cpp:259 src/libslic3r/PrintConfig.cpp:472 #: src/libslic3r/PrintConfig.cpp:496 src/libslic3r/PrintConfig.cpp:848 #: src/libslic3r/PrintConfig.cpp:862 src/libslic3r/PrintConfig.cpp:899 #: src/libslic3r/PrintConfig.cpp:1076 src/libslic3r/PrintConfig.cpp:1086 #: src/libslic3r/PrintConfig.cpp:1153 src/libslic3r/PrintConfig.cpp:1172 -#: src/libslic3r/PrintConfig.cpp:1191 src/libslic3r/PrintConfig.cpp:1928 -#: src/libslic3r/PrintConfig.cpp:1945 +#: src/libslic3r/PrintConfig.cpp:1191 src/libslic3r/PrintConfig.cpp:1930 +#: src/libslic3r/PrintConfig.cpp:1947 msgid "Infill" msgstr "Заповнення" @@ -543,7 +544,7 @@ msgstr "Активний" msgid "PrusaSlicer version" msgstr "Версія PrusaSlicer" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 src/libslic3r/Preset.cpp:1298 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:55 src/libslic3r/Preset.cpp:1306 msgid "print" msgstr "друк" @@ -551,20 +552,20 @@ msgstr "друк" msgid "filaments" msgstr "філаменти" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:59 src/libslic3r/Preset.cpp:1300 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:59 src/libslic3r/Preset.cpp:1308 msgid "SLA print" msgstr "SLA-друк" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/Plater.cpp:696 -#: src/libslic3r/Preset.cpp:1301 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/GUI.cpp:318 +#: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/Preset.cpp:1309 msgid "SLA material" msgstr "SLA-матеріал" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:62 src/libslic3r/Preset.cpp:1302 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:62 src/libslic3r/Preset.cpp:1310 msgid "printer" msgstr "принтер" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:66 src/slic3r/GUI/Tab.cpp:1304 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:66 src/slic3r/GUI/Tab.cpp:1311 msgid "vendor" msgstr "виробник" @@ -601,48 +602,48 @@ msgstr "Активувати" msgid "Configuration Snapshots" msgstr "Знімки конфігурації" -#: src/slic3r/GUI/ConfigWizard.cpp:242 +#: src/slic3r/GUI/ConfigWizard.cpp:246 msgid "nozzle" msgstr "сопло" -#: src/slic3r/GUI/ConfigWizard.cpp:246 +#: src/slic3r/GUI/ConfigWizard.cpp:250 msgid "Alternate nozzles:" msgstr "Альтернативні сопла:" -#: src/slic3r/GUI/ConfigWizard.cpp:310 +#: src/slic3r/GUI/ConfigWizard.cpp:314 msgid "All standard" msgstr "Всі стандартні" -#: src/slic3r/GUI/ConfigWizard.cpp:310 +#: src/slic3r/GUI/ConfigWizard.cpp:314 msgid "Standard" msgstr "Стандартний" -#: src/slic3r/GUI/ConfigWizard.cpp:311 src/slic3r/GUI/ConfigWizard.cpp:605 -#: src/slic3r/GUI/Tab.cpp:3565 src/slic3r/GUI/UnsavedChangesDialog.cpp:933 +#: src/slic3r/GUI/ConfigWizard.cpp:315 src/slic3r/GUI/ConfigWizard.cpp:609 +#: src/slic3r/GUI/Tab.cpp:3572 src/slic3r/GUI/UnsavedChangesDialog.cpp:933 msgid "All" msgstr "Всі" -#: src/slic3r/GUI/ConfigWizard.cpp:312 src/slic3r/GUI/ConfigWizard.cpp:606 -#: src/slic3r/GUI/DoubleSlider.cpp:1859 src/slic3r/GUI/Plater.cpp:361 -#: src/slic3r/GUI/Plater.cpp:504 +#: src/slic3r/GUI/ConfigWizard.cpp:316 src/slic3r/GUI/ConfigWizard.cpp:610 +#: src/slic3r/GUI/DoubleSlider.cpp:1879 src/slic3r/GUI/Plater.cpp:362 +#: src/slic3r/GUI/Plater.cpp:505 msgid "None" msgstr "Жодне" -#: src/slic3r/GUI/ConfigWizard.cpp:452 +#: src/slic3r/GUI/ConfigWizard.cpp:456 #, c-format msgid "Welcome to the %s Configuration Assistant" msgstr "Ласкаво просимо до Асистента конфігурації %s" -#: src/slic3r/GUI/ConfigWizard.cpp:454 +#: src/slic3r/GUI/ConfigWizard.cpp:458 #, c-format msgid "Welcome to the %s Configuration Wizard" msgstr "Ласкаво просимо до Майстру конфігурації %s" -#: src/slic3r/GUI/ConfigWizard.cpp:456 +#: src/slic3r/GUI/ConfigWizard.cpp:460 msgid "Welcome" msgstr "Ласкаво просимо" -#: src/slic3r/GUI/ConfigWizard.cpp:458 +#: src/slic3r/GUI/ConfigWizard.cpp:462 #, c-format msgid "" "Hello, welcome to %s! This %s helps you with the initial configuration; just " @@ -651,33 +652,33 @@ msgstr "" "Вітаємо, ласкаво просимо до %s! Цей %s допоможе вам в початковій " "конфігурації; лише кілька налаштувань, і ви будете готові до друку." -#: src/slic3r/GUI/ConfigWizard.cpp:463 +#: src/slic3r/GUI/ConfigWizard.cpp:467 msgid "Remove user profiles (a snapshot will be taken beforehand)" msgstr "Видалити профілі користувачів (знімок буде зроблено заздалегідь)" -#: src/slic3r/GUI/ConfigWizard.cpp:506 +#: src/slic3r/GUI/ConfigWizard.cpp:510 #, c-format msgid "%s Family" msgstr "%s Родина" -#: src/slic3r/GUI/ConfigWizard.cpp:594 +#: src/slic3r/GUI/ConfigWizard.cpp:598 msgid "Printer:" msgstr "Принтер:" -#: src/slic3r/GUI/ConfigWizard.cpp:596 +#: src/slic3r/GUI/ConfigWizard.cpp:600 msgid "Vendor:" msgstr "Виробник:" -#: src/slic3r/GUI/ConfigWizard.cpp:597 +#: src/slic3r/GUI/ConfigWizard.cpp:601 msgid "Profile:" msgstr "Профіль:" -#: src/slic3r/GUI/ConfigWizard.cpp:669 src/slic3r/GUI/ConfigWizard.cpp:819 -#: src/slic3r/GUI/ConfigWizard.cpp:880 src/slic3r/GUI/ConfigWizard.cpp:1017 +#: src/slic3r/GUI/ConfigWizard.cpp:673 src/slic3r/GUI/ConfigWizard.cpp:823 +#: src/slic3r/GUI/ConfigWizard.cpp:884 src/slic3r/GUI/ConfigWizard.cpp:1021 msgid "(All)" msgstr "(Всі)" -#: src/slic3r/GUI/ConfigWizard.cpp:698 +#: src/slic3r/GUI/ConfigWizard.cpp:702 msgid "" "Filaments marked with * are not compatible with some installed " "printers." @@ -685,45 +686,45 @@ msgstr "" "Філаменти, позначені *, є несумісні з деякими встановленими " "принтерами." -#: src/slic3r/GUI/ConfigWizard.cpp:701 +#: src/slic3r/GUI/ConfigWizard.cpp:705 msgid "All installed printers are compatible with the selected filament." msgstr "Усі встановлені принтери сумісні з обраним філаментем." -#: src/slic3r/GUI/ConfigWizard.cpp:721 +#: src/slic3r/GUI/ConfigWizard.cpp:725 msgid "" "Only the following installed printers are compatible with the selected " "filament:" msgstr "Тільки наступні встановлені принтери сумісні з обраним філаментом:" -#: src/slic3r/GUI/ConfigWizard.cpp:1107 +#: src/slic3r/GUI/ConfigWizard.cpp:1111 msgid "Custom Printer Setup" msgstr "Користувацьке налаштування принтера" -#: src/slic3r/GUI/ConfigWizard.cpp:1107 +#: src/slic3r/GUI/ConfigWizard.cpp:1111 msgid "Custom Printer" msgstr "Користувацький принтер" -#: src/slic3r/GUI/ConfigWizard.cpp:1109 +#: src/slic3r/GUI/ConfigWizard.cpp:1113 msgid "Define a custom printer profile" msgstr "Визначте власний профіль принтера" -#: src/slic3r/GUI/ConfigWizard.cpp:1111 +#: src/slic3r/GUI/ConfigWizard.cpp:1115 msgid "Custom profile name:" msgstr "Користувацьке ім'я пресету:" -#: src/slic3r/GUI/ConfigWizard.cpp:1136 +#: src/slic3r/GUI/ConfigWizard.cpp:1140 msgid "Automatic updates" msgstr "Автоматичні оновлення" -#: src/slic3r/GUI/ConfigWizard.cpp:1136 +#: src/slic3r/GUI/ConfigWizard.cpp:1140 msgid "Updates" msgstr "Оновлення" -#: src/slic3r/GUI/ConfigWizard.cpp:1144 src/slic3r/GUI/Preferences.cpp:94 +#: src/slic3r/GUI/ConfigWizard.cpp:1148 src/slic3r/GUI/Preferences.cpp:94 msgid "Check for application updates" msgstr "Перевірте наявність оновлень програми" -#: src/slic3r/GUI/ConfigWizard.cpp:1148 +#: src/slic3r/GUI/ConfigWizard.cpp:1152 #, c-format msgid "" "If enabled, %s checks for new application versions online. When a new " @@ -736,11 +737,11 @@ msgstr "" "наступного запуску застосування (ніколи не під час використання програми). " "Це лише механізми сповіщення, автоматична інсталяція не виконується." -#: src/slic3r/GUI/ConfigWizard.cpp:1154 src/slic3r/GUI/Preferences.cpp:129 +#: src/slic3r/GUI/ConfigWizard.cpp:1158 src/slic3r/GUI/Preferences.cpp:129 msgid "Update built-in Presets automatically" msgstr "Автоматично оновлювати вбудовані пресети" -#: src/slic3r/GUI/ConfigWizard.cpp:1158 +#: src/slic3r/GUI/ConfigWizard.cpp:1162 #, c-format msgid "" "If enabled, %s downloads updates of built-in system presets in the " @@ -753,7 +754,7 @@ msgstr "" "з’являється нова попередньо встановлена версія, вона пропонується під час " "запуску програми." -#: src/slic3r/GUI/ConfigWizard.cpp:1161 +#: src/slic3r/GUI/ConfigWizard.cpp:1165 msgid "" "Updates are never applied without user's consent and never overwrite user's " "customized settings." @@ -761,7 +762,7 @@ msgstr "" "Оновлення ніколи не застосовуються без згоди користувача та ніколи не " "перезаписують власні налаштування користувача." -#: src/slic3r/GUI/ConfigWizard.cpp:1166 +#: src/slic3r/GUI/ConfigWizard.cpp:1170 msgid "" "Additionally a backup snapshot of the whole configuration is created before " "an update is applied." @@ -769,19 +770,19 @@ msgstr "" "Крім того, перед застосуванням оновлення створюється резервний знімок всієї " "конфігурації." -#: src/slic3r/GUI/ConfigWizard.cpp:1173 src/slic3r/GUI/GUI_ObjectList.cpp:1825 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4567 src/slic3r/GUI/Plater.cpp:3116 -#: src/slic3r/GUI/Plater.cpp:4001 src/slic3r/GUI/Plater.cpp:4032 +#: src/slic3r/GUI/ConfigWizard.cpp:1177 src/slic3r/GUI/GUI_ObjectList.cpp:1829 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4573 src/slic3r/GUI/Plater.cpp:3124 +#: src/slic3r/GUI/Plater.cpp:4018 src/slic3r/GUI/Plater.cpp:4049 msgid "Reload from disk" msgstr "Перезавантажити з диска" -#: src/slic3r/GUI/ConfigWizard.cpp:1176 +#: src/slic3r/GUI/ConfigWizard.cpp:1180 msgid "" "Export full pathnames of models and parts sources into 3mf and amf files" msgstr "" "Експортуйте повні назви шляхів джерел моделей та частей у файли 3MF та AMF" -#: src/slic3r/GUI/ConfigWizard.cpp:1180 +#: src/slic3r/GUI/ConfigWizard.cpp:1184 msgid "" "If enabled, allows the Reload from disk command to automatically find and " "load the files when invoked.\n" @@ -793,23 +794,23 @@ msgstr "" "Якщо не ввімкнено, команда «Перезавантажити з диска» попросить вибрати кожен " "файл за допомогою діалогового вікна відкритого файлу." -#: src/slic3r/GUI/ConfigWizard.cpp:1190 +#: src/slic3r/GUI/ConfigWizard.cpp:1194 msgid "Files association" msgstr "Асоціація файлів" -#: src/slic3r/GUI/ConfigWizard.cpp:1192 src/slic3r/GUI/Preferences.cpp:112 +#: src/slic3r/GUI/ConfigWizard.cpp:1196 src/slic3r/GUI/Preferences.cpp:112 msgid "Associate .3mf files to PrusaSlicer" msgstr "Асоціювати 3MF-файли з PrusaSlicer" -#: src/slic3r/GUI/ConfigWizard.cpp:1193 src/slic3r/GUI/Preferences.cpp:119 +#: src/slic3r/GUI/ConfigWizard.cpp:1197 src/slic3r/GUI/Preferences.cpp:119 msgid "Associate .stl files to PrusaSlicer" msgstr "Асоціювати stl-файли з PrusaSlicer" -#: src/slic3r/GUI/ConfigWizard.cpp:1204 +#: src/slic3r/GUI/ConfigWizard.cpp:1208 msgid "View mode" msgstr "Режим перегляду" -#: src/slic3r/GUI/ConfigWizard.cpp:1206 +#: src/slic3r/GUI/ConfigWizard.cpp:1210 msgid "" "PrusaSlicer's user interfaces comes in three variants:\n" "Simple, Advanced, and Expert.\n" @@ -824,76 +825,76 @@ msgstr "" "поступово більш досконалу точну настройку, вони підходять для більш " "досвідчених користувачів." -#: src/slic3r/GUI/ConfigWizard.cpp:1211 +#: src/slic3r/GUI/ConfigWizard.cpp:1215 msgid "Simple mode" msgstr "Простий режим" -#: src/slic3r/GUI/ConfigWizard.cpp:1212 +#: src/slic3r/GUI/ConfigWizard.cpp:1216 msgid "Advanced mode" msgstr "Розширений режим" -#: src/slic3r/GUI/ConfigWizard.cpp:1213 +#: src/slic3r/GUI/ConfigWizard.cpp:1217 msgid "Expert mode" msgstr "Експертний режим" -#: src/slic3r/GUI/ConfigWizard.cpp:1219 +#: src/slic3r/GUI/ConfigWizard.cpp:1223 msgid "The size of the object can be specified in inches" msgstr "Розмір предмета можна вказати в дюймах" -#: src/slic3r/GUI/ConfigWizard.cpp:1220 +#: src/slic3r/GUI/ConfigWizard.cpp:1224 msgid "Use inches" msgstr "Використовувати дюйми" -#: src/slic3r/GUI/ConfigWizard.cpp:1254 +#: src/slic3r/GUI/ConfigWizard.cpp:1258 msgid "Other Vendors" msgstr "Інші постачальники" -#: src/slic3r/GUI/ConfigWizard.cpp:1258 +#: src/slic3r/GUI/ConfigWizard.cpp:1262 #, c-format msgid "Pick another vendor supported by %s" msgstr "Виберіть іншого постачальника, який підтримує %s" -#: src/slic3r/GUI/ConfigWizard.cpp:1289 +#: src/slic3r/GUI/ConfigWizard.cpp:1293 msgid "Firmware Type" msgstr "Тип прошивки" -#: src/slic3r/GUI/ConfigWizard.cpp:1289 src/slic3r/GUI/Tab.cpp:2172 +#: src/slic3r/GUI/ConfigWizard.cpp:1293 src/slic3r/GUI/Tab.cpp:2179 msgid "Firmware" msgstr "Прошивка" -#: src/slic3r/GUI/ConfigWizard.cpp:1293 +#: src/slic3r/GUI/ConfigWizard.cpp:1297 msgid "Choose the type of firmware used by your printer." msgstr "Виберіть тип прошивки, що використовуються вашим принтером." -#: src/slic3r/GUI/ConfigWizard.cpp:1327 +#: src/slic3r/GUI/ConfigWizard.cpp:1331 msgid "Bed Shape and Size" msgstr "Форма та розмір столу" -#: src/slic3r/GUI/ConfigWizard.cpp:1330 +#: src/slic3r/GUI/ConfigWizard.cpp:1334 msgid "Set the shape of your printer's bed." msgstr "Встановіть форму столу свого принтеру." -#: src/slic3r/GUI/ConfigWizard.cpp:1350 +#: src/slic3r/GUI/ConfigWizard.cpp:1354 msgid "Filament and Nozzle Diameters" msgstr "Діаметри філатенту та сопла" -#: src/slic3r/GUI/ConfigWizard.cpp:1350 +#: src/slic3r/GUI/ConfigWizard.cpp:1354 msgid "Print Diameters" msgstr "Діаметри друку" -#: src/slic3r/GUI/ConfigWizard.cpp:1364 +#: src/slic3r/GUI/ConfigWizard.cpp:1368 msgid "Enter the diameter of your printer's hot end nozzle." msgstr "Введіть діаметр кінчику екструдерного сопла." -#: src/slic3r/GUI/ConfigWizard.cpp:1367 +#: src/slic3r/GUI/ConfigWizard.cpp:1371 msgid "Nozzle Diameter:" msgstr "Діаметр сопла:" -#: src/slic3r/GUI/ConfigWizard.cpp:1377 +#: src/slic3r/GUI/ConfigWizard.cpp:1381 msgid "Enter the diameter of your filament." msgstr "Введіть діаметр вашого філаметну." -#: src/slic3r/GUI/ConfigWizard.cpp:1378 +#: src/slic3r/GUI/ConfigWizard.cpp:1382 msgid "" "Good precision is required, so use a caliper and do multiple measurements " "along the filament, then compute the average." @@ -901,37 +902,37 @@ msgstr "" "Необхідна висока точність, тому використовуйте калібрувальник і виконайте " "декілька вимірювань вздовж філаменту, потім обчисліть середнє значення." -#: src/slic3r/GUI/ConfigWizard.cpp:1381 +#: src/slic3r/GUI/ConfigWizard.cpp:1385 msgid "Filament Diameter:" msgstr "Діаметр філаменту:" -#: src/slic3r/GUI/ConfigWizard.cpp:1415 +#: src/slic3r/GUI/ConfigWizard.cpp:1419 msgid "Nozzle and Bed Temperatures" msgstr "Температура сопла та столу" -#: src/slic3r/GUI/ConfigWizard.cpp:1415 +#: src/slic3r/GUI/ConfigWizard.cpp:1419 msgid "Temperatures" msgstr "Температури" -#: src/slic3r/GUI/ConfigWizard.cpp:1431 +#: src/slic3r/GUI/ConfigWizard.cpp:1435 msgid "Enter the temperature needed for extruding your filament." msgstr "Введіть температуру, необхідну для екструдування вашого філаменту." -#: src/slic3r/GUI/ConfigWizard.cpp:1432 +#: src/slic3r/GUI/ConfigWizard.cpp:1436 msgid "A rule of thumb is 160 to 230 °C for PLA, and 215 to 250 °C for ABS." msgstr "Зазвичай - 160-230°C для PLA та 215-250°C для ABS." -#: src/slic3r/GUI/ConfigWizard.cpp:1435 +#: src/slic3r/GUI/ConfigWizard.cpp:1439 msgid "Extrusion Temperature:" msgstr "Температура екструзії:" -#: src/slic3r/GUI/ConfigWizard.cpp:1436 src/slic3r/GUI/ConfigWizard.cpp:1450 +#: src/slic3r/GUI/ConfigWizard.cpp:1440 src/slic3r/GUI/ConfigWizard.cpp:1454 #: src/libslic3r/PrintConfig.cpp:202 src/libslic3r/PrintConfig.cpp:950 -#: src/libslic3r/PrintConfig.cpp:994 src/libslic3r/PrintConfig.cpp:2294 +#: src/libslic3r/PrintConfig.cpp:994 src/libslic3r/PrintConfig.cpp:2296 msgid "°C" msgstr "°C" -#: src/slic3r/GUI/ConfigWizard.cpp:1445 +#: src/slic3r/GUI/ConfigWizard.cpp:1449 msgid "" "Enter the bed temperature needed for getting your filament to stick to your " "heated bed." @@ -939,7 +940,7 @@ msgstr "" "Введіть температуру столу, необхідну для того, щоб ваш філамент добре " "кріпився до нагрітого столу." -#: src/slic3r/GUI/ConfigWizard.cpp:1446 +#: src/slic3r/GUI/ConfigWizard.cpp:1450 msgid "" "A rule of thumb is 60 °C for PLA and 110 °C for ABS. Leave zero if you have " "no heated bed." @@ -947,106 +948,106 @@ msgstr "" "Зазвичай - 60°C для PLA та 110°C для ABS. Залиште рівним нулю, якщо стіл " "нерозігрітий." -#: src/slic3r/GUI/ConfigWizard.cpp:1449 +#: src/slic3r/GUI/ConfigWizard.cpp:1453 msgid "Bed Temperature:" msgstr "Температура столу:" -#: src/slic3r/GUI/ConfigWizard.cpp:1909 src/slic3r/GUI/ConfigWizard.cpp:2582 +#: src/slic3r/GUI/ConfigWizard.cpp:1913 src/slic3r/GUI/ConfigWizard.cpp:2590 msgid "Filaments" msgstr "Філаменти" -#: src/slic3r/GUI/ConfigWizard.cpp:1909 src/slic3r/GUI/ConfigWizard.cpp:2584 +#: src/slic3r/GUI/ConfigWizard.cpp:1913 src/slic3r/GUI/ConfigWizard.cpp:2592 msgid "SLA Materials" msgstr "SLA-матеріали" -#: src/slic3r/GUI/ConfigWizard.cpp:1963 +#: src/slic3r/GUI/ConfigWizard.cpp:1967 msgid "FFF Technology Printers" msgstr "Принтери технології FFF" -#: src/slic3r/GUI/ConfigWizard.cpp:1968 +#: src/slic3r/GUI/ConfigWizard.cpp:1972 msgid "SLA Technology Printers" msgstr "Принтери технології SLA" -#: src/slic3r/GUI/ConfigWizard.cpp:2274 src/slic3r/GUI/DoubleSlider.cpp:2245 -#: src/slic3r/GUI/DoubleSlider.cpp:2265 src/slic3r/GUI/GUI.cpp:244 +#: src/slic3r/GUI/ConfigWizard.cpp:2278 src/slic3r/GUI/DoubleSlider.cpp:2265 +#: src/slic3r/GUI/DoubleSlider.cpp:2285 src/slic3r/GUI/GUI.cpp:245 msgid "Notice" msgstr "Зауваження" -#: src/slic3r/GUI/ConfigWizard.cpp:2295 +#: src/slic3r/GUI/ConfigWizard.cpp:2299 msgid "The following FFF printer models have no filament selected:" msgstr "Наступні моделі FFF-принтерів не мають вибраного філаменту:" -#: src/slic3r/GUI/ConfigWizard.cpp:2299 +#: src/slic3r/GUI/ConfigWizard.cpp:2303 msgid "Do you want to select default filaments for these FFF printer models?" msgstr "" "Ви хочете вибрати філаменти за замовчуванням для цих моделей FFF-принтерів?" -#: src/slic3r/GUI/ConfigWizard.cpp:2313 +#: src/slic3r/GUI/ConfigWizard.cpp:2317 msgid "The following SLA printer models have no materials selected:" msgstr "Наступні моделі SLA-принтерів не мають вибраного матеріалу:" -#: src/slic3r/GUI/ConfigWizard.cpp:2317 +#: src/slic3r/GUI/ConfigWizard.cpp:2321 msgid "Do you want to select default SLA materials for these printer models?" msgstr "" "Ви хочете вибрати матеріали за замовчуванням для цих моделей SLA-принтерів?" -#: src/slic3r/GUI/ConfigWizard.cpp:2545 +#: src/slic3r/GUI/ConfigWizard.cpp:2553 msgid "Select all standard printers" msgstr "Виберіть усі стандартні принтери" -#: src/slic3r/GUI/ConfigWizard.cpp:2548 +#: src/slic3r/GUI/ConfigWizard.cpp:2556 msgid "< &Back" msgstr "< Назад" -#: src/slic3r/GUI/ConfigWizard.cpp:2549 +#: src/slic3r/GUI/ConfigWizard.cpp:2557 msgid "&Next >" msgstr "Далі >" -#: src/slic3r/GUI/ConfigWizard.cpp:2550 +#: src/slic3r/GUI/ConfigWizard.cpp:2558 msgid "&Finish" msgstr "Завершити" -#: src/slic3r/GUI/ConfigWizard.cpp:2551 src/slic3r/GUI/FirmwareDialog.cpp:151 +#: src/slic3r/GUI/ConfigWizard.cpp:2559 src/slic3r/GUI/FirmwareDialog.cpp:151 #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:248 #: src/slic3r/GUI/ProgressStatusBar.cpp:26 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:656 msgid "Cancel" msgstr "Скасувати" -#: src/slic3r/GUI/ConfigWizard.cpp:2564 +#: src/slic3r/GUI/ConfigWizard.cpp:2572 msgid "Prusa FFF Technology Printers" msgstr "Принтери технології FFF" -#: src/slic3r/GUI/ConfigWizard.cpp:2567 +#: src/slic3r/GUI/ConfigWizard.cpp:2575 msgid "Prusa MSLA Technology Printers" msgstr "Принтери технології MSLA" -#: src/slic3r/GUI/ConfigWizard.cpp:2582 +#: src/slic3r/GUI/ConfigWizard.cpp:2590 msgid "Filament Profiles Selection" msgstr "Вибір профілів філаменту" -#: src/slic3r/GUI/ConfigWizard.cpp:2582 src/slic3r/GUI/ConfigWizard.cpp:2584 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4144 +#: src/slic3r/GUI/ConfigWizard.cpp:2590 src/slic3r/GUI/ConfigWizard.cpp:2592 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4150 msgid "Type:" msgstr "Тип:" -#: src/slic3r/GUI/ConfigWizard.cpp:2584 +#: src/slic3r/GUI/ConfigWizard.cpp:2592 msgid "SLA Material Profiles Selection" msgstr "Вибір профілів SLA-матеріалу" -#: src/slic3r/GUI/ConfigWizard.cpp:2701 +#: src/slic3r/GUI/ConfigWizard.cpp:2709 msgid "Configuration Assistant" msgstr "Асистент конфігурації" -#: src/slic3r/GUI/ConfigWizard.cpp:2702 +#: src/slic3r/GUI/ConfigWizard.cpp:2710 msgid "Configuration &Assistant" msgstr "Асистент конфігурації" -#: src/slic3r/GUI/ConfigWizard.cpp:2704 +#: src/slic3r/GUI/ConfigWizard.cpp:2712 msgid "Configuration Wizard" msgstr "Майстер конфігурації" -#: src/slic3r/GUI/ConfigWizard.cpp:2705 +#: src/slic3r/GUI/ConfigWizard.cpp:2713 msgid "Configuration &Wizard" msgstr "Майстер конфігурації" @@ -1054,19 +1055,19 @@ msgstr "Майстер конфігурації" msgid "Place bearings in slots and resume printing" msgstr "Розмістіть необхідні деталі в гніздах і відновіть друк" -#: src/slic3r/GUI/DoubleSlider.cpp:1224 +#: src/slic3r/GUI/DoubleSlider.cpp:1244 msgid "One layer mode" msgstr "Одношаровий режим" -#: src/slic3r/GUI/DoubleSlider.cpp:1226 +#: src/slic3r/GUI/DoubleSlider.cpp:1246 msgid "Discard all custom changes" msgstr "Відхилити всі користувацькі зміни" -#: src/slic3r/GUI/DoubleSlider.cpp:1230 src/slic3r/GUI/DoubleSlider.cpp:1995 +#: src/slic3r/GUI/DoubleSlider.cpp:1250 src/slic3r/GUI/DoubleSlider.cpp:2015 msgid "Jump to move" msgstr "Перейти до руху" -#: src/slic3r/GUI/DoubleSlider.cpp:1233 +#: src/slic3r/GUI/DoubleSlider.cpp:1253 #, c-format msgid "" "Jump to height %s\n" @@ -1077,7 +1078,7 @@ msgstr "" "Налаштувати режим лінійки\n" "або Налаштувати послідовність екструдерів для поточного тіску" -#: src/slic3r/GUI/DoubleSlider.cpp:1236 +#: src/slic3r/GUI/DoubleSlider.cpp:1256 #, c-format msgid "" "Jump to height %s\n" @@ -1086,21 +1087,21 @@ msgstr "" "Перейти на висоту %s\n" "або Налаштувати режим лінійки" -#: src/slic3r/GUI/DoubleSlider.cpp:1241 +#: src/slic3r/GUI/DoubleSlider.cpp:1261 msgid "Edit current color - Right click the colored slider segment" msgstr "" "Редагувати поточний колір - Клацніть правою кнопкою миші на кольоровий " "сегмент повзунка" -#: src/slic3r/GUI/DoubleSlider.cpp:1251 +#: src/slic3r/GUI/DoubleSlider.cpp:1271 msgid "Print mode" msgstr "Режим друку" -#: src/slic3r/GUI/DoubleSlider.cpp:1265 +#: src/slic3r/GUI/DoubleSlider.cpp:1285 msgid "Add extruder change - Left click" msgstr "Додати зміну екструдеру - ліва кнопка миші" -#: src/slic3r/GUI/DoubleSlider.cpp:1267 +#: src/slic3r/GUI/DoubleSlider.cpp:1287 msgid "" "Add color change - Left click for predefined color or Shift + Left click for " "custom color selection" @@ -1108,23 +1109,23 @@ msgstr "" "Додати зміну кольору - ліва кнопка миші для попередньо визначеного кольору " "або Shift + ліва кнопка миші для властного вибору кольору" -#: src/slic3r/GUI/DoubleSlider.cpp:1269 +#: src/slic3r/GUI/DoubleSlider.cpp:1289 msgid "Add color change - Left click" msgstr "Додати зміну кольору - ліва кнопка миші" -#: src/slic3r/GUI/DoubleSlider.cpp:1270 +#: src/slic3r/GUI/DoubleSlider.cpp:1290 msgid "or press \"+\" key" msgstr "або натисніть клавішу \"+\"" -#: src/slic3r/GUI/DoubleSlider.cpp:1272 +#: src/slic3r/GUI/DoubleSlider.cpp:1292 msgid "Add another code - Ctrl + Left click" msgstr "Додайте інший код - Ctrl + ліва кнопка миші" -#: src/slic3r/GUI/DoubleSlider.cpp:1273 +#: src/slic3r/GUI/DoubleSlider.cpp:1293 msgid "Add another code - Right click" msgstr "Додайте інший код - права кнопка миші" -#: src/slic3r/GUI/DoubleSlider.cpp:1279 +#: src/slic3r/GUI/DoubleSlider.cpp:1299 msgid "" "The sequential print is on.\n" "It's impossible to apply any custom G-code for objects printing " @@ -1136,31 +1137,31 @@ msgstr "" "об'єктів.\n" "Цей код не буде оброблятися під час створення G-коду." -#: src/slic3r/GUI/DoubleSlider.cpp:1288 +#: src/slic3r/GUI/DoubleSlider.cpp:1308 msgid "Color change (\"%1%\")" msgstr "Зміну кольору (\"%1%\")" -#: src/slic3r/GUI/DoubleSlider.cpp:1289 +#: src/slic3r/GUI/DoubleSlider.cpp:1309 msgid "Color change (\"%1%\") for Extruder %2%" msgstr "Зміну кольору (\"%1%\") для екструдеру %2%" -#: src/slic3r/GUI/DoubleSlider.cpp:1291 +#: src/slic3r/GUI/DoubleSlider.cpp:1311 msgid "Pause print (\"%1%\")" msgstr "Пауза друку (\"%1%\")" -#: src/slic3r/GUI/DoubleSlider.cpp:1293 +#: src/slic3r/GUI/DoubleSlider.cpp:1313 msgid "Custom template (\"%1%\")" msgstr "Користувацький шаблон (\"%1%\")" -#: src/slic3r/GUI/DoubleSlider.cpp:1295 +#: src/slic3r/GUI/DoubleSlider.cpp:1315 msgid "Extruder (tool) is changed to Extruder \"%1%\"" msgstr "Екструдер (інструмент) змінено на Екструдер \"%1%\"" -#: src/slic3r/GUI/DoubleSlider.cpp:1302 +#: src/slic3r/GUI/DoubleSlider.cpp:1322 msgid "Note" msgstr "Примітка" -#: src/slic3r/GUI/DoubleSlider.cpp:1304 +#: src/slic3r/GUI/DoubleSlider.cpp:1324 msgid "" "G-code associated to this tick mark is in a conflict with print mode.\n" "Editing it will cause changes of Slider data." @@ -1168,7 +1169,7 @@ msgstr "" "G-код, пов'язаний з цим маркером, суперечить режиму друку.\n" "Редагування призведе до змін даних повзунка." -#: src/slic3r/GUI/DoubleSlider.cpp:1307 +#: src/slic3r/GUI/DoubleSlider.cpp:1327 msgid "" "There is a color change for extruder that won't be used till the end of " "print job.\n" @@ -1178,7 +1179,7 @@ msgstr "" "друку.\n" "Цей код не буде оброблятися під час створення G-коду." -#: src/slic3r/GUI/DoubleSlider.cpp:1310 +#: src/slic3r/GUI/DoubleSlider.cpp:1330 msgid "" "There is an extruder change set to the same extruder.\n" "This code won't be processed during G-code generation." @@ -1186,7 +1187,7 @@ msgstr "" "Існує зміна екструдера, встановлена на той самий екструдер.\n" "Цей код не буде оброблятися під час створення G-коду." -#: src/slic3r/GUI/DoubleSlider.cpp:1313 +#: src/slic3r/GUI/DoubleSlider.cpp:1333 msgid "" "There is a color change for extruder that has not been used before.\n" "Check your settings to avoid redundant color changes." @@ -1194,182 +1195,182 @@ msgstr "" "Змінюється колір екструдера, який раніше не застосовувався.\n" "Перевірте свої налаштування, щоб уникнути зайвих змін кольору." -#: src/slic3r/GUI/DoubleSlider.cpp:1318 +#: src/slic3r/GUI/DoubleSlider.cpp:1338 msgid "Delete tick mark - Left click or press \"-\" key" msgstr "" "Видалити маркер - клацніть лівою кнопкою миші або натисніть клавішу \"-\"" -#: src/slic3r/GUI/DoubleSlider.cpp:1320 +#: src/slic3r/GUI/DoubleSlider.cpp:1340 msgid "Edit tick mark - Ctrl + Left click" msgstr "Змінити маркер - Ctrl+Ліва кнопка миші" -#: src/slic3r/GUI/DoubleSlider.cpp:1321 +#: src/slic3r/GUI/DoubleSlider.cpp:1341 msgid "Edit tick mark - Right click" msgstr "Змінити маркер - Права кнопка миші" -#: src/slic3r/GUI/DoubleSlider.cpp:1417 src/slic3r/GUI/DoubleSlider.cpp:1451 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1864 +#: src/slic3r/GUI/DoubleSlider.cpp:1437 src/slic3r/GUI/DoubleSlider.cpp:1471 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1868 #, c-format msgid "Extruder %d" msgstr "Екструдер %d" -#: src/slic3r/GUI/DoubleSlider.cpp:1418 src/slic3r/GUI/GUI_ObjectList.cpp:1865 +#: src/slic3r/GUI/DoubleSlider.cpp:1438 src/slic3r/GUI/GUI_ObjectList.cpp:1869 msgid "active" msgstr "активний" -#: src/slic3r/GUI/DoubleSlider.cpp:1427 +#: src/slic3r/GUI/DoubleSlider.cpp:1447 msgid "Switch code to Change extruder" msgstr "Переключити код на \"Змінити екструдер\"" -#: src/slic3r/GUI/DoubleSlider.cpp:1427 src/slic3r/GUI/GUI_ObjectList.cpp:1832 +#: src/slic3r/GUI/DoubleSlider.cpp:1447 src/slic3r/GUI/GUI_ObjectList.cpp:1836 msgid "Change extruder" msgstr "Змінити екструдер" -#: src/slic3r/GUI/DoubleSlider.cpp:1428 +#: src/slic3r/GUI/DoubleSlider.cpp:1448 msgid "Change extruder (N/A)" msgstr "Змінити екструдер (Недоступний)" -#: src/slic3r/GUI/DoubleSlider.cpp:1430 +#: src/slic3r/GUI/DoubleSlider.cpp:1450 msgid "Use another extruder" msgstr "Використати інший екструдер" -#: src/slic3r/GUI/DoubleSlider.cpp:1452 +#: src/slic3r/GUI/DoubleSlider.cpp:1472 msgid "used" msgstr "використовується" -#: src/slic3r/GUI/DoubleSlider.cpp:1460 +#: src/slic3r/GUI/DoubleSlider.cpp:1480 msgid "Switch code to Color change (%1%) for:" msgstr "Переключити код на \"Змінити колір\" (%1%) для:" -#: src/slic3r/GUI/DoubleSlider.cpp:1461 +#: src/slic3r/GUI/DoubleSlider.cpp:1481 msgid "Add color change (%1%) for:" msgstr "Додати зміну кольору (%1%) для:" -#: src/slic3r/GUI/DoubleSlider.cpp:1797 +#: src/slic3r/GUI/DoubleSlider.cpp:1817 msgid "Add color change" msgstr "Додати зміну кольору" -#: src/slic3r/GUI/DoubleSlider.cpp:1808 +#: src/slic3r/GUI/DoubleSlider.cpp:1828 msgid "Add pause print" msgstr "Додати паузу друку" -#: src/slic3r/GUI/DoubleSlider.cpp:1812 +#: src/slic3r/GUI/DoubleSlider.cpp:1832 msgid "Add custom template" msgstr "Додати власний шаблон" -#: src/slic3r/GUI/DoubleSlider.cpp:1815 +#: src/slic3r/GUI/DoubleSlider.cpp:1835 msgid "Add custom G-code" msgstr "Додати власний G-код" -#: src/slic3r/GUI/DoubleSlider.cpp:1833 +#: src/slic3r/GUI/DoubleSlider.cpp:1853 msgid "Edit color" msgstr "Редагувати колір" -#: src/slic3r/GUI/DoubleSlider.cpp:1834 +#: src/slic3r/GUI/DoubleSlider.cpp:1854 msgid "Edit pause print message" msgstr "Редагувати повідомлення під час паузи друку" -#: src/slic3r/GUI/DoubleSlider.cpp:1835 +#: src/slic3r/GUI/DoubleSlider.cpp:1855 msgid "Edit custom G-code" msgstr "Редагувати власний G-код" -#: src/slic3r/GUI/DoubleSlider.cpp:1841 +#: src/slic3r/GUI/DoubleSlider.cpp:1861 msgid "Delete color change" msgstr "Видалити зміну кольору" -#: src/slic3r/GUI/DoubleSlider.cpp:1842 +#: src/slic3r/GUI/DoubleSlider.cpp:1862 msgid "Delete tool change" msgstr "Видалити зміну інструменту" -#: src/slic3r/GUI/DoubleSlider.cpp:1843 +#: src/slic3r/GUI/DoubleSlider.cpp:1863 msgid "Delete pause print" msgstr "Видалити паузу друку" -#: src/slic3r/GUI/DoubleSlider.cpp:1844 +#: src/slic3r/GUI/DoubleSlider.cpp:1864 msgid "Delete custom G-code" msgstr "Видалити власний G-код" -#: src/slic3r/GUI/DoubleSlider.cpp:1854 src/slic3r/GUI/DoubleSlider.cpp:1995 +#: src/slic3r/GUI/DoubleSlider.cpp:1874 src/slic3r/GUI/DoubleSlider.cpp:2015 msgid "Jump to height" msgstr "Перейти на висоту" -#: src/slic3r/GUI/DoubleSlider.cpp:1859 +#: src/slic3r/GUI/DoubleSlider.cpp:1879 msgid "Hide ruler" msgstr "Сховати лінійку" -#: src/slic3r/GUI/DoubleSlider.cpp:1863 +#: src/slic3r/GUI/DoubleSlider.cpp:1883 msgid "Show object height" msgstr "Показувати висоту об’єкта" -#: src/slic3r/GUI/DoubleSlider.cpp:1863 +#: src/slic3r/GUI/DoubleSlider.cpp:1883 msgid "Show object height on the ruler" msgstr "Показувати висоту об’єкта на лінійці" -#: src/slic3r/GUI/DoubleSlider.cpp:1867 +#: src/slic3r/GUI/DoubleSlider.cpp:1887 msgid "Show estimated print time" msgstr "Показувати приблизний час друку" -#: src/slic3r/GUI/DoubleSlider.cpp:1867 +#: src/slic3r/GUI/DoubleSlider.cpp:1887 msgid "Show estimated print time on the ruler" msgstr "Показувати приблизний час друку на лінійці" -#: src/slic3r/GUI/DoubleSlider.cpp:1871 +#: src/slic3r/GUI/DoubleSlider.cpp:1891 msgid "Ruler mode" msgstr "Режим лінійки" -#: src/slic3r/GUI/DoubleSlider.cpp:1871 +#: src/slic3r/GUI/DoubleSlider.cpp:1891 msgid "Set ruler mode" msgstr "Встановити режим лінійки" -#: src/slic3r/GUI/DoubleSlider.cpp:1876 +#: src/slic3r/GUI/DoubleSlider.cpp:1896 msgid "Set extruder sequence for the entire print" msgstr "Встановити послідовність екструдерів для всього друку" -#: src/slic3r/GUI/DoubleSlider.cpp:1962 +#: src/slic3r/GUI/DoubleSlider.cpp:1982 msgid "Enter custom G-code used on current layer" msgstr "Введіть власний G-код, для використання на поточному шарі" -#: src/slic3r/GUI/DoubleSlider.cpp:1963 +#: src/slic3r/GUI/DoubleSlider.cpp:1983 msgid "Custom G-code on current layer (%1% mm)." msgstr "Користувацький G-код на поточному шарі (%1% мм)." -#: src/slic3r/GUI/DoubleSlider.cpp:1978 +#: src/slic3r/GUI/DoubleSlider.cpp:1998 msgid "Enter short message shown on Printer display when a print is paused" msgstr "" "Введіть коротке повідомлення, що відображатиметься на дисплеї принтера піж " "час паузи друку" -#: src/slic3r/GUI/DoubleSlider.cpp:1979 +#: src/slic3r/GUI/DoubleSlider.cpp:1999 msgid "Message for pause print on current layer (%1% mm)." msgstr "Повідомлення для паузи друку на поточному шарі (%1% мм)." -#: src/slic3r/GUI/DoubleSlider.cpp:1994 +#: src/slic3r/GUI/DoubleSlider.cpp:2014 msgid "Enter the move you want to jump to" msgstr "Введіть рух, до якого ви хочете перейти" -#: src/slic3r/GUI/DoubleSlider.cpp:1994 +#: src/slic3r/GUI/DoubleSlider.cpp:2014 msgid "Enter the height you want to jump to" msgstr "Введіть висоту, на яку ви хочете перейти" -#: src/slic3r/GUI/DoubleSlider.cpp:2239 +#: src/slic3r/GUI/DoubleSlider.cpp:2259 msgid "The last color change data was saved for a single extruder printing." msgstr "" "Дані про останню зміну кольору були збережені для одно-екструдерного друку." -#: src/slic3r/GUI/DoubleSlider.cpp:2240 src/slic3r/GUI/DoubleSlider.cpp:2255 +#: src/slic3r/GUI/DoubleSlider.cpp:2260 src/slic3r/GUI/DoubleSlider.cpp:2275 msgid "The last color change data was saved for a multi extruder printing." msgstr "" "Дані про останню зміну кольору були збережені для багато-екструдерного друку." -#: src/slic3r/GUI/DoubleSlider.cpp:2242 +#: src/slic3r/GUI/DoubleSlider.cpp:2262 msgid "Your current changes will delete all saved color changes." msgstr "Ваші поточні зміни видалять усі збережені зміни кольору." -#: src/slic3r/GUI/DoubleSlider.cpp:2243 src/slic3r/GUI/DoubleSlider.cpp:2263 +#: src/slic3r/GUI/DoubleSlider.cpp:2263 src/slic3r/GUI/DoubleSlider.cpp:2283 msgid "Are you sure you want to continue?" msgstr "Ви впевнені, що хочете продовжити?" -#: src/slic3r/GUI/DoubleSlider.cpp:2256 +#: src/slic3r/GUI/DoubleSlider.cpp:2276 msgid "" "Select YES if you want to delete all saved tool changes, \n" "NO if you want all tool changes switch to color changes, \n" @@ -1380,11 +1381,11 @@ msgstr "" "кольору,\n" "або СКАСУВАТИ, щоб залишити це без змін." -#: src/slic3r/GUI/DoubleSlider.cpp:2259 +#: src/slic3r/GUI/DoubleSlider.cpp:2279 msgid "Do you want to delete all saved tool changes?" msgstr "Ви хочете видалити всі збережені зміни інструменту?" -#: src/slic3r/GUI/DoubleSlider.cpp:2261 +#: src/slic3r/GUI/DoubleSlider.cpp:2281 msgid "" "The last color change data was saved for a multi extruder printing with tool " "changes for whole print." @@ -1392,16 +1393,16 @@ msgstr "" "Дані про останню зміну кольору були збережені для багато-екструдерного друку " "зі зміною інструменту для цілого друку." -#: src/slic3r/GUI/DoubleSlider.cpp:2262 +#: src/slic3r/GUI/DoubleSlider.cpp:2282 msgid "Your current changes will delete all saved extruder (tool) changes." msgstr "" "Ваші поточні зміни видалять усі збережені зміни екструдера (інструменту)." #: src/slic3r/GUI/ExtraRenderers.cpp:297 src/slic3r/GUI/GUI_ObjectList.cpp:512 #: src/slic3r/GUI/GUI_ObjectList.cpp:524 src/slic3r/GUI/GUI_ObjectList.cpp:1033 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4582 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4592 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4627 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4588 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4598 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4633 #: src/slic3r/GUI/ObjectDataViewModel.cpp:209 #: src/slic3r/GUI/ObjectDataViewModel.cpp:266 #: src/slic3r/GUI/ObjectDataViewModel.cpp:291 @@ -1419,9 +1420,9 @@ msgstr "Встановіть зміну екструдера для кожних #: src/slic3r/GUI/ExtruderSequenceDialog.cpp:53 #: src/libslic3r/PrintConfig.cpp:418 src/libslic3r/PrintConfig.cpp:1089 -#: src/libslic3r/PrintConfig.cpp:1718 src/libslic3r/PrintConfig.cpp:1883 -#: src/libslic3r/PrintConfig.cpp:1950 src/libslic3r/PrintConfig.cpp:2157 -#: src/libslic3r/PrintConfig.cpp:2203 +#: src/libslic3r/PrintConfig.cpp:1720 src/libslic3r/PrintConfig.cpp:1885 +#: src/libslic3r/PrintConfig.cpp:1952 src/libslic3r/PrintConfig.cpp:2159 +#: src/libslic3r/PrintConfig.cpp:2205 msgid "layers" msgstr "шару(ів)" @@ -1456,7 +1457,7 @@ msgid "%s doesn't support percentage" msgstr "%s не підтримує відсотки" #: src/slic3r/GUI/Field.cpp:253 src/slic3r/GUI/Field.cpp:307 -#: src/slic3r/GUI/Field.cpp:1520 src/slic3r/GUI/GUI_ObjectLayers.cpp:413 +#: src/slic3r/GUI/Field.cpp:1528 src/slic3r/GUI/GUI_ObjectLayers.cpp:413 msgid "Invalid numeric input." msgstr "Недійсне числове значення." @@ -1474,7 +1475,7 @@ msgid "Parameter validation" msgstr "Перевірка параметрів" #: src/slic3r/GUI/Field.cpp:279 src/slic3r/GUI/Field.cpp:373 -#: src/slic3r/GUI/Field.cpp:1532 +#: src/slic3r/GUI/Field.cpp:1540 msgid "Input value is out of range" msgstr "Вхідне значення виходить за межі діапазону" @@ -1580,8 +1581,8 @@ msgid "Firmware image:" msgstr "Імідж прошивки:" #: src/slic3r/GUI/FirmwareDialog.cpp:805 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:289 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:364 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:291 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:366 msgid "Browse" msgstr "Переглянути" @@ -1615,7 +1616,7 @@ msgstr "Розширений: журнал виводу" #: src/slic3r/GUI/FirmwareDialog.cpp:852 #: src/slic3r/GUI/Mouse3DController.cpp:551 -#: src/slic3r/GUI/PrintHostDialogs.cpp:189 +#: src/slic3r/GUI/PrintHostDialogs.cpp:200 msgid "Close" msgstr "Закрити" @@ -1635,222 +1636,223 @@ msgstr "Підтвердження" msgid "Cancelling..." msgstr "Скасування..." -#: src/slic3r/GUI/GCodeViewer.cpp:239 +#: src/slic3r/GUI/GCodeViewer.cpp:306 msgid "Tool position" msgstr "Позиція інструменту" -#: src/slic3r/GUI/GCodeViewer.cpp:1016 +#: src/slic3r/GUI/GCodeViewer.cpp:1499 src/slic3r/GUI/GCodeViewer.cpp:2035 msgid "Generating toolpaths" msgstr "Створення траєкторій" -#: src/slic3r/GUI/GCodeViewer.cpp:1405 +#: src/slic3r/GUI/GCodeViewer.cpp:1537 src/slic3r/GUI/GCodeViewer.cpp:2419 msgid "Generating vertex buffer" msgstr "Створення буфера вершин" -#: src/slic3r/GUI/GCodeViewer.cpp:1496 +#: src/slic3r/GUI/GCodeViewer.cpp:1814 src/slic3r/GUI/GCodeViewer.cpp:2507 msgid "Generating index buffers" msgstr "Формування буферів індексів" -#: src/slic3r/GUI/GCodeViewer.cpp:2225 +#: src/slic3r/GUI/GCodeViewer.cpp:3874 msgid "Click to hide" msgstr "Клацніть, щоб сховати" -#: src/slic3r/GUI/GCodeViewer.cpp:2225 +#: src/slic3r/GUI/GCodeViewer.cpp:3874 msgid "Click to show" msgstr "Клацніть, щоб показати" -#: src/slic3r/GUI/GCodeViewer.cpp:2337 +#: src/slic3r/GUI/GCodeViewer.cpp:3986 msgid "up to" msgstr "аж до" -#: src/slic3r/GUI/GCodeViewer.cpp:2343 +#: src/slic3r/GUI/GCodeViewer.cpp:3992 msgid "above" msgstr "вище" -#: src/slic3r/GUI/GCodeViewer.cpp:2351 +#: src/slic3r/GUI/GCodeViewer.cpp:4000 msgid "from" msgstr "від" -#: src/slic3r/GUI/GCodeViewer.cpp:2351 +#: src/slic3r/GUI/GCodeViewer.cpp:4000 msgid "to" msgstr "до" -#: src/slic3r/GUI/GCodeViewer.cpp:2379 src/slic3r/GUI/GCodeViewer.cpp:2387 -#: src/slic3r/GUI/GUI_Preview.cpp:214 src/slic3r/GUI/GUI_Preview.cpp:533 -#: src/slic3r/GUI/GUI_Preview.cpp:942 +#: src/slic3r/GUI/GCodeViewer.cpp:4028 src/slic3r/GUI/GCodeViewer.cpp:4036 +#: src/slic3r/GUI/GUI_Preview.cpp:214 src/slic3r/GUI/GUI_Preview.cpp:539 +#: src/slic3r/GUI/GUI_Preview.cpp:948 msgid "Feature type" msgstr "Тип ознаки" -#: src/slic3r/GUI/GCodeViewer.cpp:2379 src/slic3r/GUI/GCodeViewer.cpp:2387 +#: src/slic3r/GUI/GCodeViewer.cpp:4028 src/slic3r/GUI/GCodeViewer.cpp:4036 #: src/slic3r/GUI/RammingChart.cpp:76 msgid "Time" msgstr "Час" -#: src/slic3r/GUI/GCodeViewer.cpp:2387 +#: src/slic3r/GUI/GCodeViewer.cpp:4036 msgid "Percentage" msgstr "Процент" -#: src/slic3r/GUI/GCodeViewer.cpp:2390 +#: src/slic3r/GUI/GCodeViewer.cpp:4039 msgid "Height (mm)" msgstr "Висота (мм)" -#: src/slic3r/GUI/GCodeViewer.cpp:2391 +#: src/slic3r/GUI/GCodeViewer.cpp:4040 msgid "Width (mm)" msgstr "Ширина (мм)" -#: src/slic3r/GUI/GCodeViewer.cpp:2392 +#: src/slic3r/GUI/GCodeViewer.cpp:4041 msgid "Speed (mm/s)" msgstr "Швидкість (мм/с)" -#: src/slic3r/GUI/GCodeViewer.cpp:2393 +#: src/slic3r/GUI/GCodeViewer.cpp:4042 msgid "Fan Speed (%)" msgstr "Швидкість вентилятора (%)" -#: src/slic3r/GUI/GCodeViewer.cpp:2394 +#: src/slic3r/GUI/GCodeViewer.cpp:4043 msgid "Volumetric flow rate (mm³/s)" msgstr "Об'ємна швидкість потоку (мм³/с)" -#: src/slic3r/GUI/GCodeViewer.cpp:2395 src/slic3r/GUI/GUI_Preview.cpp:220 -#: src/slic3r/GUI/GUI_Preview.cpp:326 src/slic3r/GUI/GUI_Preview.cpp:471 -#: src/slic3r/GUI/GUI_Preview.cpp:532 src/slic3r/GUI/GUI_Preview.cpp:878 -#: src/slic3r/GUI/GUI_Preview.cpp:942 +#: src/slic3r/GUI/GCodeViewer.cpp:4044 src/slic3r/GUI/GUI_Preview.cpp:220 +#: src/slic3r/GUI/GUI_Preview.cpp:326 src/slic3r/GUI/GUI_Preview.cpp:477 +#: src/slic3r/GUI/GUI_Preview.cpp:538 src/slic3r/GUI/GUI_Preview.cpp:884 +#: src/slic3r/GUI/GUI_Preview.cpp:948 msgid "Tool" msgstr "Інструмент" -#: src/slic3r/GUI/GCodeViewer.cpp:2396 src/slic3r/GUI/GUI_Preview.cpp:221 -#: src/slic3r/GUI/GUI_Preview.cpp:530 src/slic3r/GUI/GUI_Preview.cpp:941 +#: src/slic3r/GUI/GCodeViewer.cpp:4045 src/slic3r/GUI/GUI_Preview.cpp:221 +#: src/slic3r/GUI/GUI_Preview.cpp:536 src/slic3r/GUI/GUI_Preview.cpp:947 msgid "Color Print" msgstr "Кольоровий друк" -#: src/slic3r/GUI/GCodeViewer.cpp:2432 src/slic3r/GUI/GCodeViewer.cpp:2467 -#: src/slic3r/GUI/GCodeViewer.cpp:2472 src/slic3r/GUI/GUI_ObjectList.cpp:312 +#: src/slic3r/GUI/GCodeViewer.cpp:4082 src/slic3r/GUI/GCodeViewer.cpp:4117 +#: src/slic3r/GUI/GCodeViewer.cpp:4122 src/slic3r/GUI/GUI_ObjectList.cpp:312 #: src/slic3r/GUI/wxExtensions.cpp:519 src/libslic3r/PrintConfig.cpp:547 msgid "Extruder" msgstr "Екструдер" -#: src/slic3r/GUI/GCodeViewer.cpp:2443 +#: src/slic3r/GUI/GCodeViewer.cpp:4093 msgid "Default color" msgstr "Колір за замовчуванням" -#: src/slic3r/GUI/GCodeViewer.cpp:2467 +#: src/slic3r/GUI/GCodeViewer.cpp:4117 msgid "default color" msgstr "колір за замовчуванням" -#: src/slic3r/GUI/GCodeViewer.cpp:2562 src/slic3r/GUI/GCodeViewer.cpp:2608 +#: src/slic3r/GUI/GCodeViewer.cpp:4212 src/slic3r/GUI/GCodeViewer.cpp:4258 msgid "Color change" msgstr "Зміна кольору" -#: src/slic3r/GUI/GCodeViewer.cpp:2581 src/slic3r/GUI/GCodeViewer.cpp:2606 +#: src/slic3r/GUI/GCodeViewer.cpp:4231 src/slic3r/GUI/GCodeViewer.cpp:4256 msgid "Print" msgstr "Друк" -#: src/slic3r/GUI/GCodeViewer.cpp:2607 src/slic3r/GUI/GCodeViewer.cpp:2624 +#: src/slic3r/GUI/GCodeViewer.cpp:4257 src/slic3r/GUI/GCodeViewer.cpp:4274 msgid "Pause" msgstr "Пауза" -#: src/slic3r/GUI/GCodeViewer.cpp:2612 src/slic3r/GUI/GCodeViewer.cpp:2615 +#: src/slic3r/GUI/GCodeViewer.cpp:4262 src/slic3r/GUI/GCodeViewer.cpp:4265 msgid "Event" msgstr "Подія" -#: src/slic3r/GUI/GCodeViewer.cpp:2612 src/slic3r/GUI/GCodeViewer.cpp:2615 +#: src/slic3r/GUI/GCodeViewer.cpp:4262 src/slic3r/GUI/GCodeViewer.cpp:4265 msgid "Remaining time" msgstr "Час, що залишився" -#: src/slic3r/GUI/GCodeViewer.cpp:2615 +#: src/slic3r/GUI/GCodeViewer.cpp:4265 msgid "Duration" msgstr "Тривалість" -#: src/slic3r/GUI/GCodeViewer.cpp:2650 src/slic3r/GUI/GUI_Preview.cpp:1023 -#: src/libslic3r/PrintConfig.cpp:2380 +#: src/slic3r/GUI/GCodeViewer.cpp:4300 src/slic3r/GUI/GUI_Preview.cpp:1029 +#: src/libslic3r/PrintConfig.cpp:2382 msgid "Travel" msgstr "Пересування" -#: src/slic3r/GUI/GCodeViewer.cpp:2653 +#: src/slic3r/GUI/GCodeViewer.cpp:4303 msgid "Movement" msgstr "Переміщення" -#: src/slic3r/GUI/GCodeViewer.cpp:2654 +#: src/slic3r/GUI/GCodeViewer.cpp:4304 msgid "Extrusion" msgstr "Екструзія" -#: src/slic3r/GUI/GCodeViewer.cpp:2655 src/slic3r/GUI/Tab.cpp:1694 -#: src/slic3r/GUI/Tab.cpp:2582 +#: src/slic3r/GUI/GCodeViewer.cpp:4305 src/slic3r/GUI/Tab.cpp:1701 +#: src/slic3r/GUI/Tab.cpp:2589 msgid "Retraction" msgstr "Переривання" -#: src/slic3r/GUI/GCodeViewer.cpp:2672 src/slic3r/GUI/GCodeViewer.cpp:2675 -#: src/slic3r/GUI/GUI_Preview.cpp:1024 +#: src/slic3r/GUI/GCodeViewer.cpp:4322 src/slic3r/GUI/GCodeViewer.cpp:4325 +#: src/slic3r/GUI/GUI_Preview.cpp:1030 msgid "Wipe" msgstr "Витирання" -#: src/slic3r/GUI/GCodeViewer.cpp:2706 src/slic3r/GUI/GUI_Preview.cpp:248 +#: src/slic3r/GUI/GCodeViewer.cpp:4356 src/slic3r/GUI/GUI_Preview.cpp:248 #: src/slic3r/GUI/GUI_Preview.cpp:262 msgid "Options" msgstr "Параметри" -#: src/slic3r/GUI/GCodeViewer.cpp:2709 src/slic3r/GUI/GUI_Preview.cpp:1025 +#: src/slic3r/GUI/GCodeViewer.cpp:4359 src/slic3r/GUI/GUI_Preview.cpp:1031 msgid "Retractions" msgstr "Переривання" -#: src/slic3r/GUI/GCodeViewer.cpp:2710 src/slic3r/GUI/GUI_Preview.cpp:1026 +#: src/slic3r/GUI/GCodeViewer.cpp:4360 src/slic3r/GUI/GUI_Preview.cpp:1032 msgid "Deretractions" msgstr "Зниження" -#: src/slic3r/GUI/GCodeViewer.cpp:2711 src/slic3r/GUI/GUI_Preview.cpp:1027 +#: src/slic3r/GUI/GCodeViewer.cpp:4361 src/slic3r/GUI/GUI_Preview.cpp:1033 msgid "Tool changes" msgstr "Зміна інструменту" -#: src/slic3r/GUI/GCodeViewer.cpp:2712 src/slic3r/GUI/GUI_Preview.cpp:1028 +#: src/slic3r/GUI/GCodeViewer.cpp:4362 src/slic3r/GUI/GUI_Preview.cpp:1034 msgid "Color changes" msgstr "Зміни кольору" -#: src/slic3r/GUI/GCodeViewer.cpp:2713 src/slic3r/GUI/GUI_Preview.cpp:1029 +#: src/slic3r/GUI/GCodeViewer.cpp:4363 src/slic3r/GUI/GUI_Preview.cpp:1035 msgid "Print pauses" msgstr "Паузи друку" -#: src/slic3r/GUI/GCodeViewer.cpp:2714 src/slic3r/GUI/GUI_Preview.cpp:1030 +#: src/slic3r/GUI/GCodeViewer.cpp:4364 src/slic3r/GUI/GUI_Preview.cpp:1036 msgid "Custom G-codes" msgstr "Користувацькі G-коди" -#: src/slic3r/GUI/GCodeViewer.cpp:2725 src/slic3r/GUI/GCodeViewer.cpp:2749 -#: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/PrintConfig.cpp:117 +#: src/slic3r/GUI/GCodeViewer.cpp:4375 src/slic3r/GUI/GCodeViewer.cpp:4399 +#: src/slic3r/GUI/GUI.cpp:319 src/slic3r/GUI/Plater.cpp:698 +#: src/libslic3r/PrintConfig.cpp:117 msgid "Printer" msgstr "Принтер" -#: src/slic3r/GUI/GCodeViewer.cpp:2727 src/slic3r/GUI/GCodeViewer.cpp:2754 -#: src/slic3r/GUI/Plater.cpp:693 +#: src/slic3r/GUI/GCodeViewer.cpp:4377 src/slic3r/GUI/GCodeViewer.cpp:4404 +#: src/slic3r/GUI/GUI.cpp:315 src/slic3r/GUI/Plater.cpp:694 msgid "Print settings" msgstr "Параметри друку" -#: src/slic3r/GUI/GCodeViewer.cpp:2730 src/slic3r/GUI/GCodeViewer.cpp:2760 -#: src/slic3r/GUI/Plater.cpp:694 src/slic3r/GUI/Tab.cpp:1794 -#: src/slic3r/GUI/Tab.cpp:1795 +#: src/slic3r/GUI/GCodeViewer.cpp:4380 src/slic3r/GUI/GCodeViewer.cpp:4410 +#: src/slic3r/GUI/GUI.cpp:317 src/slic3r/GUI/Plater.cpp:695 +#: src/slic3r/GUI/Tab.cpp:1801 src/slic3r/GUI/Tab.cpp:1802 msgid "Filament" msgstr "Філамент" -#: src/slic3r/GUI/GCodeViewer.cpp:2785 src/slic3r/GUI/GCodeViewer.cpp:2790 -#: src/slic3r/GUI/Plater.cpp:242 src/slic3r/GUI/Plater.cpp:1135 -#: src/slic3r/GUI/Plater.cpp:1220 +#: src/slic3r/GUI/GCodeViewer.cpp:4435 src/slic3r/GUI/GCodeViewer.cpp:4440 +#: src/slic3r/GUI/Plater.cpp:243 src/slic3r/GUI/Plater.cpp:1136 +#: src/slic3r/GUI/Plater.cpp:1221 msgid "Estimated printing time" msgstr "Приблизний час друку" -#: src/slic3r/GUI/GCodeViewer.cpp:2785 +#: src/slic3r/GUI/GCodeViewer.cpp:4435 msgid "Normal mode" msgstr "Нормальний режим" -#: src/slic3r/GUI/GCodeViewer.cpp:2790 +#: src/slic3r/GUI/GCodeViewer.cpp:4440 msgid "Stealth mode" msgstr "Тихий режим" -#: src/slic3r/GUI/GCodeViewer.cpp:2817 +#: src/slic3r/GUI/GCodeViewer.cpp:4468 msgid "Show stealth mode" msgstr "Показати тихий режим" -#: src/slic3r/GUI/GCodeViewer.cpp:2821 +#: src/slic3r/GUI/GCodeViewer.cpp:4472 msgid "Show normal mode" msgstr "Показати нормальний режим" -#: src/slic3r/GUI/GLCanvas3D.cpp:236 src/slic3r/GUI/GLCanvas3D.cpp:4610 +#: src/slic3r/GUI/GLCanvas3D.cpp:236 src/slic3r/GUI/GLCanvas3D.cpp:4619 msgid "Variable layer height" msgstr "Змінна висота шарів" @@ -1918,7 +1920,7 @@ msgstr "Радіус" msgid "Keep min" msgstr "Залишити мін" -#: src/slic3r/GUI/GLCanvas3D.cpp:304 src/slic3r/GUI/GLCanvas3D.cpp:4050 +#: src/slic3r/GUI/GLCanvas3D.cpp:304 src/slic3r/GUI/GLCanvas3D.cpp:4055 msgid "Reset" msgstr "Скинути" @@ -1980,39 +1982,39 @@ msgstr "Gizmo переміщення" msgid "Gizmo-Rotate" msgstr "Gizmo обертання" -#: src/slic3r/GUI/GLCanvas3D.cpp:3388 +#: src/slic3r/GUI/GLCanvas3D.cpp:3389 msgid "Move Object" msgstr "Перемістити об'єкт" -#: src/slic3r/GUI/GLCanvas3D.cpp:3858 src/slic3r/GUI/GLCanvas3D.cpp:4571 +#: src/slic3r/GUI/GLCanvas3D.cpp:3859 src/slic3r/GUI/GLCanvas3D.cpp:4580 msgid "Switch to Settings" msgstr "Перейдіть до налаштувань" -#: src/slic3r/GUI/GLCanvas3D.cpp:3859 src/slic3r/GUI/GLCanvas3D.cpp:4571 +#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4580 msgid "Print Settings Tab" msgstr "Вкладка параметрів друку" -#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4572 +#: src/slic3r/GUI/GLCanvas3D.cpp:3861 src/slic3r/GUI/GLCanvas3D.cpp:4581 msgid "Filament Settings Tab" msgstr "Вкладка параметрів філаменту" -#: src/slic3r/GUI/GLCanvas3D.cpp:3860 src/slic3r/GUI/GLCanvas3D.cpp:4572 +#: src/slic3r/GUI/GLCanvas3D.cpp:3861 src/slic3r/GUI/GLCanvas3D.cpp:4581 msgid "Material Settings Tab" msgstr "Вкладка параметрів матеріалу" -#: src/slic3r/GUI/GLCanvas3D.cpp:3861 src/slic3r/GUI/GLCanvas3D.cpp:4573 +#: src/slic3r/GUI/GLCanvas3D.cpp:3862 src/slic3r/GUI/GLCanvas3D.cpp:4582 msgid "Printer Settings Tab" msgstr "Вкладка параметрів принтеру" -#: src/slic3r/GUI/GLCanvas3D.cpp:3909 +#: src/slic3r/GUI/GLCanvas3D.cpp:3914 msgid "Undo History" msgstr "Скасувати історію" -#: src/slic3r/GUI/GLCanvas3D.cpp:3909 +#: src/slic3r/GUI/GLCanvas3D.cpp:3914 msgid "Redo History" msgstr "Повторити історію" -#: src/slic3r/GUI/GLCanvas3D.cpp:3930 +#: src/slic3r/GUI/GLCanvas3D.cpp:3935 #, c-format msgid "Undo %1$d Action" msgid_plural "Undo %1$d Actions" @@ -2020,7 +2022,7 @@ msgstr[0] "Скасувати %1$d дію" msgstr[1] "Скасувати %1$d дії" msgstr[2] "Скасувати %1$d дій" -#: src/slic3r/GUI/GLCanvas3D.cpp:3930 +#: src/slic3r/GUI/GLCanvas3D.cpp:3935 #, c-format msgid "Redo %1$d Action" msgid_plural "Redo %1$d Actions" @@ -2028,117 +2030,117 @@ msgstr[0] "Повторити %1$d дію" msgstr[1] "Повторити %1$d дії" msgstr[2] "Повторити %1$d дій" -#: src/slic3r/GUI/GLCanvas3D.cpp:3950 src/slic3r/GUI/GLCanvas3D.cpp:4589 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:98 src/slic3r/GUI/Search.cpp:351 +#: src/slic3r/GUI/GLCanvas3D.cpp:3955 src/slic3r/GUI/GLCanvas3D.cpp:4598 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:98 src/slic3r/GUI/Search.cpp:348 msgid "Search" msgstr "Пошук" -#: src/slic3r/GUI/GLCanvas3D.cpp:3964 src/slic3r/GUI/GLCanvas3D.cpp:3972 -#: src/slic3r/GUI/Search.cpp:358 +#: src/slic3r/GUI/GLCanvas3D.cpp:3969 src/slic3r/GUI/GLCanvas3D.cpp:3977 +#: src/slic3r/GUI/Search.cpp:355 msgid "Enter a search term" msgstr "Введіть пошуковий термін" -#: src/slic3r/GUI/GLCanvas3D.cpp:4003 +#: src/slic3r/GUI/GLCanvas3D.cpp:4008 msgid "Arrange options" msgstr "Параметри розташування" -#: src/slic3r/GUI/GLCanvas3D.cpp:4033 +#: src/slic3r/GUI/GLCanvas3D.cpp:4038 msgid "Press %1%left mouse button to enter the exact value" msgstr "Натисніть %1%ліву кнопку миші, щоб ввести точне значення" -#: src/slic3r/GUI/GLCanvas3D.cpp:4035 +#: src/slic3r/GUI/GLCanvas3D.cpp:4040 msgid "Spacing" msgstr "Відстань" -#: src/slic3r/GUI/GLCanvas3D.cpp:4042 +#: src/slic3r/GUI/GLCanvas3D.cpp:4047 msgid "Enable rotations (slow)" msgstr "Увімкнути обертання (повільно)" -#: src/slic3r/GUI/GLCanvas3D.cpp:4060 src/slic3r/GUI/GLCanvas3D.cpp:4481 -#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 src/slic3r/GUI/Plater.cpp:1648 +#: src/slic3r/GUI/GLCanvas3D.cpp:4065 src/slic3r/GUI/GLCanvas3D.cpp:4490 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:120 src/slic3r/GUI/Plater.cpp:1649 msgid "Arrange" msgstr "Розташувати" -#: src/slic3r/GUI/GLCanvas3D.cpp:4455 +#: src/slic3r/GUI/GLCanvas3D.cpp:4464 msgid "Add..." msgstr "Додати..." -#: src/slic3r/GUI/GLCanvas3D.cpp:4463 src/slic3r/GUI/GUI_ObjectList.cpp:1878 -#: src/slic3r/GUI/Plater.cpp:3998 src/slic3r/GUI/Plater.cpp:4022 -#: src/slic3r/GUI/Tab.cpp:3484 +#: src/slic3r/GUI/GLCanvas3D.cpp:4472 src/slic3r/GUI/GUI_ObjectList.cpp:1882 +#: src/slic3r/GUI/Plater.cpp:4015 src/slic3r/GUI/Plater.cpp:4039 +#: src/slic3r/GUI/Tab.cpp:3491 msgid "Delete" msgstr "Видалити" -#: src/slic3r/GUI/GLCanvas3D.cpp:4472 src/slic3r/GUI/KBShortcutsDialog.cpp:88 -#: src/slic3r/GUI/Plater.cpp:5107 +#: src/slic3r/GUI/GLCanvas3D.cpp:4481 src/slic3r/GUI/KBShortcutsDialog.cpp:88 +#: src/slic3r/GUI/Plater.cpp:5128 msgid "Delete all" msgstr "Видалити все" -#: src/slic3r/GUI/GLCanvas3D.cpp:4481 src/slic3r/GUI/KBShortcutsDialog.cpp:121 +#: src/slic3r/GUI/GLCanvas3D.cpp:4490 src/slic3r/GUI/KBShortcutsDialog.cpp:121 msgid "Arrange selection" msgstr "Розташувати вибране" -#: src/slic3r/GUI/GLCanvas3D.cpp:4481 +#: src/slic3r/GUI/GLCanvas3D.cpp:4490 msgid "Click right mouse button to show arrangement options" msgstr "Клацніть правою кнопкою миші, щоб показати параметри розташування" -#: src/slic3r/GUI/GLCanvas3D.cpp:4503 +#: src/slic3r/GUI/GLCanvas3D.cpp:4512 msgid "Copy" msgstr "Копіювати" -#: src/slic3r/GUI/GLCanvas3D.cpp:4512 +#: src/slic3r/GUI/GLCanvas3D.cpp:4521 msgid "Paste" msgstr "Вставити" -#: src/slic3r/GUI/GLCanvas3D.cpp:4524 src/slic3r/GUI/Plater.cpp:3857 -#: src/slic3r/GUI/Plater.cpp:3869 src/slic3r/GUI/Plater.cpp:4007 +#: src/slic3r/GUI/GLCanvas3D.cpp:4533 src/slic3r/GUI/Plater.cpp:3874 +#: src/slic3r/GUI/Plater.cpp:3886 src/slic3r/GUI/Plater.cpp:4024 msgid "Add instance" msgstr "Додати екземпляр" -#: src/slic3r/GUI/GLCanvas3D.cpp:4535 src/slic3r/GUI/Plater.cpp:4009 +#: src/slic3r/GUI/GLCanvas3D.cpp:4544 src/slic3r/GUI/Plater.cpp:4026 msgid "Remove instance" msgstr "Видалити екземпляр" -#: src/slic3r/GUI/GLCanvas3D.cpp:4548 +#: src/slic3r/GUI/GLCanvas3D.cpp:4557 msgid "Split to objects" msgstr "Розділити на об'єкти" -#: src/slic3r/GUI/GLCanvas3D.cpp:4558 src/slic3r/GUI/GUI_ObjectList.cpp:1650 +#: src/slic3r/GUI/GLCanvas3D.cpp:4567 src/slic3r/GUI/GUI_ObjectList.cpp:1654 msgid "Split to parts" msgstr "Розділити на частини" -#: src/slic3r/GUI/GLCanvas3D.cpp:4660 src/slic3r/GUI/KBShortcutsDialog.cpp:89 +#: src/slic3r/GUI/GLCanvas3D.cpp:4669 src/slic3r/GUI/KBShortcutsDialog.cpp:89 #: src/slic3r/GUI/MainFrame.cpp:1125 msgid "Undo" msgstr "Скасувати" -#: src/slic3r/GUI/GLCanvas3D.cpp:4660 src/slic3r/GUI/GLCanvas3D.cpp:4699 +#: src/slic3r/GUI/GLCanvas3D.cpp:4669 src/slic3r/GUI/GLCanvas3D.cpp:4708 msgid "Click right mouse button to open/close History" msgstr "Клацніть правою кнопкою миші, щоб відкрити/закрити історію" -#: src/slic3r/GUI/GLCanvas3D.cpp:4683 +#: src/slic3r/GUI/GLCanvas3D.cpp:4692 msgid "Next Undo action: %1%" msgstr "Скасувати дію: %1%" -#: src/slic3r/GUI/GLCanvas3D.cpp:4699 src/slic3r/GUI/KBShortcutsDialog.cpp:90 +#: src/slic3r/GUI/GLCanvas3D.cpp:4708 src/slic3r/GUI/KBShortcutsDialog.cpp:90 #: src/slic3r/GUI/MainFrame.cpp:1128 msgid "Redo" msgstr "Повторити" -#: src/slic3r/GUI/GLCanvas3D.cpp:4721 +#: src/slic3r/GUI/GLCanvas3D.cpp:4730 msgid "Next Redo action: %1%" msgstr "Повторити дію: %1%" -#: src/slic3r/GUI/GLCanvas3D.cpp:6345 +#: src/slic3r/GUI/GLCanvas3D.cpp:6354 msgid "Selection-Add from rectangle" msgstr "Виділення - Додано прямокутником" -#: src/slic3r/GUI/GLCanvas3D.cpp:6364 +#: src/slic3r/GUI/GLCanvas3D.cpp:6373 msgid "Selection-Remove from rectangle" msgstr "Виділення - Видалено прямокутником" #: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:54 -#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:151 src/libslic3r/PrintConfig.cpp:3690 +#: src/slic3r/GUI/Gizmos/GLGizmoCut.cpp:151 src/libslic3r/PrintConfig.cpp:3694 msgid "Cut" msgstr "Розрізати" @@ -2237,7 +2239,7 @@ msgstr "Коло" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:54 #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:37 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 msgid "Sphere" msgstr "Сфера" @@ -2316,7 +2318,7 @@ msgid "Quality" msgstr "Якість" #: src/slic3r/GUI/Gizmos/GLGizmoHollow.cpp:44 -#: src/libslic3r/PrintConfig.cpp:3183 +#: src/libslic3r/PrintConfig.cpp:3185 msgid "Closing distance" msgstr "Відстань закриття" @@ -2372,7 +2374,7 @@ msgstr "Пересунути" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:527 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:546 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:562 -#: src/libslic3r/PrintConfig.cpp:3739 +#: src/libslic3r/PrintConfig.cpp:3743 msgid "Rotate" msgstr "Обертати" @@ -2380,7 +2382,7 @@ msgstr "Обертати" #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:238 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:547 #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:563 -#: src/libslic3r/PrintConfig.cpp:3754 +#: src/libslic3r/PrintConfig.cpp:3758 msgid "Scale" msgstr "Масштаб" @@ -2430,7 +2432,7 @@ msgid "Minimal points distance" msgstr "Мінімальна відстань точок" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:54 -#: src/libslic3r/PrintConfig.cpp:3013 +#: src/libslic3r/PrintConfig.cpp:3015 msgid "Support points density" msgstr "Щільність точок підтримки" @@ -2495,9 +2497,9 @@ msgstr "Автогенерація видалить всі відредагов msgid "Are you sure you want to do it?" msgstr "Ви впевнені, що хочете це зробити?" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:256 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:557 -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:581 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:257 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:621 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:645 #: src/slic3r/GUI/WipeTowerDialog.cpp:45 src/slic3r/GUI/WipeTowerDialog.cpp:366 msgid "Warning" msgstr "Застереження" @@ -2606,11 +2608,48 @@ msgstr "Вийти з режиму малювання підтримок" msgid "Add supports" msgstr "Додати підтримки" -#: src/slic3r/GUI/GUI_App.cpp:239 +#: src/slic3r/GUI/GUI.cpp:295 src/slic3r/GUI/UnsavedChangesDialog.cpp:149 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 +msgid "Undef" +msgstr "Невизначений" + +#: src/slic3r/GUI/GUI.cpp:304 +msgid "new unknown value %1% was changed to default value %2%" +msgstr "" +"нове невідоме значення %1% було змінено на значення за промовчанням %2%" + +#: src/slic3r/GUI/GUI.cpp:316 src/slic3r/GUI/Plater.cpp:696 +msgid "SLA print settings" +msgstr "Параметри SLA-друку" + +#: src/slic3r/GUI/GUI.cpp:332 +msgid "" +"Loading profiles found following incompatibilities:%1% To recover these " +"files, incompatible values were changed to default values.\n" +" But data in files won't be changed until you save them in PrusaSlicer." +msgstr "" +"Під час завантаження профілів було знайдено наступні несумісності:%1% Щоб " +"відновити ці файли, несумісні значення було змінено на значення за " +"промовчанням.\n" +" Але дані у файлах не будуть змінені, поки ви не збережете їх у PrusaSlicer." + +#: src/slic3r/GUI/GUI.cpp:349 +msgid "" +"Loading %1% file found incompatibilities.\n" +"To recover this file, incompatible values were changed to default values:" +"%2%But data in files won't be changed until you save them in PrusaSlicer." +msgstr "" +"Завантаження %1% файла виявили несумісність.\n" +"Щоб відновити цей файл, несумісні значення було змінено на значення за " +"промовчанням:%2% Але дані у файлах не змінюватимуться, доки ви не збережете " +"їх у PrusaSlicer." + +#: src/slic3r/GUI/GUI_App.cpp:247 msgid "is based on Slic3r by Alessandro Ranellucci and the RepRap community." msgstr "заснований на Slic3r від Alessandro Ranellucci та спільноти RepRap." -#: src/slic3r/GUI/GUI_App.cpp:241 +#: src/slic3r/GUI/GUI_App.cpp:249 msgid "" "Contributions by Vojtech Bubnik, Enrico Turri, Oleksandra Iushchenko, Tamas " "Meszaros, Lukas Matena, Vojtech Kral, David Kocik and numerous others." @@ -2619,11 +2658,11 @@ msgstr "" "Ledvina, Joseph Lenox, Y. Sapir, Mike Sheldrake, Vojtech Bubnik та багатьох " "інших." -#: src/slic3r/GUI/GUI_App.cpp:242 +#: src/slic3r/GUI/GUI_App.cpp:250 msgid "Artwork model by Nora Al-Badri and Jan Nikolai Nelles" msgstr "Модель ілюстрації виконано Nora Al-Badri та Jan Nikolai Nelles" -#: src/slic3r/GUI/GUI_App.cpp:382 +#: src/slic3r/GUI/GUI_App.cpp:391 msgid "" "Starting with %1% 2.3, configuration directory on Linux has changed " "(according to XDG Base Directory Specification) to \n" @@ -2655,20 +2694,20 @@ msgstr "" "\n" "Що ви хочете робити зараз?" -#: src/slic3r/GUI/GUI_App.cpp:390 +#: src/slic3r/GUI/GUI_App.cpp:399 #, c-format msgid "%s - BREAKING CHANGE" msgstr "%s - ЗЛАМАНА ЗМІНА" -#: src/slic3r/GUI/GUI_App.cpp:392 +#: src/slic3r/GUI/GUI_App.cpp:401 msgid "Quit, I will move my data now" msgstr "Вийти, я зараз перенесу свої дані" -#: src/slic3r/GUI/GUI_App.cpp:392 +#: src/slic3r/GUI/GUI_App.cpp:401 msgid "Start the application" msgstr "Запустити програму" -#: src/slic3r/GUI/GUI_App.cpp:580 +#: src/slic3r/GUI/GUI_App.cpp:589 #, c-format msgid "" "%s has encountered an error. It was likely caused by running out of memory. " @@ -2683,11 +2722,11 @@ msgstr "" "\n" "Тепер застосування буде припинено." -#: src/slic3r/GUI/GUI_App.cpp:583 +#: src/slic3r/GUI/GUI_App.cpp:592 msgid "Fatal error" msgstr "Критична помилка" -#: src/slic3r/GUI/GUI_App.cpp:587 +#: src/slic3r/GUI/GUI_App.cpp:596 msgid "" "PrusaSlicer has encountered a localization error. Please report to " "PrusaSlicer team, what language was active and in which scenario this issue " @@ -2700,11 +2739,11 @@ msgstr "" "\n" "Тепер застосування буде припинено." -#: src/slic3r/GUI/GUI_App.cpp:590 +#: src/slic3r/GUI/GUI_App.cpp:599 msgid "Critical error" msgstr "Критична помилка" -#: src/slic3r/GUI/GUI_App.cpp:711 +#: src/slic3r/GUI/GUI_App.cpp:747 msgid "" "Error parsing PrusaSlicer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error. Your user profiles will " @@ -2714,7 +2753,7 @@ msgstr "" "пошкоджений. Спробуйте вручну видалити файл, щоб оговтатися від помилки. Це " "не вплине на профілі користувачів." -#: src/slic3r/GUI/GUI_App.cpp:717 +#: src/slic3r/GUI/GUI_App.cpp:753 msgid "" "Error parsing PrusaGCodeViewer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error." @@ -2722,7 +2761,7 @@ msgstr "" "Помилка під час розбору файлу конфігурації PrusaGCodeViewer, можливо, він " "пошкоджений. Спробуйте вручну видалити файл, щоб оговтатися від помилки." -#: src/slic3r/GUI/GUI_App.cpp:771 +#: src/slic3r/GUI/GUI_App.cpp:807 #, c-format msgid "" "%s\n" @@ -2731,26 +2770,26 @@ msgstr "" "%s\n" "Бажаєте продовжити?" -#: src/slic3r/GUI/GUI_App.cpp:773 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 +#: src/slic3r/GUI/GUI_App.cpp:809 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 msgid "Remember my choice" msgstr "Пам'ятати мій вибір" -#: src/slic3r/GUI/GUI_App.cpp:808 +#: src/slic3r/GUI/GUI_App.cpp:844 msgid "Loading configuration" msgstr "Завантаження конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:876 +#: src/slic3r/GUI/GUI_App.cpp:915 msgid "Preparing settings tabs" msgstr "Підготовка вкладок параметрів" -#: src/slic3r/GUI/GUI_App.cpp:1115 +#: src/slic3r/GUI/GUI_App.cpp:1132 msgid "" "You have the following presets with saved options for \"Print Host upload\"" msgstr "" "У вас є наступні пресети із збереженими параметрами для \"Завантаження хоста " "друку(\"Print Host upload\")\"" -#: src/slic3r/GUI/GUI_App.cpp:1119 +#: src/slic3r/GUI/GUI_App.cpp:1136 msgid "" "But since this version of PrusaSlicer we don't show this information in " "Printer Settings anymore.\n" @@ -2760,7 +2799,7 @@ msgstr "" "параметрах принтера.\n" "Ці параметри будуть доступні у налаштуваннях фізичних принтерів." -#: src/slic3r/GUI/GUI_App.cpp:1121 +#: src/slic3r/GUI/GUI_App.cpp:1138 msgid "" "By default new Printer devices will be named as \"Printer N\" during its " "creation.\n" @@ -2770,150 +2809,150 @@ msgstr "" "їх створення.\n" "Примітка: Цю назву можна змінити пізніше в налаштуваннях фізичних принтерів" -#: src/slic3r/GUI/GUI_App.cpp:1124 src/slic3r/GUI/PhysicalPrinterDialog.cpp:626 +#: src/slic3r/GUI/GUI_App.cpp:1141 src/slic3r/GUI/PhysicalPrinterDialog.cpp:691 msgid "Information" msgstr "Інформація" -#: src/slic3r/GUI/GUI_App.cpp:1137 src/slic3r/GUI/GUI_App.cpp:1148 +#: src/slic3r/GUI/GUI_App.cpp:1154 src/slic3r/GUI/GUI_App.cpp:1165 msgid "Recreating" msgstr "Пере-створення" -#: src/slic3r/GUI/GUI_App.cpp:1153 +#: src/slic3r/GUI/GUI_App.cpp:1170 msgid "Loading of current presets" msgstr "Завантаження поточних пресетів" -#: src/slic3r/GUI/GUI_App.cpp:1158 +#: src/slic3r/GUI/GUI_App.cpp:1175 msgid "Loading of a mode view" msgstr "Завантаження режиму перегляду" -#: src/slic3r/GUI/GUI_App.cpp:1234 +#: src/slic3r/GUI/GUI_App.cpp:1251 msgid "Choose one file (3MF/AMF):" msgstr "Виберіть один файл (3MF/AMF):" -#: src/slic3r/GUI/GUI_App.cpp:1246 +#: src/slic3r/GUI/GUI_App.cpp:1263 msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" msgstr "Виберіть один чи кілька файлів (STL/OBJ/AMF/PRUSA):" -#: src/slic3r/GUI/GUI_App.cpp:1258 +#: src/slic3r/GUI/GUI_App.cpp:1275 msgid "Choose one file (GCODE/.GCO/.G/.ngc/NGC):" msgstr "Виберіть один файл (GCODE/.GCO/.G/.ngc/NGC):" -#: src/slic3r/GUI/GUI_App.cpp:1269 +#: src/slic3r/GUI/GUI_App.cpp:1286 msgid "Changing of an application language" msgstr "Зміна мови застосування" -#: src/slic3r/GUI/GUI_App.cpp:1392 +#: src/slic3r/GUI/GUI_App.cpp:1409 msgid "Select the language" msgstr "Оберіть мову" -#: src/slic3r/GUI/GUI_App.cpp:1392 +#: src/slic3r/GUI/GUI_App.cpp:1409 msgid "Language" msgstr "Мова" -#: src/slic3r/GUI/GUI_App.cpp:1541 +#: src/slic3r/GUI/GUI_App.cpp:1558 msgid "modified" msgstr "модифікований" -#: src/slic3r/GUI/GUI_App.cpp:1590 +#: src/slic3r/GUI/GUI_App.cpp:1607 #, c-format msgid "Run %s" msgstr "Запустити %s" -#: src/slic3r/GUI/GUI_App.cpp:1594 +#: src/slic3r/GUI/GUI_App.cpp:1611 msgid "&Configuration Snapshots" msgstr "Знімки конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1594 +#: src/slic3r/GUI/GUI_App.cpp:1611 msgid "Inspect / activate configuration snapshots" msgstr "Перегляньте / активізуйте знімки конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1595 +#: src/slic3r/GUI/GUI_App.cpp:1612 msgid "Take Configuration &Snapshot" msgstr "Зробіть знімок конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1595 +#: src/slic3r/GUI/GUI_App.cpp:1612 msgid "Capture a configuration snapshot" msgstr "Зробіть знімок конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1596 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "Check for updates" msgstr "Перевірити наявність оновлень" -#: src/slic3r/GUI/GUI_App.cpp:1596 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "Check for configuration updates" msgstr "Перевірити наявність оновлень конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1599 +#: src/slic3r/GUI/GUI_App.cpp:1616 msgid "&Preferences" msgstr "&Преференції" -#: src/slic3r/GUI/GUI_App.cpp:1605 +#: src/slic3r/GUI/GUI_App.cpp:1622 msgid "Application preferences" msgstr "Преференції застосування" -#: src/slic3r/GUI/GUI_App.cpp:1610 src/slic3r/GUI/wxExtensions.cpp:685 +#: src/slic3r/GUI/GUI_App.cpp:1627 src/slic3r/GUI/wxExtensions.cpp:685 msgid "Simple" msgstr "Простий" -#: src/slic3r/GUI/GUI_App.cpp:1610 +#: src/slic3r/GUI/GUI_App.cpp:1627 msgid "Simple View Mode" msgstr "Простий режим перегляду" -#: src/slic3r/GUI/GUI_App.cpp:1612 src/slic3r/GUI/wxExtensions.cpp:687 +#: src/slic3r/GUI/GUI_App.cpp:1629 src/slic3r/GUI/wxExtensions.cpp:687 msgctxt "Mode" msgid "Advanced" msgstr "Розширений" -#: src/slic3r/GUI/GUI_App.cpp:1612 +#: src/slic3r/GUI/GUI_App.cpp:1629 msgid "Advanced View Mode" msgstr "Розширений режим перегляду" -#: src/slic3r/GUI/GUI_App.cpp:1613 src/slic3r/GUI/wxExtensions.cpp:688 +#: src/slic3r/GUI/GUI_App.cpp:1630 src/slic3r/GUI/wxExtensions.cpp:688 msgid "Expert" msgstr "Експерт" -#: src/slic3r/GUI/GUI_App.cpp:1613 +#: src/slic3r/GUI/GUI_App.cpp:1630 msgid "Expert View Mode" msgstr "Режим перегляду Експерт" -#: src/slic3r/GUI/GUI_App.cpp:1618 +#: src/slic3r/GUI/GUI_App.cpp:1635 msgid "Mode" msgstr "Режим" -#: src/slic3r/GUI/GUI_App.cpp:1618 +#: src/slic3r/GUI/GUI_App.cpp:1635 #, c-format msgid "%s View Mode" msgstr "Режим перегляду %s" -#: src/slic3r/GUI/GUI_App.cpp:1621 +#: src/slic3r/GUI/GUI_App.cpp:1638 msgid "&Language" msgstr "Мова" -#: src/slic3r/GUI/GUI_App.cpp:1624 +#: src/slic3r/GUI/GUI_App.cpp:1641 msgid "Flash printer &firmware" msgstr "Прошити принтер" -#: src/slic3r/GUI/GUI_App.cpp:1624 +#: src/slic3r/GUI/GUI_App.cpp:1641 msgid "Upload a firmware image into an Arduino based printer" msgstr "Завантажте імідж прошивки на Arduino-принтер" -#: src/slic3r/GUI/GUI_App.cpp:1640 +#: src/slic3r/GUI/GUI_App.cpp:1657 msgid "Taking configuration snapshot" msgstr "Знімок конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1640 +#: src/slic3r/GUI/GUI_App.cpp:1657 msgid "Snapshot name" msgstr "Назва знімку" -#: src/slic3r/GUI/GUI_App.cpp:1669 +#: src/slic3r/GUI/GUI_App.cpp:1695 msgid "Failed to activate configuration snapshot." msgstr "Не вдалося активувати знімок конфігурації." -#: src/slic3r/GUI/GUI_App.cpp:1719 +#: src/slic3r/GUI/GUI_App.cpp:1745 msgid "Language selection" msgstr "Вибір мови" -#: src/slic3r/GUI/GUI_App.cpp:1721 +#: src/slic3r/GUI/GUI_App.cpp:1747 msgid "" "Switching the language will trigger application restart.\n" "You will lose content of the plater." @@ -2921,54 +2960,54 @@ msgstr "" "Переключення мови спричинить перезапуск програми.\n" "Ви втратите вміст платеру." -#: src/slic3r/GUI/GUI_App.cpp:1723 +#: src/slic3r/GUI/GUI_App.cpp:1749 msgid "Do you want to proceed?" msgstr "Ви хочете продовжити?" -#: src/slic3r/GUI/GUI_App.cpp:1750 +#: src/slic3r/GUI/GUI_App.cpp:1776 msgid "&Configuration" msgstr "&Конфігурація" -#: src/slic3r/GUI/GUI_App.cpp:1781 +#: src/slic3r/GUI/GUI_App.cpp:1807 msgid "The preset(s) modifications are successfully saved" msgstr "Модифікації пресетів успішно збережено" -#: src/slic3r/GUI/GUI_App.cpp:1802 +#: src/slic3r/GUI/GUI_App.cpp:1828 msgid "The uploads are still ongoing" msgstr "Завантаження все ще триває" -#: src/slic3r/GUI/GUI_App.cpp:1802 +#: src/slic3r/GUI/GUI_App.cpp:1828 msgid "Stop them and continue anyway?" msgstr "Зупинити їх і продовжувати в будь-якому випадку?" -#: src/slic3r/GUI/GUI_App.cpp:1805 +#: src/slic3r/GUI/GUI_App.cpp:1831 msgid "Ongoing uploads" msgstr "Триває завантаження" -#: src/slic3r/GUI/GUI_App.cpp:2019 src/slic3r/GUI/Tab.cpp:3242 +#: src/slic3r/GUI/GUI_App.cpp:2059 src/slic3r/GUI/Tab.cpp:3249 msgid "It's impossible to print multi-part object(s) with SLA technology." msgstr "" "За технологією SLA неможливо надрукувати об'єкти, що складаються з декількох " "частин." -#: src/slic3r/GUI/GUI_App.cpp:2020 +#: src/slic3r/GUI/GUI_App.cpp:2060 msgid "Please check and fix your object list." msgstr "Будь ласка, перевірте та виправте свій список об'єктів." -#: src/slic3r/GUI/GUI_App.cpp:2021 src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 -#: src/slic3r/GUI/Plater.cpp:2359 src/slic3r/GUI/Tab.cpp:3244 +#: src/slic3r/GUI/GUI_App.cpp:2061 src/slic3r/GUI/Jobs/SLAImportJob.cpp:212 +#: src/slic3r/GUI/Plater.cpp:2361 src/slic3r/GUI/Tab.cpp:3251 msgid "Attention!" msgstr "Увага!" -#: src/slic3r/GUI/GUI_App.cpp:2038 +#: src/slic3r/GUI/GUI_App.cpp:2078 msgid "Select a gcode file:" msgstr "Виберіть файл G-коду:" -#: src/slic3r/GUI/GUI_Init.cpp:73 src/slic3r/GUI/GUI_Init.cpp:76 +#: src/slic3r/GUI/GUI_Init.cpp:57 src/slic3r/GUI/GUI_Init.cpp:60 msgid "PrusaSlicer GUI initialization failed" msgstr "Помилка ініціалізації графічного інтерфейсу PrusaSlicer" -#: src/slic3r/GUI/GUI_Init.cpp:76 +#: src/slic3r/GUI/GUI_Init.cpp:60 msgid "Fatal error, exception catched: %1%" msgstr "Фатальна помилка, вилучений виняток: %1%" @@ -2994,33 +3033,33 @@ msgstr "Додати діапазон шарів" #: src/libslic3r/PrintConfig.cpp:240 src/libslic3r/PrintConfig.cpp:464 #: src/libslic3r/PrintConfig.cpp:530 src/libslic3r/PrintConfig.cpp:538 #: src/libslic3r/PrintConfig.cpp:970 src/libslic3r/PrintConfig.cpp:1219 -#: src/libslic3r/PrintConfig.cpp:1584 src/libslic3r/PrintConfig.cpp:1650 -#: src/libslic3r/PrintConfig.cpp:1835 src/libslic3r/PrintConfig.cpp:2302 -#: src/libslic3r/PrintConfig.cpp:2361 src/libslic3r/PrintConfig.cpp:2370 +#: src/libslic3r/PrintConfig.cpp:1586 src/libslic3r/PrintConfig.cpp:1652 +#: src/libslic3r/PrintConfig.cpp:1837 src/libslic3r/PrintConfig.cpp:2304 +#: src/libslic3r/PrintConfig.cpp:2363 src/libslic3r/PrintConfig.cpp:2372 msgid "Layers and Perimeters" msgstr "Шари та периметри" #: src/slic3r/GUI/GUI_ObjectList.cpp:36 src/slic3r/GUI/GUI_ObjectList.cpp:95 #: src/slic3r/GUI/GUI_ObjectList.cpp:670 src/slic3r/GUI/GUI_Preview.cpp:240 -#: src/slic3r/GUI/Tab.cpp:1472 src/slic3r/GUI/Tab.cpp:1474 +#: src/slic3r/GUI/Tab.cpp:1479 src/slic3r/GUI/Tab.cpp:1481 #: src/libslic3r/ExtrusionEntity.cpp:320 src/libslic3r/ExtrusionEntity.cpp:352 -#: src/libslic3r/PrintConfig.cpp:426 src/libslic3r/PrintConfig.cpp:1715 -#: src/libslic3r/PrintConfig.cpp:2093 src/libslic3r/PrintConfig.cpp:2099 -#: src/libslic3r/PrintConfig.cpp:2107 src/libslic3r/PrintConfig.cpp:2119 -#: src/libslic3r/PrintConfig.cpp:2129 src/libslic3r/PrintConfig.cpp:2137 -#: src/libslic3r/PrintConfig.cpp:2152 src/libslic3r/PrintConfig.cpp:2173 -#: src/libslic3r/PrintConfig.cpp:2185 src/libslic3r/PrintConfig.cpp:2201 -#: src/libslic3r/PrintConfig.cpp:2210 src/libslic3r/PrintConfig.cpp:2219 -#: src/libslic3r/PrintConfig.cpp:2230 src/libslic3r/PrintConfig.cpp:2244 -#: src/libslic3r/PrintConfig.cpp:2252 src/libslic3r/PrintConfig.cpp:2253 -#: src/libslic3r/PrintConfig.cpp:2262 src/libslic3r/PrintConfig.cpp:2270 -#: src/libslic3r/PrintConfig.cpp:2284 +#: src/libslic3r/PrintConfig.cpp:426 src/libslic3r/PrintConfig.cpp:1717 +#: src/libslic3r/PrintConfig.cpp:2095 src/libslic3r/PrintConfig.cpp:2101 +#: src/libslic3r/PrintConfig.cpp:2109 src/libslic3r/PrintConfig.cpp:2121 +#: src/libslic3r/PrintConfig.cpp:2131 src/libslic3r/PrintConfig.cpp:2139 +#: src/libslic3r/PrintConfig.cpp:2154 src/libslic3r/PrintConfig.cpp:2175 +#: src/libslic3r/PrintConfig.cpp:2187 src/libslic3r/PrintConfig.cpp:2203 +#: src/libslic3r/PrintConfig.cpp:2212 src/libslic3r/PrintConfig.cpp:2221 +#: src/libslic3r/PrintConfig.cpp:2232 src/libslic3r/PrintConfig.cpp:2246 +#: src/libslic3r/PrintConfig.cpp:2254 src/libslic3r/PrintConfig.cpp:2255 +#: src/libslic3r/PrintConfig.cpp:2264 src/libslic3r/PrintConfig.cpp:2272 +#: src/libslic3r/PrintConfig.cpp:2286 msgid "Support material" msgstr "Підтримка" #: src/slic3r/GUI/GUI_ObjectList.cpp:39 src/slic3r/GUI/GUI_ObjectList.cpp:99 -#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/libslic3r/PrintConfig.cpp:2480 -#: src/libslic3r/PrintConfig.cpp:2488 +#: src/slic3r/GUI/GUI_ObjectList.cpp:674 src/libslic3r/PrintConfig.cpp:2482 +#: src/libslic3r/PrintConfig.cpp:2490 msgid "Wipe options" msgstr "Параметри витирання" @@ -3045,7 +3084,7 @@ msgid "Add support blocker" msgstr "Додати блокувальник підтримок" #: src/slic3r/GUI/GUI_ObjectList.cpp:94 src/slic3r/GUI/GUI_ObjectList.cpp:669 -#: src/slic3r/GUI/GUI_Preview.cpp:236 src/slic3r/GUI/Tab.cpp:1442 +#: src/slic3r/GUI/GUI_Preview.cpp:236 src/slic3r/GUI/Tab.cpp:1449 #: src/libslic3r/ExtrusionEntity.cpp:316 src/libslic3r/ExtrusionEntity.cpp:344 #: src/libslic3r/PrintConfig.cpp:1226 src/libslic3r/PrintConfig.cpp:1232 #: src/libslic3r/PrintConfig.cpp:1246 src/libslic3r/PrintConfig.cpp:1256 @@ -3054,74 +3093,74 @@ msgid "Ironing" msgstr "Прасування" #: src/slic3r/GUI/GUI_ObjectList.cpp:96 src/slic3r/GUI/GUI_ObjectList.cpp:671 -#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/Tab.cpp:1498 +#: src/slic3r/GUI/GUI_Preview.cpp:217 src/slic3r/GUI/Tab.cpp:1505 #: src/libslic3r/PrintConfig.cpp:291 src/libslic3r/PrintConfig.cpp:518 #: src/libslic3r/PrintConfig.cpp:1012 src/libslic3r/PrintConfig.cpp:1192 -#: src/libslic3r/PrintConfig.cpp:1265 src/libslic3r/PrintConfig.cpp:1640 -#: src/libslic3r/PrintConfig.cpp:1916 src/libslic3r/PrintConfig.cpp:1968 -#: src/libslic3r/PrintConfig.cpp:2346 +#: src/libslic3r/PrintConfig.cpp:1265 src/libslic3r/PrintConfig.cpp:1642 +#: src/libslic3r/PrintConfig.cpp:1918 src/libslic3r/PrintConfig.cpp:1970 +#: src/libslic3r/PrintConfig.cpp:2348 msgid "Speed" msgstr "Швидкість" #: src/slic3r/GUI/GUI_ObjectList.cpp:97 src/slic3r/GUI/GUI_ObjectList.cpp:672 -#: src/slic3r/GUI/Tab.cpp:1534 src/slic3r/GUI/Tab.cpp:2112 +#: src/slic3r/GUI/Tab.cpp:1541 src/slic3r/GUI/Tab.cpp:2119 #: src/libslic3r/PrintConfig.cpp:548 src/libslic3r/PrintConfig.cpp:1146 -#: src/libslic3r/PrintConfig.cpp:1618 src/libslic3r/PrintConfig.cpp:1937 -#: src/libslic3r/PrintConfig.cpp:2165 src/libslic3r/PrintConfig.cpp:2192 +#: src/libslic3r/PrintConfig.cpp:1620 src/libslic3r/PrintConfig.cpp:1939 +#: src/libslic3r/PrintConfig.cpp:2167 src/libslic3r/PrintConfig.cpp:2194 msgid "Extruders" msgstr "Екструдери" #: src/slic3r/GUI/GUI_ObjectList.cpp:98 src/slic3r/GUI/GUI_ObjectList.cpp:673 #: src/libslic3r/PrintConfig.cpp:507 src/libslic3r/PrintConfig.cpp:616 #: src/libslic3r/PrintConfig.cpp:957 src/libslic3r/PrintConfig.cpp:1154 -#: src/libslic3r/PrintConfig.cpp:1627 src/libslic3r/PrintConfig.cpp:1957 -#: src/libslic3r/PrintConfig.cpp:2174 src/libslic3r/PrintConfig.cpp:2334 +#: src/libslic3r/PrintConfig.cpp:1629 src/libslic3r/PrintConfig.cpp:1959 +#: src/libslic3r/PrintConfig.cpp:2176 src/libslic3r/PrintConfig.cpp:2336 msgid "Extrusion Width" msgstr "Ширина екструзії" #: src/slic3r/GUI/GUI_ObjectList.cpp:102 src/slic3r/GUI/GUI_ObjectList.cpp:677 -#: src/slic3r/GUI/Tab.cpp:1428 src/slic3r/GUI/Tab.cpp:1452 -#: src/slic3r/GUI/Tab.cpp:1555 src/slic3r/GUI/Tab.cpp:1558 -#: src/slic3r/GUI/Tab.cpp:1855 src/slic3r/GUI/Tab.cpp:2197 -#: src/slic3r/GUI/Tab.cpp:4114 src/libslic3r/PrintConfig.cpp:92 +#: src/slic3r/GUI/Tab.cpp:1435 src/slic3r/GUI/Tab.cpp:1459 +#: src/slic3r/GUI/Tab.cpp:1562 src/slic3r/GUI/Tab.cpp:1565 +#: src/slic3r/GUI/Tab.cpp:1862 src/slic3r/GUI/Tab.cpp:2204 +#: src/slic3r/GUI/Tab.cpp:4121 src/libslic3r/PrintConfig.cpp:92 #: src/libslic3r/PrintConfig.cpp:132 src/libslic3r/PrintConfig.cpp:279 #: src/libslic3r/PrintConfig.cpp:1097 src/libslic3r/PrintConfig.cpp:1181 -#: src/libslic3r/PrintConfig.cpp:2504 src/libslic3r/PrintConfig.cpp:2676 +#: src/libslic3r/PrintConfig.cpp:2506 src/libslic3r/PrintConfig.cpp:2678 msgid "Advanced" msgstr "Розширений" #: src/slic3r/GUI/GUI_ObjectList.cpp:104 src/slic3r/GUI/GUI_ObjectList.cpp:679 -#: src/slic3r/GUI/Plater.cpp:357 src/slic3r/GUI/Tab.cpp:4048 -#: src/slic3r/GUI/Tab.cpp:4049 src/libslic3r/PrintConfig.cpp:2842 -#: src/libslic3r/PrintConfig.cpp:2849 src/libslic3r/PrintConfig.cpp:2858 -#: src/libslic3r/PrintConfig.cpp:2867 src/libslic3r/PrintConfig.cpp:2877 -#: src/libslic3r/PrintConfig.cpp:2887 src/libslic3r/PrintConfig.cpp:2924 -#: src/libslic3r/PrintConfig.cpp:2931 src/libslic3r/PrintConfig.cpp:2942 -#: src/libslic3r/PrintConfig.cpp:2952 src/libslic3r/PrintConfig.cpp:2961 -#: src/libslic3r/PrintConfig.cpp:2974 src/libslic3r/PrintConfig.cpp:2984 -#: src/libslic3r/PrintConfig.cpp:2993 src/libslic3r/PrintConfig.cpp:3003 -#: src/libslic3r/PrintConfig.cpp:3014 src/libslic3r/PrintConfig.cpp:3022 +#: src/slic3r/GUI/Plater.cpp:358 src/slic3r/GUI/Tab.cpp:4055 +#: src/slic3r/GUI/Tab.cpp:4056 src/libslic3r/PrintConfig.cpp:2844 +#: src/libslic3r/PrintConfig.cpp:2851 src/libslic3r/PrintConfig.cpp:2860 +#: src/libslic3r/PrintConfig.cpp:2869 src/libslic3r/PrintConfig.cpp:2879 +#: src/libslic3r/PrintConfig.cpp:2889 src/libslic3r/PrintConfig.cpp:2926 +#: src/libslic3r/PrintConfig.cpp:2933 src/libslic3r/PrintConfig.cpp:2944 +#: src/libslic3r/PrintConfig.cpp:2954 src/libslic3r/PrintConfig.cpp:2963 +#: src/libslic3r/PrintConfig.cpp:2976 src/libslic3r/PrintConfig.cpp:2986 +#: src/libslic3r/PrintConfig.cpp:2995 src/libslic3r/PrintConfig.cpp:3005 +#: src/libslic3r/PrintConfig.cpp:3016 src/libslic3r/PrintConfig.cpp:3024 msgid "Supports" msgstr "Підтримки" #: src/slic3r/GUI/GUI_ObjectList.cpp:105 src/slic3r/GUI/GUI_ObjectList.cpp:680 -#: src/slic3r/GUI/Plater.cpp:500 src/slic3r/GUI/Tab.cpp:4089 -#: src/slic3r/GUI/Tab.cpp:4090 src/slic3r/GUI/Tab.cpp:4161 -#: src/libslic3r/PrintConfig.cpp:3030 src/libslic3r/PrintConfig.cpp:3037 -#: src/libslic3r/PrintConfig.cpp:3051 src/libslic3r/PrintConfig.cpp:3062 -#: src/libslic3r/PrintConfig.cpp:3072 src/libslic3r/PrintConfig.cpp:3094 -#: src/libslic3r/PrintConfig.cpp:3105 src/libslic3r/PrintConfig.cpp:3112 -#: src/libslic3r/PrintConfig.cpp:3119 src/libslic3r/PrintConfig.cpp:3130 -#: src/libslic3r/PrintConfig.cpp:3139 src/libslic3r/PrintConfig.cpp:3148 +#: src/slic3r/GUI/Plater.cpp:501 src/slic3r/GUI/Tab.cpp:4096 +#: src/slic3r/GUI/Tab.cpp:4097 src/slic3r/GUI/Tab.cpp:4168 +#: src/libslic3r/PrintConfig.cpp:3032 src/libslic3r/PrintConfig.cpp:3039 +#: src/libslic3r/PrintConfig.cpp:3053 src/libslic3r/PrintConfig.cpp:3064 +#: src/libslic3r/PrintConfig.cpp:3074 src/libslic3r/PrintConfig.cpp:3096 +#: src/libslic3r/PrintConfig.cpp:3107 src/libslic3r/PrintConfig.cpp:3114 +#: src/libslic3r/PrintConfig.cpp:3121 src/libslic3r/PrintConfig.cpp:3132 +#: src/libslic3r/PrintConfig.cpp:3141 src/libslic3r/PrintConfig.cpp:3150 msgid "Pad" msgstr "Подушка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:106 src/slic3r/GUI/Tab.cpp:4107 -#: src/slic3r/GUI/Tab.cpp:4108 src/libslic3r/SLA/Hollowing.cpp:45 +#: src/slic3r/GUI/GUI_ObjectList.cpp:106 src/slic3r/GUI/Tab.cpp:4114 +#: src/slic3r/GUI/Tab.cpp:4115 src/libslic3r/SLA/Hollowing.cpp:45 #: src/libslic3r/SLA/Hollowing.cpp:57 src/libslic3r/SLA/Hollowing.cpp:66 -#: src/libslic3r/SLA/Hollowing.cpp:75 src/libslic3r/PrintConfig.cpp:3158 -#: src/libslic3r/PrintConfig.cpp:3165 src/libslic3r/PrintConfig.cpp:3175 -#: src/libslic3r/PrintConfig.cpp:3184 +#: src/libslic3r/SLA/Hollowing.cpp:75 src/libslic3r/PrintConfig.cpp:3160 +#: src/libslic3r/PrintConfig.cpp:3167 src/libslic3r/PrintConfig.cpp:3177 +#: src/libslic3r/PrintConfig.cpp:3186 msgid "Hollowing" msgstr "Випорожнення" @@ -3198,276 +3237,276 @@ msgstr "Перейменувати об'єкт" msgid "Rename Sub-object" msgstr "Перейменувати підоб'єкт" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1247 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4372 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1251 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4378 msgid "Instances to Separated Objects" msgstr "Змінити екземпляри на окремі об'єкти" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1262 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1266 msgid "Volumes in Object reordered" msgstr "Об’єкт впорядковано" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1262 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1266 msgid "Object reordered" msgstr "Об’єкт впорядковано" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1338 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1693 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1699 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2081 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1342 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1697 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1703 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2085 #, c-format msgid "Quick Add Settings (%s)" msgstr "Швидке додання налаштувань (%s)" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1428 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1432 msgid "Select showing settings" msgstr "Виберіть налаштування для показу" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1477 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1481 msgid "Add Settings for Layers" msgstr "Додати налаштування для шарів" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1478 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1482 msgid "Add Settings for Sub-object" msgstr "Додати налаштування для підоб'єкту" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1479 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1483 msgid "Add Settings for Object" msgstr "Додати налаштування для об'єкту" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1549 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1553 msgid "Add Settings Bundle for Height range" msgstr "Додати пакет налаштувань для діапазону висот" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1550 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1554 msgid "Add Settings Bundle for Sub-object" msgstr "Додати пакет налаштувань для підоб'єкту" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1551 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1555 msgid "Add Settings Bundle for Object" msgstr "Додати пакет налаштувань для об'єкту" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1590 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1594 msgid "Load" msgstr "Завантажити" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1627 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 #: src/slic3r/GUI/GUI_ObjectList.cpp:1631 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1635 msgid "Box" msgstr "Коробка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 msgid "Cylinder" msgstr "Циліндр" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1595 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1599 msgid "Slab" msgstr "Плита" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1663 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1667 msgid "Height range Modifier" msgstr "Модифікатор діапазону висот" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1672 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1676 msgid "Add settings" msgstr "Додати налаштування" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1750 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1754 msgid "Change type" msgstr "Змінити тип" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1760 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1772 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1764 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1776 msgid "Set as a Separated Object" msgstr "Встановити як окремий об’єкт" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1772 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1776 msgid "Set as a Separated Objects" msgstr "Встановити як окремі об’єкти" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1782 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1786 msgid "Printable" msgstr "Для друку" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1797 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1801 msgid "Rename" msgstr "Перейменувати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1808 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1812 msgid "Fix through the Netfabb" msgstr "Виправити за допомогою NetFabb" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1818 src/slic3r/GUI/Plater.cpp:4035 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1822 src/slic3r/GUI/Plater.cpp:4052 msgid "Export as STL" msgstr "Експортувати як STL" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1825 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4567 src/slic3r/GUI/Plater.cpp:4001 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1829 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4573 src/slic3r/GUI/Plater.cpp:4018 msgid "Reload the selected volumes from disk" msgstr "Перезавантажити вибрані часті з диска" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1832 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1836 msgid "Set extruder for selected items" msgstr "Встановити екструдер для вибраних елементів" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1864 src/libslic3r/PrintConfig.cpp:391 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1868 src/libslic3r/PrintConfig.cpp:391 msgid "Default" msgstr "За замовчуванням" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1884 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1888 msgid "Scale to print volume" msgstr "Масштабувати під область друку" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1884 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1888 msgid "Scale the selected object to fit the print volume" msgstr "Масштабуйте вибраний об'єкт відповідно до об'єму столу" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1913 src/slic3r/GUI/Plater.cpp:5224 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1917 src/slic3r/GUI/Plater.cpp:5245 msgid "Convert from imperial units" msgstr "Конвертувати з імперських одиниць" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1915 src/slic3r/GUI/Plater.cpp:5224 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1919 src/slic3r/GUI/Plater.cpp:5245 msgid "Revert conversion from imperial units" msgstr "Повернути конвертацію з імперських одиниць" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1944 -#: src/slic3r/GUI/GUI_ObjectList.cpp:1952 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2630 src/libslic3r/PrintConfig.cpp:3730 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1948 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1956 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2636 src/libslic3r/PrintConfig.cpp:3734 msgid "Merge" msgstr "Об’єднати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1944 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1948 msgid "Merge objects to the one multipart object" msgstr "Об'єднати об'єкти в один багаточастковий об'єкт" -#: src/slic3r/GUI/GUI_ObjectList.cpp:1952 +#: src/slic3r/GUI/GUI_ObjectList.cpp:1956 msgid "Merge objects to the one single object" msgstr "Об’єднайте об’єкти в один єдиний об’єкт" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2026 -#: src/slic3r/GUI/GUI_ObjectList.cpp:2283 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2030 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2287 msgid "Add Shape" msgstr "Додати форму" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2111 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2115 msgid "Load Part" msgstr "Завантажити частину" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2150 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2154 msgid "Error!" msgstr "Помилка!" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2225 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2229 msgid "Add Generic Subobject" msgstr "Додати загальний підоб'єкт" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2254 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2258 msgid "Generic" msgstr "Загальний" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2380 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2384 msgid "Delete Settings" msgstr "Видалити налаштування" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2402 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2408 msgid "Delete All Instances from Object" msgstr "Видалити всі екземпляри з об’єкта" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2418 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2424 msgid "Delete Height Range" msgstr "Видалити діапазон висот" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2450 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2456 msgid "From Object List You can't delete the last solid part from object." msgstr "" "Зі списку об’єктів Ви не можете видалити останню суцільну частину з об’єкта." -#: src/slic3r/GUI/GUI_ObjectList.cpp:2454 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2460 msgid "Delete Subobject" msgstr "Видалити підоб'єкт" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2469 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2475 msgid "Last instance of an object cannot be deleted." msgstr "Не можна видалити останній екземпляр з об'єкту." -#: src/slic3r/GUI/GUI_ObjectList.cpp:2473 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2479 msgid "Delete Instance" msgstr "Видалити екземпляр" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2497 src/slic3r/GUI/Plater.cpp:2865 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2503 src/slic3r/GUI/Plater.cpp:2873 msgid "" "The selected object couldn't be split because it contains only one part." msgstr "" "Вибраний об'єкт не можна розділити, оскільки він містить лише одну частину." -#: src/slic3r/GUI/GUI_ObjectList.cpp:2501 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2507 msgid "Split to Parts" msgstr "Розділити на частини" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2637 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2643 msgid "Merged" msgstr "Об’єднано" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2721 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2727 msgid "Merge all parts to the one single object" msgstr "Об’єднати всі частини в єдиний об’єкт" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2753 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2759 msgid "Add Layers" msgstr "Додати шари" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2907 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2913 msgid "Group manipulation" msgstr "Маніпулювання групою" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2919 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2925 msgid "Object manipulation" msgstr "Маніпулювання об'єктом" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2932 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2938 msgid "Object Settings to modify" msgstr "Параметри об'єкту, які можна змінювати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2936 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2942 msgid "Part Settings to modify" msgstr "Параметри частини, які можна змінювати" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2941 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2947 msgid "Layer range Settings to modify" msgstr "Пакет налаштувань для діапазону висот" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2947 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2953 msgid "Part manipulation" msgstr "Маніпулювання частиною" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2953 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2959 msgid "Instance manipulation" msgstr "Маніпулювання екземпляром" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2960 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2966 msgid "Height ranges" msgstr "Діапазони висот" -#: src/slic3r/GUI/GUI_ObjectList.cpp:2960 +#: src/slic3r/GUI/GUI_ObjectList.cpp:2966 msgid "Settings for height range" msgstr "Налаштування діапазону висот" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3144 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3150 msgid "Delete Selected Item" msgstr "Видалити вибраний елемент" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3332 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3338 msgid "Delete Selected" msgstr "Видалити вибране" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3408 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3436 -#: src/slic3r/GUI/GUI_ObjectList.cpp:3456 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3414 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3442 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3462 msgid "Add Height Range" msgstr "Додати діапазон висот" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3502 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3508 msgid "" "Cannot insert a new layer range after the current layer range.\n" "The next layer range is too thin to be split to two\n" @@ -3478,7 +3517,7 @@ msgstr "" "два\n" "без порушення мінімальної висоти шару." -#: src/slic3r/GUI/GUI_ObjectList.cpp:3506 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3512 msgid "" "Cannot insert a new layer range between the current and the next layer " "range.\n" @@ -3490,7 +3529,7 @@ msgstr "" "Розрив між діапазоном поточного шару та діапазоном наступного шару\n" "тонше мінімально допустимої висоти шару." -#: src/slic3r/GUI/GUI_ObjectList.cpp:3511 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3517 msgid "" "Cannot insert a new layer range after the current layer range.\n" "Current layer range overlaps with the next layer range." @@ -3498,116 +3537,116 @@ msgstr "" "Не вдається вставити новий діапазон шарів після поточного діапазону шарів.\n" "Діапазон поточного шару перекривається з діапазоном наступного шару." -#: src/slic3r/GUI/GUI_ObjectList.cpp:3570 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3576 msgid "Edit Height Range" msgstr "Редагування діапазону висот" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3865 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3871 msgid "Selection-Remove from list" msgstr "Виділення - Видалено зі списку" -#: src/slic3r/GUI/GUI_ObjectList.cpp:3873 +#: src/slic3r/GUI/GUI_ObjectList.cpp:3879 msgid "Selection-Add from list" msgstr "Виділення - Додано зі списку" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4008 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4014 msgid "Object or Instance" msgstr "\"Об’єкт\" або \"Екземпляр\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4015 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4148 msgid "Part" msgstr "\"Частина\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4009 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4015 msgid "Layer" msgstr "\"Шар\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4011 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4017 msgid "Unsupported selection" msgstr "Непідтримуваний вибір" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4012 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4018 #, c-format msgid "You started your selection with %s Item." msgstr "Ви розпочали свій вибір з елемента %s." -#: src/slic3r/GUI/GUI_ObjectList.cpp:4013 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4019 #, c-format msgid "In this mode you can select only other %s Items%s" msgstr "В цьому режимі ви можете вибирати тільки інші %s %s" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4016 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4022 msgid "of a current Object" msgstr "поточного \"Об'єкта\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4021 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4096 src/slic3r/GUI/Plater.cpp:143 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4027 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4102 src/slic3r/GUI/Plater.cpp:144 msgid "Info" msgstr "Інфо" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4137 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4143 msgid "You can't change a type of the last solid part of the object." msgstr "Ви не можете змінити тип останньої твердої частини об’єкта." -#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4148 msgid "Modifier" msgstr "Модифікатор" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4148 msgid "Support Enforcer" msgstr "Примусова підтримка" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4142 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4148 msgid "Support Blocker" msgstr "Блокувальник підтримок" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4144 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4150 msgid "Select type of part" msgstr "Змінити тип частини" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4149 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4155 msgid "Change Part Type" msgstr "Змінити тип деталі" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4394 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4400 msgid "Enter new name" msgstr "Введіть нову назву" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4394 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4400 msgid "Renaming" msgstr "Перейменування" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4410 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4537 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4416 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4543 #: src/slic3r/GUI/SavePresetDialog.cpp:101 #: src/slic3r/GUI/SavePresetDialog.cpp:109 msgid "The supplied name is not valid;" msgstr "Надане ім'я недійсне;" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4411 -#: src/slic3r/GUI/GUI_ObjectList.cpp:4538 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4417 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4544 #: src/slic3r/GUI/SavePresetDialog.cpp:102 msgid "the following characters are not allowed:" msgstr "такі символи не допускаються:" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4586 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4592 msgid "Select extruder number:" msgstr "Виберіть номер екструдера:" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4587 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4593 msgid "This extruder will be set for selected items" msgstr "Цей екструдер буде встановлений для вибраних елементів" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4612 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4618 msgid "Change Extruders" msgstr "Змінити екструдери" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4709 src/slic3r/GUI/Selection.cpp:1485 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4715 src/slic3r/GUI/Selection.cpp:1485 msgid "Set Printable" msgstr "Встановити \"Для друку\"" -#: src/slic3r/GUI/GUI_ObjectList.cpp:4709 src/slic3r/GUI/Selection.cpp:1485 +#: src/slic3r/GUI/GUI_ObjectList.cpp:4715 src/slic3r/GUI/Selection.cpp:1485 msgid "Set Unprintable" msgstr "Встановити \"Не для друку\"" @@ -3746,11 +3785,11 @@ msgstr "Вид" msgid "Height" msgstr "Висота" -#: src/slic3r/GUI/GUI_Preview.cpp:216 src/libslic3r/PrintConfig.cpp:2466 +#: src/slic3r/GUI/GUI_Preview.cpp:216 src/libslic3r/PrintConfig.cpp:2468 msgid "Width" msgstr "Ширина" -#: src/slic3r/GUI/GUI_Preview.cpp:218 src/slic3r/GUI/Tab.cpp:1840 +#: src/slic3r/GUI/GUI_Preview.cpp:218 src/slic3r/GUI/Tab.cpp:1847 msgid "Fan speed" msgstr "Швидкість вентилятора" @@ -3787,14 +3826,14 @@ msgid "Internal infill" msgstr "Внутрішнє наповнення" #: src/slic3r/GUI/GUI_Preview.cpp:234 src/libslic3r/ExtrusionEntity.cpp:314 -#: src/libslic3r/ExtrusionEntity.cpp:340 src/libslic3r/PrintConfig.cpp:1956 -#: src/libslic3r/PrintConfig.cpp:1967 +#: src/libslic3r/ExtrusionEntity.cpp:340 src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:1969 msgid "Solid infill" msgstr "Суцільне наповнення" #: src/slic3r/GUI/GUI_Preview.cpp:235 src/libslic3r/ExtrusionEntity.cpp:315 -#: src/libslic3r/ExtrusionEntity.cpp:342 src/libslic3r/PrintConfig.cpp:2333 -#: src/libslic3r/PrintConfig.cpp:2345 +#: src/libslic3r/ExtrusionEntity.cpp:342 src/libslic3r/PrintConfig.cpp:2335 +#: src/libslic3r/PrintConfig.cpp:2347 msgid "Top solid infill" msgstr "Верхнє суцільне наповнення" @@ -3808,42 +3847,42 @@ msgstr "Мостове наповнення" msgid "Gap fill" msgstr "Заповнення розриву" -#: src/slic3r/GUI/GUI_Preview.cpp:239 src/slic3r/GUI/Tab.cpp:1462 +#: src/slic3r/GUI/GUI_Preview.cpp:239 src/slic3r/GUI/Tab.cpp:1469 #: src/libslic3r/ExtrusionEntity.cpp:319 src/libslic3r/ExtrusionEntity.cpp:350 msgid "Skirt" msgstr "Плінтус" #: src/slic3r/GUI/GUI_Preview.cpp:241 src/libslic3r/ExtrusionEntity.cpp:321 -#: src/libslic3r/ExtrusionEntity.cpp:354 src/libslic3r/PrintConfig.cpp:2218 +#: src/libslic3r/ExtrusionEntity.cpp:354 src/libslic3r/PrintConfig.cpp:2220 msgid "Support material interface" msgstr "Інтерфейс підтримуючого матеріалу" -#: src/slic3r/GUI/GUI_Preview.cpp:242 src/slic3r/GUI/Tab.cpp:1545 +#: src/slic3r/GUI/GUI_Preview.cpp:242 src/slic3r/GUI/Tab.cpp:1552 #: src/libslic3r/ExtrusionEntity.cpp:322 src/libslic3r/ExtrusionEntity.cpp:356 msgid "Wipe tower" msgstr "Вежа витирання" -#: src/slic3r/GUI/GUI_Preview.cpp:1031 +#: src/slic3r/GUI/GUI_Preview.cpp:1037 msgid "Shells" msgstr "Оболонки" -#: src/slic3r/GUI/GUI_Preview.cpp:1032 +#: src/slic3r/GUI/GUI_Preview.cpp:1038 msgid "Tool marker" msgstr "Маркер інструменту" -#: src/slic3r/GUI/GUI_Preview.cpp:1033 +#: src/slic3r/GUI/GUI_Preview.cpp:1039 msgid "Legend/Estimated printing time" msgstr "Легенда / Приблизний час друку" -#: src/slic3r/GUI/ImGuiWrapper.cpp:804 src/slic3r/GUI/Search.cpp:389 +#: src/slic3r/GUI/ImGuiWrapper.cpp:804 src/slic3r/GUI/Search.cpp:386 msgid "Use for search" msgstr "Використовуйте для пошуку" -#: src/slic3r/GUI/ImGuiWrapper.cpp:805 src/slic3r/GUI/Search.cpp:383 +#: src/slic3r/GUI/ImGuiWrapper.cpp:805 src/slic3r/GUI/Search.cpp:380 msgid "Category" msgstr "Категорія" -#: src/slic3r/GUI/ImGuiWrapper.cpp:807 src/slic3r/GUI/Search.cpp:385 +#: src/slic3r/GUI/ImGuiWrapper.cpp:807 src/slic3r/GUI/Search.cpp:382 msgid "Search in English" msgstr "Шукати англійською мовою" @@ -3912,26 +3951,26 @@ msgstr "Збалансований" msgid "Quick" msgstr "Швидко" -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:135 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:136 msgid "Importing SLA archive" msgstr "Імпорт SLA-архіву" -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:159 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:160 msgid "Importing canceled." msgstr "Імпорт скасовано." -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:160 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:161 msgid "Importing done." msgstr "Імпорт виконано." -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:208 src/slic3r/GUI/Plater.cpp:2357 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:210 src/slic3r/GUI/Plater.cpp:2359 msgid "You cannot load SLA project with a multi-part object on the bed" msgstr "" "Ви не можете завантажувати SLA-проект, що містить об'єкт, який складається з " "кількох частин" -#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:209 src/slic3r/GUI/Plater.cpp:2358 -#: src/slic3r/GUI/Tab.cpp:3243 +#: src/slic3r/GUI/Jobs/SLAImportJob.cpp:211 src/slic3r/GUI/Plater.cpp:2360 +#: src/slic3r/GUI/Tab.cpp:3250 msgid "Please check your object list before preset changing." msgstr "" "Будь ласка, перевірте свій список об'єктів перед тим, як змінити пресет." @@ -3972,12 +4011,12 @@ msgstr "Імпорт конфігурації з INI/AMF/3MF/GCODE" msgid "Load Config from ini/amf/3mf/gcode and merge" msgstr "Завантажити конфігурацію з INI/AMF/3MF/GCODE та об’єднати" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:79 src/slic3r/GUI/Plater.cpp:770 -#: src/slic3r/GUI/Plater.cpp:6054 src/libslic3r/PrintConfig.cpp:3635 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:79 src/slic3r/GUI/Plater.cpp:771 +#: src/slic3r/GUI/Plater.cpp:6074 src/libslic3r/PrintConfig.cpp:3639 msgid "Export G-code" msgstr "Експорт G-коду" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6055 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6075 msgid "Send G-code" msgstr "Надіслання G-коду" @@ -3985,7 +4024,7 @@ msgstr "Надіслання G-коду" msgid "Export config" msgstr "Експорт конфігурації" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:82 src/slic3r/GUI/Plater.cpp:758 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:82 src/slic3r/GUI/Plater.cpp:759 msgid "Export to SD card / Flash drive" msgstr "Експорт на SD-карту/флешку" @@ -4044,7 +4083,7 @@ msgid "Switch to Preview" msgstr "Переключити на Перегляд" #: src/slic3r/GUI/KBShortcutsDialog.cpp:106 -#: src/slic3r/GUI/PrintHostDialogs.cpp:165 +#: src/slic3r/GUI/PrintHostDialogs.cpp:176 msgid "Print host upload queue" msgstr "Черга завантаження хоста друку" @@ -4361,8 +4400,8 @@ msgstr "Нижній шар" msgid "Show/Hide Legend & Estimated printing time" msgstr "Показати / Сховати легенду та приблизний час друку" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:215 src/slic3r/GUI/Plater.cpp:4200 -#: src/slic3r/GUI/Tab.cpp:2602 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:215 src/slic3r/GUI/Plater.cpp:4217 +#: src/slic3r/GUI/Tab.cpp:2609 msgid "Preview" msgstr "Попередній перегляд" @@ -4578,8 +4617,8 @@ msgstr "Вид Iso" #. TRN To be shown in the main menu View->Top #. TRN To be shown in Print Settings "Top solid layers" -#: src/slic3r/GUI/MainFrame.cpp:912 src/libslic3r/PrintConfig.cpp:2360 -#: src/libslic3r/PrintConfig.cpp:2369 +#: src/slic3r/GUI/MainFrame.cpp:912 src/libslic3r/PrintConfig.cpp:2362 +#: src/libslic3r/PrintConfig.cpp:2371 msgid "Top" msgstr "Зверху" @@ -4607,7 +4646,7 @@ msgstr "Спереду" msgid "Front View" msgstr "Вид спереду" -#: src/slic3r/GUI/MainFrame.cpp:919 src/libslic3r/PrintConfig.cpp:1845 +#: src/slic3r/GUI/MainFrame.cpp:919 src/libslic3r/PrintConfig.cpp:1847 msgid "Rear" msgstr "Ззаду" @@ -4659,8 +4698,8 @@ msgstr "" "Вибраний проект більше не доступний.\n" "Видалити його зі списку останніх проектів?" -#: src/slic3r/GUI/MainFrame.cpp:953 src/slic3r/GUI/MainFrame.cpp:1343 -#: src/slic3r/GUI/PrintHostDialogs.cpp:263 +#: src/slic3r/GUI/MainFrame.cpp:953 src/slic3r/GUI/MainFrame.cpp:1344 +#: src/slic3r/GUI/PrintHostDialogs.cpp:274 msgid "Error" msgstr "Помилка" @@ -4697,12 +4736,12 @@ msgid "Load an model saved with imperial units" msgstr "Завантажити модель, збережену в імперських одиницях" #: src/slic3r/GUI/MainFrame.cpp:1000 -msgid "Import SL1 archive" -msgstr "Імпорт SL1-архіву" +msgid "Import SL1 / SL1S archive" +msgstr "Імпорт архіву SL1 / SL1S" #: src/slic3r/GUI/MainFrame.cpp:1000 -msgid "Load an SL1 archive" -msgstr "Завантажити SL1-архів" +msgid "Load an SL1 / Sl1S archive" +msgstr "Завантаження архіву SL1 / Sl1S" #: src/slic3r/GUI/MainFrame.cpp:1005 msgid "Import &Config" @@ -5015,7 +5054,7 @@ msgstr "Показувати мітки об’єктів/екземплярів msgid "&Collapse sidebar" msgstr "Згорнути бічну панель" -#: src/slic3r/GUI/MainFrame.cpp:1204 src/slic3r/GUI/Plater.cpp:2247 +#: src/slic3r/GUI/MainFrame.cpp:1204 src/slic3r/GUI/Plater.cpp:2248 msgid "Collapse sidebar" msgstr "Згорнути бічну панель" @@ -5059,92 +5098,92 @@ msgstr "Надіслати на принтер" msgid "Mate&rial Settings Tab" msgstr "Вкладка параметрів матеріалу" -#: src/slic3r/GUI/MainFrame.cpp:1331 +#: src/slic3r/GUI/MainFrame.cpp:1332 msgid "Choose a file to slice (STL/OBJ/AMF/3MF/PRUSA):" msgstr "Вибрати файл для нарізання (STL/OBJ/AMF/3MF/PRUSA):" -#: src/slic3r/GUI/MainFrame.cpp:1342 +#: src/slic3r/GUI/MainFrame.cpp:1343 msgid "No previously sliced file." msgstr "Немає попередньо нарізаного файлу." -#: src/slic3r/GUI/MainFrame.cpp:1348 +#: src/slic3r/GUI/MainFrame.cpp:1349 msgid "Previously sliced file (" msgstr "Попередньо нарізаний файл (" -#: src/slic3r/GUI/MainFrame.cpp:1348 +#: src/slic3r/GUI/MainFrame.cpp:1349 msgid ") not found." msgstr ") не знайдено." -#: src/slic3r/GUI/MainFrame.cpp:1349 +#: src/slic3r/GUI/MainFrame.cpp:1350 msgid "File Not Found" msgstr "Файл не знайдено" -#: src/slic3r/GUI/MainFrame.cpp:1384 +#: src/slic3r/GUI/MainFrame.cpp:1385 #, c-format msgid "Save %s file as:" msgstr "Зберегти файл %s як:" -#: src/slic3r/GUI/MainFrame.cpp:1384 +#: src/slic3r/GUI/MainFrame.cpp:1385 msgid "SVG" msgstr "SVG" -#: src/slic3r/GUI/MainFrame.cpp:1384 +#: src/slic3r/GUI/MainFrame.cpp:1385 msgid "G-code" msgstr "G-код" -#: src/slic3r/GUI/MainFrame.cpp:1396 +#: src/slic3r/GUI/MainFrame.cpp:1397 msgid "Save zip file as:" msgstr "Зберегти zip-файл як:" -#: src/slic3r/GUI/MainFrame.cpp:1405 src/slic3r/GUI/Plater.cpp:3009 -#: src/slic3r/GUI/Plater.cpp:5581 src/slic3r/GUI/Tab.cpp:1575 -#: src/slic3r/GUI/Tab.cpp:4115 +#: src/slic3r/GUI/MainFrame.cpp:1406 src/slic3r/GUI/Plater.cpp:3017 +#: src/slic3r/GUI/Plater.cpp:5602 src/slic3r/GUI/Tab.cpp:1582 +#: src/slic3r/GUI/Tab.cpp:4122 msgid "Slicing" msgstr "Нарізання" #. TRN "Processing input_file_basename" -#: src/slic3r/GUI/MainFrame.cpp:1407 +#: src/slic3r/GUI/MainFrame.cpp:1408 #, c-format msgid "Processing %s" msgstr "Обробка %s" -#: src/slic3r/GUI/MainFrame.cpp:1430 +#: src/slic3r/GUI/MainFrame.cpp:1431 msgid "%1% was successfully sliced." msgstr "%1% був успішно нарізаний." -#: src/slic3r/GUI/MainFrame.cpp:1432 +#: src/slic3r/GUI/MainFrame.cpp:1433 msgid "Slicing Done!" msgstr "Нарізання завершено!" -#: src/slic3r/GUI/MainFrame.cpp:1447 +#: src/slic3r/GUI/MainFrame.cpp:1449 msgid "Select the STL file to repair:" msgstr "Вибрати STL-файл для відновлення:" -#: src/slic3r/GUI/MainFrame.cpp:1457 +#: src/slic3r/GUI/MainFrame.cpp:1459 msgid "Save OBJ file (less prone to coordinate errors than STL) as:" msgstr "Зберегти OBJ-файл (менш схильний координувати помилки, ніж STL) як:" -#: src/slic3r/GUI/MainFrame.cpp:1469 +#: src/slic3r/GUI/MainFrame.cpp:1471 msgid "Your file was repaired." msgstr "Ваш файл було відновлено." -#: src/slic3r/GUI/MainFrame.cpp:1469 src/libslic3r/PrintConfig.cpp:3735 +#: src/slic3r/GUI/MainFrame.cpp:1471 src/libslic3r/PrintConfig.cpp:3739 msgid "Repair" msgstr "Відновити" -#: src/slic3r/GUI/MainFrame.cpp:1483 +#: src/slic3r/GUI/MainFrame.cpp:1485 msgid "Save configuration as:" msgstr "Зберегти конфігурацію як:" -#: src/slic3r/GUI/MainFrame.cpp:1502 src/slic3r/GUI/MainFrame.cpp:1564 +#: src/slic3r/GUI/MainFrame.cpp:1504 src/slic3r/GUI/MainFrame.cpp:1568 msgid "Select configuration to load:" msgstr "Вибрати конфігурацію для завантаження:" -#: src/slic3r/GUI/MainFrame.cpp:1538 +#: src/slic3r/GUI/MainFrame.cpp:1542 msgid "Save presets bundle as:" msgstr "Зберегти набір налаштувань як:" -#: src/slic3r/GUI/MainFrame.cpp:1585 +#: src/slic3r/GUI/MainFrame.cpp:1595 #, c-format msgid "%d presets successfully imported." msgstr "%d налаштувань успішно імпортовано." @@ -5193,6 +5232,15 @@ msgstr "помилка %s" msgid "%s has encountered an error" msgstr "%s виявив помилку" +#: src/slic3r/GUI/MsgDialog.cpp:114 +#, c-format +msgid "%s information" +msgstr "%s інформація" + +#: src/slic3r/GUI/MsgDialog.cpp:114 +msgid "Note that" +msgstr "Зверніть увагу, що" + #: src/slic3r/GUI/NotificationManager.hpp:471 msgid "3D Mouse disconnected." msgstr "3D миша відключена." @@ -5223,41 +5271,41 @@ msgstr "" "Щоб правильно експортувати G-код, перевірте значення параметру «G-коду зміни " "кольору» в «Параметри принтера > Користувацький G-код»" -#: src/slic3r/GUI/NotificationManager.cpp:490 -#: src/slic3r/GUI/NotificationManager.cpp:500 +#: src/slic3r/GUI/NotificationManager.cpp:515 +#: src/slic3r/GUI/NotificationManager.cpp:523 msgid "More" msgstr "Більше" -#: src/slic3r/GUI/NotificationManager.cpp:864 -#: src/slic3r/GUI/NotificationManager.cpp:1141 +#: src/slic3r/GUI/NotificationManager.cpp:890 +#: src/slic3r/GUI/NotificationManager.cpp:1170 msgid "Export G-Code." msgstr "Експортувати G-код." -#: src/slic3r/GUI/NotificationManager.cpp:908 +#: src/slic3r/GUI/NotificationManager.cpp:936 msgid "Open Folder." msgstr "Відкрити папку." -#: src/slic3r/GUI/NotificationManager.cpp:946 +#: src/slic3r/GUI/NotificationManager.cpp:975 msgid "Eject drive" msgstr "Від'єднати диск" -#: src/slic3r/GUI/NotificationManager.cpp:1060 -#: src/slic3r/GUI/NotificationManager.cpp:1076 -#: src/slic3r/GUI/NotificationManager.cpp:1087 +#: src/slic3r/GUI/NotificationManager.cpp:1089 +#: src/slic3r/GUI/NotificationManager.cpp:1105 +#: src/slic3r/GUI/NotificationManager.cpp:1116 msgid "ERROR:" msgstr "ПОМИЛКА:" -#: src/slic3r/GUI/NotificationManager.cpp:1065 -#: src/slic3r/GUI/NotificationManager.cpp:1080 -#: src/slic3r/GUI/NotificationManager.cpp:1095 +#: src/slic3r/GUI/NotificationManager.cpp:1094 +#: src/slic3r/GUI/NotificationManager.cpp:1109 +#: src/slic3r/GUI/NotificationManager.cpp:1124 msgid "WARNING:" msgstr "ЗАСТЕРЕЖЕННЯ:" -#: src/slic3r/GUI/NotificationManager.cpp:1144 +#: src/slic3r/GUI/NotificationManager.cpp:1173 msgid "Slicing finished." msgstr "Нарізання завершено." -#: src/slic3r/GUI/NotificationManager.cpp:1186 +#: src/slic3r/GUI/NotificationManager.cpp:1215 msgid "Exporting finished." msgstr "Експорт завершено." @@ -5271,8 +5319,8 @@ msgstr "Екземпляри" msgid "Instance %d" msgstr "Екземпляр %d" -#: src/slic3r/GUI/ObjectDataViewModel.cpp:69 src/slic3r/GUI/Tab.cpp:3962 -#: src/slic3r/GUI/Tab.cpp:4044 +#: src/slic3r/GUI/ObjectDataViewModel.cpp:69 src/slic3r/GUI/Tab.cpp:3969 +#: src/slic3r/GUI/Tab.cpp:4051 msgid "Layers" msgstr "Шари" @@ -5280,7 +5328,7 @@ msgstr "Шари" msgid "Range" msgstr "Діапазон" -#: src/slic3r/GUI/OpenGLManager.cpp:259 +#: src/slic3r/GUI/OpenGLManager.cpp:261 #, c-format msgid "" "PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" @@ -5290,11 +5338,11 @@ msgstr "" "працював правильно,\n" "але було виявлено OpenGL версії %s, відтворення %s, постачальника %s." -#: src/slic3r/GUI/OpenGLManager.cpp:262 +#: src/slic3r/GUI/OpenGLManager.cpp:264 msgid "You may need to update your graphics card driver." msgstr "Можливо, вам доведеться оновити драйвер відеокарти." -#: src/slic3r/GUI/OpenGLManager.cpp:265 +#: src/slic3r/GUI/OpenGLManager.cpp:267 msgid "" "As a workaround, you may run PrusaSlicer with a software rendered 3D " "graphics by running prusa-slicer.exe with the --sw_renderer parameter." @@ -5303,11 +5351,11 @@ msgstr "" "забезпеченням, що рендерить 3D-графіку, за допомогою старту prusa-slicer.exe " "з параметром --sw_renderer." -#: src/slic3r/GUI/OpenGLManager.cpp:267 +#: src/slic3r/GUI/OpenGLManager.cpp:269 msgid "Unsupported OpenGL version" msgstr "Непідтримувана версія OpenGL" -#: src/slic3r/GUI/OpenGLManager.cpp:275 +#: src/slic3r/GUI/OpenGLManager.cpp:277 #, c-format msgid "" "Unable to load the following shaders:\n" @@ -5316,7 +5364,7 @@ msgstr "" "Не вдається завантажити такі шейдери:\n" "%s" -#: src/slic3r/GUI/OpenGLManager.cpp:276 +#: src/slic3r/GUI/OpenGLManager.cpp:278 msgid "Error loading shaders" msgstr "Помилка завантаження шейдерів" @@ -5334,51 +5382,51 @@ msgstr "Нижні" msgid "Delete this preset from this printer device" msgstr "Видаліть цей пресет з цього принтера" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:81 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:82 msgid "This printer will be shown in the presets list as" msgstr "Цей принтер буде відображатися у списку пресетів як" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:155 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:156 msgid "Physical Printer" msgstr "Фізичний принтер" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:161 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:163 msgid "Type here the name of your printer device" msgstr "Введіть тут назву вашого принтера" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:172 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:174 msgid "Descriptive name for the printer" msgstr "Описова назва принтера" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:176 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:178 msgid "Add preset for this printer device" msgstr "Додати пресет для цього пристрою принтера" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:205 src/slic3r/GUI/Tab.cpp:2064 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:207 src/slic3r/GUI/Tab.cpp:2071 msgid "Print Host upload" msgstr "Завантаження хоста друку" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:260 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:262 msgid "Connection to printers connected via the print host failed." msgstr "Помилка підключення до принтерів, підключених через хост друку." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:302 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:304 msgid "Test" msgstr "Перевірити" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:307 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:309 msgid "Could not get a valid Printer Host reference" msgstr "Не вдалося отримати дійсне посилання на хост принтера" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:319 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:321 msgid "Success!" msgstr "Успіх!" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:329 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:331 msgid "Refresh Printers" msgstr "Оновити принтери" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:356 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:358 msgid "" "HTTPS CA file is optional. It is only needed if you use HTTPS with a self-" "signed certificate." @@ -5386,20 +5434,20 @@ msgstr "" "Файл HTTPS CA не є обов'язковим. Це потрібно, лише якщо ви використовуєте " "HTTPS із самопідписаним сертифікатом." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:366 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:368 msgid "Certificate files (*.crt, *.pem)|*.crt;*.pem|All files|*.*" msgstr "Файли сертифікатів (*.crt, *.pem)|*.crt;*.pem|Усі файли|*.*" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:367 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:369 msgid "Open CA certificate file" msgstr "Відкрити файл CA сертифікату" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:395 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:397 #: src/libslic3r/PrintConfig.cpp:124 msgid "HTTPS CA File" msgstr "Файл CA сертифікату" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:396 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:398 #, c-format msgid "" "On this system, %s uses HTTPS certificates from the system Certificate Store " @@ -5408,7 +5456,7 @@ msgstr "" "На цій системі, %s використовує HTTPS-сертифікати з системного сховища " "сертифікатів або Keychain." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:397 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:399 msgid "" "To use a custom CA file, please import your CA file into Certificate Store / " "Keychain." @@ -5416,23 +5464,23 @@ msgstr "" "Щоб використовувати власний CA файл, будь-ласка, імпортуйте його у сховища " "сертифікатів / Keychain." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:543 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:607 msgid "The supplied name is empty. It can't be saved." msgstr "Надане ім'я порожнє. Не вдається зберегти." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:547 -msgid "You should to change a name of your printer device. It can't be saved." -msgstr "Вам слід змінити назву принтера. Задану назву неможливо зберегти." +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:611 +msgid "You should change the name of your printer device." +msgstr "Слід змінити ім'я пристрою." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:555 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:619 msgid "Printer with name \"%1%\" already exists." msgstr "Принтер з ім'ям \"%1%\" вже існує." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:556 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:620 msgid "Replace?" msgstr "Замінити?" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:579 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:643 msgid "" "Following printer preset(s) is duplicated:%1%The above preset for printer " "\"%2%\" will be used just once." @@ -5440,76 +5488,76 @@ msgstr "" "Наступні пресети принтера повторюються:%1%Вищезазначений пресет принтера " "\"%2%\" буде використано лише один раз." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:625 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:690 msgid "It's not possible to delete the last related preset for the printer." msgstr "Неможливо видалити останній пресет для принтера." -#: src/slic3r/GUI/Plater.cpp:163 +#: src/slic3r/GUI/Plater.cpp:164 msgid "Volume" msgstr "Обсяг" -#: src/slic3r/GUI/Plater.cpp:164 +#: src/slic3r/GUI/Plater.cpp:165 msgid "Facets" msgstr "Грані" -#: src/slic3r/GUI/Plater.cpp:165 +#: src/slic3r/GUI/Plater.cpp:166 msgid "Materials" msgstr "Матеріали" -#: src/slic3r/GUI/Plater.cpp:168 +#: src/slic3r/GUI/Plater.cpp:169 msgid "Manifold" msgstr "Різноманіття" -#: src/slic3r/GUI/Plater.cpp:218 +#: src/slic3r/GUI/Plater.cpp:219 msgid "Sliced Info" msgstr "Інформація з нарізання" -#: src/slic3r/GUI/Plater.cpp:237 src/slic3r/GUI/Plater.cpp:1151 +#: src/slic3r/GUI/Plater.cpp:238 src/slic3r/GUI/Plater.cpp:1152 msgid "Used Filament (m)" msgstr "Використано філаметну (м)" -#: src/slic3r/GUI/Plater.cpp:238 src/slic3r/GUI/Plater.cpp:1163 +#: src/slic3r/GUI/Plater.cpp:239 src/slic3r/GUI/Plater.cpp:1164 msgid "Used Filament (mm³)" msgstr "Використано філаметну (мм³)" -#: src/slic3r/GUI/Plater.cpp:239 src/slic3r/GUI/Plater.cpp:1170 +#: src/slic3r/GUI/Plater.cpp:240 src/slic3r/GUI/Plater.cpp:1171 msgid "Used Filament (g)" msgstr "Використано філаметну (г)" -#: src/slic3r/GUI/Plater.cpp:240 +#: src/slic3r/GUI/Plater.cpp:241 msgid "Used Material (unit)" msgstr "Використано матеріалу (одиниць)" -#: src/slic3r/GUI/Plater.cpp:241 +#: src/slic3r/GUI/Plater.cpp:242 msgid "Cost (money)" msgstr "Вартість (г.о.)" -#: src/slic3r/GUI/Plater.cpp:243 +#: src/slic3r/GUI/Plater.cpp:244 msgid "Number of tool changes" msgstr "Кількість змін інструменту" -#: src/slic3r/GUI/Plater.cpp:360 +#: src/slic3r/GUI/Plater.cpp:361 msgid "Select what kind of support do you need" msgstr "Виберіть необхідну вам підтримку" -#: src/slic3r/GUI/Plater.cpp:362 src/libslic3r/PrintConfig.cpp:2128 -#: src/libslic3r/PrintConfig.cpp:2923 +#: src/slic3r/GUI/Plater.cpp:363 src/libslic3r/PrintConfig.cpp:2130 +#: src/libslic3r/PrintConfig.cpp:2925 msgid "Support on build plate only" msgstr "Підтримки тільки на столі" -#: src/slic3r/GUI/Plater.cpp:363 src/slic3r/GUI/Plater.cpp:489 +#: src/slic3r/GUI/Plater.cpp:364 src/slic3r/GUI/Plater.cpp:490 msgid "For support enforcers only" msgstr "Тільки примусові підтримки" -#: src/slic3r/GUI/Plater.cpp:364 +#: src/slic3r/GUI/Plater.cpp:365 msgid "Everywhere" msgstr "Всюди" -#: src/slic3r/GUI/Plater.cpp:396 src/slic3r/GUI/Tab.cpp:1469 +#: src/slic3r/GUI/Plater.cpp:397 src/slic3r/GUI/Tab.cpp:1476 msgid "Brim" msgstr "Край" -#: src/slic3r/GUI/Plater.cpp:398 +#: src/slic3r/GUI/Plater.cpp:399 msgid "" "This flag enables the brim that will be printed around each object on the " "first layer." @@ -5517,50 +5565,46 @@ msgstr "" "Цей прапорець дозволяє позначити край, який буде надруковано навколо кожного " "об'єкта на першому шарі." -#: src/slic3r/GUI/Plater.cpp:406 +#: src/slic3r/GUI/Plater.cpp:407 msgid "Purging volumes" msgstr "Обсяги очищення" -#: src/slic3r/GUI/Plater.cpp:503 +#: src/slic3r/GUI/Plater.cpp:504 msgid "Select what kind of pad do you need" msgstr "Виберіть необхідну вам подушку" -#: src/slic3r/GUI/Plater.cpp:505 +#: src/slic3r/GUI/Plater.cpp:506 msgid "Below object" msgstr "Під об’єктем" -#: src/slic3r/GUI/Plater.cpp:506 +#: src/slic3r/GUI/Plater.cpp:507 msgid "Around object" msgstr "Навколо об'єкта" -#: src/slic3r/GUI/Plater.cpp:695 -msgid "SLA print settings" -msgstr "Параметри SLA-друку" - -#: src/slic3r/GUI/Plater.cpp:756 src/slic3r/GUI/Plater.cpp:6055 +#: src/slic3r/GUI/Plater.cpp:757 src/slic3r/GUI/Plater.cpp:6075 msgid "Send to printer" msgstr "Надіслати на принтер" -#: src/slic3r/GUI/Plater.cpp:771 src/slic3r/GUI/Plater.cpp:3009 -#: src/slic3r/GUI/Plater.cpp:5584 +#: src/slic3r/GUI/Plater.cpp:772 src/slic3r/GUI/Plater.cpp:3017 +#: src/slic3r/GUI/Plater.cpp:5605 msgid "Slice now" msgstr "Нарізати зараз" -#: src/slic3r/GUI/Plater.cpp:926 +#: src/slic3r/GUI/Plater.cpp:927 msgid "Hold Shift to Slice & Export G-code" msgstr "Утримуйте Shift, щоб нарізати та експортувати G-код" -#: src/slic3r/GUI/Plater.cpp:1071 +#: src/slic3r/GUI/Plater.cpp:1072 #, c-format msgid "%d (%d shells)" msgstr "%d (%d оболонок)" -#: src/slic3r/GUI/Plater.cpp:1076 +#: src/slic3r/GUI/Plater.cpp:1077 #, c-format msgid "Auto-repaired (%d errors)" msgstr "Авто-відновлення (%d помилок)" -#: src/slic3r/GUI/Plater.cpp:1079 +#: src/slic3r/GUI/Plater.cpp:1080 #, c-format msgid "" "%d degenerate facets, %d edges fixed, %d facets removed, %d facets added, %d " @@ -5569,122 +5613,122 @@ msgstr "" "вироджено %d грані, виправлено %d країв, вилучено %d грані, додано %d грані, " "змінено %d грані, повернуто %d країв" -#: src/slic3r/GUI/Plater.cpp:1089 +#: src/slic3r/GUI/Plater.cpp:1090 msgid "Yes" msgstr "Так" -#: src/slic3r/GUI/Plater.cpp:1110 +#: src/slic3r/GUI/Plater.cpp:1111 msgid "Used Material (ml)" msgstr "Використано матеріалу (мл)" -#: src/slic3r/GUI/Plater.cpp:1113 +#: src/slic3r/GUI/Plater.cpp:1114 msgid "object(s)" msgstr "об'єкт(и)" -#: src/slic3r/GUI/Plater.cpp:1113 +#: src/slic3r/GUI/Plater.cpp:1114 msgid "supports and pad" msgstr "підтримки та подушка" -#: src/slic3r/GUI/Plater.cpp:1151 +#: src/slic3r/GUI/Plater.cpp:1152 msgid "Used Filament (in)" msgstr "Використано філаметну (дюйми)" -#: src/slic3r/GUI/Plater.cpp:1153 src/slic3r/GUI/Plater.cpp:1206 +#: src/slic3r/GUI/Plater.cpp:1154 src/slic3r/GUI/Plater.cpp:1207 msgid "objects" msgstr "об'єкти" -#: src/slic3r/GUI/Plater.cpp:1153 src/slic3r/GUI/Plater.cpp:1206 +#: src/slic3r/GUI/Plater.cpp:1154 src/slic3r/GUI/Plater.cpp:1207 msgid "wipe tower" msgstr "вежа витирання" -#: src/slic3r/GUI/Plater.cpp:1163 +#: src/slic3r/GUI/Plater.cpp:1164 msgid "Used Filament (in³)" msgstr "Використано філаметну (дюйми³)" -#: src/slic3r/GUI/Plater.cpp:1189 +#: src/slic3r/GUI/Plater.cpp:1190 msgid "Filament at extruder %1%" msgstr "Філамент екструдеру %1%" -#: src/slic3r/GUI/Plater.cpp:1195 +#: src/slic3r/GUI/Plater.cpp:1196 msgid "(including spool)" msgstr "(включаючи котушку)" -#: src/slic3r/GUI/Plater.cpp:1204 src/libslic3r/PrintConfig.cpp:822 -#: src/libslic3r/PrintConfig.cpp:2738 src/libslic3r/PrintConfig.cpp:2739 +#: src/slic3r/GUI/Plater.cpp:1205 src/libslic3r/PrintConfig.cpp:822 +#: src/libslic3r/PrintConfig.cpp:2740 src/libslic3r/PrintConfig.cpp:2741 msgid "Cost" msgstr "Вартість" -#: src/slic3r/GUI/Plater.cpp:1222 +#: src/slic3r/GUI/Plater.cpp:1223 msgid "normal mode" msgstr "нормальний режим" -#: src/slic3r/GUI/Plater.cpp:1232 +#: src/slic3r/GUI/Plater.cpp:1233 msgid "stealth mode" msgstr "тихий режим" -#: src/slic3r/GUI/Plater.cpp:1403 src/slic3r/GUI/Plater.cpp:4923 +#: src/slic3r/GUI/Plater.cpp:1404 src/slic3r/GUI/Plater.cpp:4940 #, c-format msgid "%s - Drop project file" msgstr "%s - Перетягнути файл проекту" -#: src/slic3r/GUI/Plater.cpp:1410 src/slic3r/GUI/Plater.cpp:4930 +#: src/slic3r/GUI/Plater.cpp:1411 src/slic3r/GUI/Plater.cpp:4947 msgid "Open as project" msgstr "Відкрити як проект" -#: src/slic3r/GUI/Plater.cpp:1411 src/slic3r/GUI/Plater.cpp:4931 +#: src/slic3r/GUI/Plater.cpp:1412 src/slic3r/GUI/Plater.cpp:4948 msgid "Import geometry only" msgstr "Імпорт тільки геометрії" -#: src/slic3r/GUI/Plater.cpp:1412 src/slic3r/GUI/Plater.cpp:4932 +#: src/slic3r/GUI/Plater.cpp:1413 src/slic3r/GUI/Plater.cpp:4949 msgid "Import config only" msgstr "Імпорт тільки конфігурації" -#: src/slic3r/GUI/Plater.cpp:1415 src/slic3r/GUI/Plater.cpp:4935 +#: src/slic3r/GUI/Plater.cpp:1416 src/slic3r/GUI/Plater.cpp:4952 msgid "Select an action to apply to the file" msgstr "Виберіть дію, яку потрібно застосувати до файлу" -#: src/slic3r/GUI/Plater.cpp:1416 src/slic3r/GUI/Plater.cpp:4936 +#: src/slic3r/GUI/Plater.cpp:1417 src/slic3r/GUI/Plater.cpp:4953 msgid "Action" msgstr "Дія" -#: src/slic3r/GUI/Plater.cpp:1424 src/slic3r/GUI/Plater.cpp:4944 +#: src/slic3r/GUI/Plater.cpp:1425 src/slic3r/GUI/Plater.cpp:4961 msgid "Don't show again" msgstr "Не показувати знову" -#: src/slic3r/GUI/Plater.cpp:1469 src/slic3r/GUI/Plater.cpp:4981 +#: src/slic3r/GUI/Plater.cpp:1470 src/slic3r/GUI/Plater.cpp:4998 msgid "You can open only one .gcode file at a time." msgstr "Одночасно можна відкрити лише один файл .gcode." -#: src/slic3r/GUI/Plater.cpp:1470 src/slic3r/GUI/Plater.cpp:4982 +#: src/slic3r/GUI/Plater.cpp:1471 src/slic3r/GUI/Plater.cpp:4999 msgid "Drag and drop G-code file" msgstr "Перетягування файлу G-коду" -#: src/slic3r/GUI/Plater.cpp:1524 src/slic3r/GUI/Plater.cpp:4796 -#: src/slic3r/GUI/Plater.cpp:5036 +#: src/slic3r/GUI/Plater.cpp:1525 src/slic3r/GUI/Plater.cpp:4815 +#: src/slic3r/GUI/Plater.cpp:5053 msgid "Import Object" msgstr "Імпорт об'єкту" -#: src/slic3r/GUI/Plater.cpp:1546 src/slic3r/GUI/Plater.cpp:5058 +#: src/slic3r/GUI/Plater.cpp:1547 src/slic3r/GUI/Plater.cpp:5079 msgid "Load File" msgstr "Завантажити файл" -#: src/slic3r/GUI/Plater.cpp:1551 src/slic3r/GUI/Plater.cpp:5063 +#: src/slic3r/GUI/Plater.cpp:1552 src/slic3r/GUI/Plater.cpp:5084 msgid "Load Files" msgstr "Завантажити файли" -#: src/slic3r/GUI/Plater.cpp:1654 +#: src/slic3r/GUI/Plater.cpp:1655 msgid "Fill bed" msgstr "Заповнити стіл" -#: src/slic3r/GUI/Plater.cpp:1660 +#: src/slic3r/GUI/Plater.cpp:1661 msgid "Optimize Rotation" msgstr "Оптимізувати обертання" -#: src/slic3r/GUI/Plater.cpp:1666 +#: src/slic3r/GUI/Plater.cpp:1667 msgid "Import SLA archive" msgstr "Імпорт SLА-архіву" -#: src/slic3r/GUI/Plater.cpp:2129 +#: src/slic3r/GUI/Plater.cpp:2130 #, c-format msgid "" "Successfully unmounted. The device %s(%s) can now be safely removed from the " @@ -5693,28 +5737,32 @@ msgstr "" "Успішно від'єднано. Пристрій %s(%s) тепер можна безпечно вилучити з " "комп’ютера." -#: src/slic3r/GUI/Plater.cpp:2134 +#: src/slic3r/GUI/Plater.cpp:2135 #, c-format msgid "Ejecting of device %s(%s) has failed." msgstr "Не вдалося від'єднати пристрій %s (%s)." -#: src/slic3r/GUI/Plater.cpp:2153 +#: src/slic3r/GUI/Plater.cpp:2154 msgid "New Project" msgstr "Новий проект" -#: src/slic3r/GUI/Plater.cpp:2246 +#: src/slic3r/GUI/Plater.cpp:2247 msgid "Expand sidebar" msgstr "Розгорнути бічну панель" -#: src/slic3r/GUI/Plater.cpp:2319 +#: src/slic3r/GUI/Plater.cpp:2320 msgid "Loading" msgstr "Завантаження" -#: src/slic3r/GUI/Plater.cpp:2329 +#: src/slic3r/GUI/Plater.cpp:2330 msgid "Loading file" msgstr "Завантаження файлу" -#: src/slic3r/GUI/Plater.cpp:2415 +#: src/slic3r/GUI/Plater.cpp:2399 +msgid "Failed loading file \"%1%\" due to an invalid configuration." +msgstr "Не вдалося завантажити файл \"%1%\" через неприпустиму конфігурацію." + +#: src/slic3r/GUI/Plater.cpp:2423 #, c-format msgid "" "Some object(s) in file %s looks like saved in inches.\n" @@ -5723,11 +5771,11 @@ msgstr "" "Схоже на те, що деякі об’єкти у файлі %s збережені в дюймах.\n" "Чи слід розглядати їх як збережені в дюймах і конвертувати?" -#: src/slic3r/GUI/Plater.cpp:2417 +#: src/slic3r/GUI/Plater.cpp:2425 msgid "The object appears to be saved in inches" msgstr "Здається, об’єкт був збережений у дюймах" -#: src/slic3r/GUI/Plater.cpp:2425 +#: src/slic3r/GUI/Plater.cpp:2433 msgid "" "This file contains several objects positioned at multiple heights.\n" "Instead of considering them as multiple objects, should I consider\n" @@ -5737,11 +5785,11 @@ msgstr "" "Замість того, щоб розглядати їх як кілька об'єктів, чи потрібно розглянути\n" "цей файл як єдиний об'єкт, що має декілька частин?" -#: src/slic3r/GUI/Plater.cpp:2428 src/slic3r/GUI/Plater.cpp:2481 +#: src/slic3r/GUI/Plater.cpp:2436 src/slic3r/GUI/Plater.cpp:2489 msgid "Multi-part object detected" msgstr "Виявлено об'єкт, що складається з кількох частин" -#: src/slic3r/GUI/Plater.cpp:2435 +#: src/slic3r/GUI/Plater.cpp:2443 msgid "" "This file cannot be loaded in a simple mode. Do you want to switch to an " "advanced mode?" @@ -5749,11 +5797,11 @@ msgstr "" "Цей файл не можна завантажити у простому режимі. Ви хочете перейти в " "розширений режим?" -#: src/slic3r/GUI/Plater.cpp:2436 +#: src/slic3r/GUI/Plater.cpp:2444 msgid "Detected advanced data" msgstr "Виявлено розширені дані" -#: src/slic3r/GUI/Plater.cpp:2458 +#: src/slic3r/GUI/Plater.cpp:2466 #, c-format msgid "" "You can't to add the object(s) from %s because of one or some of them " @@ -5762,7 +5810,7 @@ msgstr "" "Ви не можете додати об’єкт(и) із %s через те, що один або деякі з них " "складається з декількох частин" -#: src/slic3r/GUI/Plater.cpp:2478 +#: src/slic3r/GUI/Plater.cpp:2486 msgid "" "Multiple objects were loaded for a multi-material printer.\n" "Instead of considering them as multiple objects, should I consider\n" @@ -5772,11 +5820,11 @@ msgstr "" "Замість того, щоб розглядати їх як кілька об'єктів, чи потрібно розглянути\n" "ці файл як єдиний об'єкт, що має декілька частин?" -#: src/slic3r/GUI/Plater.cpp:2494 +#: src/slic3r/GUI/Plater.cpp:2502 msgid "Loaded" msgstr "Завантажено" -#: src/slic3r/GUI/Plater.cpp:2596 +#: src/slic3r/GUI/Plater.cpp:2604 msgid "" "Your object appears to be too large, so it was automatically scaled down to " "fit your print bed." @@ -5784,35 +5832,35 @@ msgstr "" "Ваш об'єкт видався занадто великим, тому він автоматично зменшився " "відповідно до вашої полотна друку." -#: src/slic3r/GUI/Plater.cpp:2597 +#: src/slic3r/GUI/Plater.cpp:2605 msgid "Object too large?" msgstr "Об'єкт занадто великий?" -#: src/slic3r/GUI/Plater.cpp:2659 +#: src/slic3r/GUI/Plater.cpp:2667 msgid "Export STL file:" msgstr "Експорт STL-файлу:" -#: src/slic3r/GUI/Plater.cpp:2666 +#: src/slic3r/GUI/Plater.cpp:2674 msgid "Export AMF file:" msgstr "Експортувати AMF-файл:" -#: src/slic3r/GUI/Plater.cpp:2672 +#: src/slic3r/GUI/Plater.cpp:2680 msgid "Save file as:" msgstr "Зберегти файл як:" -#: src/slic3r/GUI/Plater.cpp:2678 +#: src/slic3r/GUI/Plater.cpp:2686 msgid "Export OBJ file:" msgstr "Експорт OBJ-файлу:" -#: src/slic3r/GUI/Plater.cpp:2774 +#: src/slic3r/GUI/Plater.cpp:2782 msgid "Delete Object" msgstr "Видалити об'єкт" -#: src/slic3r/GUI/Plater.cpp:2785 +#: src/slic3r/GUI/Plater.cpp:2793 msgid "Reset Project" msgstr "Скинути проект" -#: src/slic3r/GUI/Plater.cpp:2857 +#: src/slic3r/GUI/Plater.cpp:2865 msgid "" "The selected object can't be split because it contains more than one volume/" "material." @@ -5820,55 +5868,55 @@ msgstr "" "Вибраний об'єкт не можна розділити, оскільки містить більше одного об'єму/" "матеріалу." -#: src/slic3r/GUI/Plater.cpp:2868 +#: src/slic3r/GUI/Plater.cpp:2876 msgid "Split to Objects" msgstr "Розділити на об'єкти" -#: src/slic3r/GUI/Plater.cpp:2993 src/slic3r/GUI/Plater.cpp:3723 +#: src/slic3r/GUI/Plater.cpp:3001 src/slic3r/GUI/Plater.cpp:3738 msgid "Invalid data" msgstr "Некоректні дані" -#: src/slic3r/GUI/Plater.cpp:3003 +#: src/slic3r/GUI/Plater.cpp:3011 msgid "Ready to slice" msgstr "Готово до нарізки" -#: src/slic3r/GUI/Plater.cpp:3041 src/slic3r/GUI/PrintHostDialogs.cpp:264 +#: src/slic3r/GUI/Plater.cpp:3049 src/slic3r/GUI/PrintHostDialogs.cpp:275 msgid "Cancelling" msgstr "Скасування" -#: src/slic3r/GUI/Plater.cpp:3060 +#: src/slic3r/GUI/Plater.cpp:3068 msgid "Another export job is currently running." msgstr "На даний час виконується інший експорт." -#: src/slic3r/GUI/Plater.cpp:3177 +#: src/slic3r/GUI/Plater.cpp:3185 msgid "Please select the file to reload" msgstr "Будь ласка, виберіть файл для перезавантаження" -#: src/slic3r/GUI/Plater.cpp:3212 +#: src/slic3r/GUI/Plater.cpp:3220 msgid "It is not allowed to change the file to reload" msgstr "Не дозволяється змінювати файл для перезавантаження" -#: src/slic3r/GUI/Plater.cpp:3212 +#: src/slic3r/GUI/Plater.cpp:3220 msgid "Do you want to retry" msgstr "Повторити спробу" -#: src/slic3r/GUI/Plater.cpp:3230 +#: src/slic3r/GUI/Plater.cpp:3238 msgid "Reload from:" msgstr "Перезавантажити з:" -#: src/slic3r/GUI/Plater.cpp:3323 +#: src/slic3r/GUI/Plater.cpp:3331 msgid "Unable to reload:" msgstr "Не вдається перезавантажити:" -#: src/slic3r/GUI/Plater.cpp:3328 +#: src/slic3r/GUI/Plater.cpp:3336 msgid "Error during reload" msgstr "Помилка під час перезавантаження" -#: src/slic3r/GUI/Plater.cpp:3347 +#: src/slic3r/GUI/Plater.cpp:3355 msgid "Reload all from disk" msgstr "Перезавантажити все з диска" -#: src/slic3r/GUI/Plater.cpp:3374 +#: src/slic3r/GUI/Plater.cpp:3382 msgid "" "ERROR: Please close all manipulators available from the left toolbar before " "fixing the mesh." @@ -5876,132 +5924,132 @@ msgstr "" "ПОМИЛКА: Будь ласка, закрийте всі маніпулятори, доступні на лівій панелі " "інструментів, перш ніж фіксувати сітку." -#: src/slic3r/GUI/Plater.cpp:3380 +#: src/slic3r/GUI/Plater.cpp:3388 msgid "Fix through NetFabb" msgstr "Виправити за допомогою NetFabb" -#: src/slic3r/GUI/Plater.cpp:3397 +#: src/slic3r/GUI/Plater.cpp:3405 msgid "Custom supports and seams were removed after repairing the mesh." msgstr "Користувацькі підтримки та шви були видалені після ремонту сітки." -#: src/slic3r/GUI/Plater.cpp:3680 +#: src/slic3r/GUI/Plater.cpp:3696 msgid "There are active warnings concerning sliced models:" msgstr "Існують активні попередження щодо нарізаних моделей:" -#: src/slic3r/GUI/Plater.cpp:3691 +#: src/slic3r/GUI/Plater.cpp:3706 msgid "generated warnings" msgstr "згенеровані попередження" -#: src/slic3r/GUI/Plater.cpp:3731 src/slic3r/GUI/PrintHostDialogs.cpp:265 +#: src/slic3r/GUI/Plater.cpp:3746 src/slic3r/GUI/PrintHostDialogs.cpp:276 msgid "Cancelled" msgstr "Скасовано" -#: src/slic3r/GUI/Plater.cpp:3998 src/slic3r/GUI/Plater.cpp:4022 +#: src/slic3r/GUI/Plater.cpp:4015 src/slic3r/GUI/Plater.cpp:4039 msgid "Remove the selected object" msgstr "Видалити вибраний об'єкт" -#: src/slic3r/GUI/Plater.cpp:4007 +#: src/slic3r/GUI/Plater.cpp:4024 msgid "Add one more instance of the selected object" msgstr "Додати ще один екземпляр вибраного об’єкта" -#: src/slic3r/GUI/Plater.cpp:4009 +#: src/slic3r/GUI/Plater.cpp:4026 msgid "Remove one instance of the selected object" msgstr "Видалити один екземпляр вибраного об’єкта" -#: src/slic3r/GUI/Plater.cpp:4011 +#: src/slic3r/GUI/Plater.cpp:4028 msgid "Set number of instances" msgstr "Встановити кількість екземплярів" -#: src/slic3r/GUI/Plater.cpp:4011 +#: src/slic3r/GUI/Plater.cpp:4028 msgid "Change the number of instances of the selected object" msgstr "Змінити кількість екземплярів виділеного об'єкта" -#: src/slic3r/GUI/Plater.cpp:4013 +#: src/slic3r/GUI/Plater.cpp:4030 msgid "Fill bed with instances" msgstr "Заповнити стіл екземплярами" -#: src/slic3r/GUI/Plater.cpp:4013 +#: src/slic3r/GUI/Plater.cpp:4030 msgid "Fill the remaining area of bed with instances of the selected object" msgstr "Заповнити залишок столу екземплярами обраного об'єкта" -#: src/slic3r/GUI/Plater.cpp:4032 +#: src/slic3r/GUI/Plater.cpp:4049 msgid "Reload the selected object from disk" msgstr "Перезавантажити вибраний об'єкт із диска" -#: src/slic3r/GUI/Plater.cpp:4035 +#: src/slic3r/GUI/Plater.cpp:4052 msgid "Export the selected object as STL file" msgstr "Експорт вибраного об'єкту як STL-файл" -#: src/slic3r/GUI/Plater.cpp:4065 +#: src/slic3r/GUI/Plater.cpp:4082 msgid "Along X axis" msgstr "Уздовж осі X" -#: src/slic3r/GUI/Plater.cpp:4065 +#: src/slic3r/GUI/Plater.cpp:4082 msgid "Mirror the selected object along the X axis" msgstr "Віддзеркалити виділений об'єкт уздовж осі Х" -#: src/slic3r/GUI/Plater.cpp:4067 +#: src/slic3r/GUI/Plater.cpp:4084 msgid "Along Y axis" msgstr "Уздовж осі Y" -#: src/slic3r/GUI/Plater.cpp:4067 +#: src/slic3r/GUI/Plater.cpp:4084 msgid "Mirror the selected object along the Y axis" msgstr "Віддзеркалити виділений об'єкт уздовж осі Y" -#: src/slic3r/GUI/Plater.cpp:4069 +#: src/slic3r/GUI/Plater.cpp:4086 msgid "Along Z axis" msgstr "Уздовж осі Z" -#: src/slic3r/GUI/Plater.cpp:4069 +#: src/slic3r/GUI/Plater.cpp:4086 msgid "Mirror the selected object along the Z axis" msgstr "Віддзеркалити виділений об'єкт уздовж осі Z" -#: src/slic3r/GUI/Plater.cpp:4072 +#: src/slic3r/GUI/Plater.cpp:4089 msgid "Mirror" msgstr "Віддзеркалити" -#: src/slic3r/GUI/Plater.cpp:4072 +#: src/slic3r/GUI/Plater.cpp:4089 msgid "Mirror the selected object" msgstr "Віддзеркалити виділений об'єкт" -#: src/slic3r/GUI/Plater.cpp:4084 +#: src/slic3r/GUI/Plater.cpp:4101 msgid "To objects" msgstr "На об'єкти" -#: src/slic3r/GUI/Plater.cpp:4084 src/slic3r/GUI/Plater.cpp:4104 +#: src/slic3r/GUI/Plater.cpp:4101 src/slic3r/GUI/Plater.cpp:4121 msgid "Split the selected object into individual objects" msgstr "Розділити вибраний об'єкт на окремі об'єкти" -#: src/slic3r/GUI/Plater.cpp:4086 +#: src/slic3r/GUI/Plater.cpp:4103 msgid "To parts" msgstr "На частини" -#: src/slic3r/GUI/Plater.cpp:4086 src/slic3r/GUI/Plater.cpp:4122 +#: src/slic3r/GUI/Plater.cpp:4103 src/slic3r/GUI/Plater.cpp:4139 msgid "Split the selected object into individual sub-parts" msgstr "Розділити вибраний об'єкт на окремі частини" -#: src/slic3r/GUI/Plater.cpp:4089 src/slic3r/GUI/Plater.cpp:4104 -#: src/slic3r/GUI/Plater.cpp:4122 src/libslic3r/PrintConfig.cpp:3759 +#: src/slic3r/GUI/Plater.cpp:4106 src/slic3r/GUI/Plater.cpp:4121 +#: src/slic3r/GUI/Plater.cpp:4139 src/libslic3r/PrintConfig.cpp:3763 msgid "Split" msgstr "Розділити" -#: src/slic3r/GUI/Plater.cpp:4089 +#: src/slic3r/GUI/Plater.cpp:4106 msgid "Split the selected object" msgstr "Розділити вибраний об'єкт" -#: src/slic3r/GUI/Plater.cpp:4111 +#: src/slic3r/GUI/Plater.cpp:4128 msgid "Optimize orientation" msgstr "Оптимізувати орієнтацію" -#: src/slic3r/GUI/Plater.cpp:4112 +#: src/slic3r/GUI/Plater.cpp:4129 msgid "Optimize the rotation of the object for better print results." msgstr "Оптимізуйте обертання об’єкта для кращих результатів друку." -#: src/slic3r/GUI/Plater.cpp:4192 +#: src/slic3r/GUI/Plater.cpp:4209 msgid "3D editor view" msgstr "Перегляд у 3D-редакторі" -#: src/slic3r/GUI/Plater.cpp:4564 +#: src/slic3r/GUI/Plater.cpp:4581 msgid "" "%1% printer was active at the time the target Undo / Redo snapshot was " "taken. Switching to %1% printer requires reloading of %1% presets." @@ -6009,102 +6057,102 @@ msgstr "" "На момент створення Undo/Redo знімка був активний принтер %1%. Для " "переключення на принтер %1% потрібно перезавантажити пресет %1%." -#: src/slic3r/GUI/Plater.cpp:4768 +#: src/slic3r/GUI/Plater.cpp:4787 msgid "Load Project" msgstr "Завантажити проект" -#: src/slic3r/GUI/Plater.cpp:4800 +#: src/slic3r/GUI/Plater.cpp:4819 msgid "Import Objects" msgstr "Імпорт об'єктів" -#: src/slic3r/GUI/Plater.cpp:4868 +#: src/slic3r/GUI/Plater.cpp:4885 msgid "The selected file" msgstr "Вибраний файл" -#: src/slic3r/GUI/Plater.cpp:4868 +#: src/slic3r/GUI/Plater.cpp:4885 msgid "does not contain valid gcode." msgstr "не містить дійсного G-коду." -#: src/slic3r/GUI/Plater.cpp:4869 +#: src/slic3r/GUI/Plater.cpp:4886 msgid "Error while loading .gcode file" msgstr "Помилка під час завантаження GCODE-файлу" -#: src/slic3r/GUI/Plater.cpp:5107 +#: src/slic3r/GUI/Plater.cpp:5128 msgid "All objects will be removed, continue?" msgstr "Усі об’єкти буде видалено, продовжити?" -#: src/slic3r/GUI/Plater.cpp:5115 +#: src/slic3r/GUI/Plater.cpp:5136 msgid "Delete Selected Objects" msgstr "Видалити вибрані об'єкти" -#: src/slic3r/GUI/Plater.cpp:5123 +#: src/slic3r/GUI/Plater.cpp:5144 msgid "Increase Instances" msgstr "Збільшити кількість копій" -#: src/slic3r/GUI/Plater.cpp:5157 +#: src/slic3r/GUI/Plater.cpp:5178 msgid "Decrease Instances" msgstr "Зменшити кількість копій" -#: src/slic3r/GUI/Plater.cpp:5188 +#: src/slic3r/GUI/Plater.cpp:5209 msgid "Enter the number of copies:" msgstr "Введіть кількість копій об'єкта:" -#: src/slic3r/GUI/Plater.cpp:5189 +#: src/slic3r/GUI/Plater.cpp:5210 msgid "Copies of the selected object" msgstr "Кількість копій обраного об'єкта" -#: src/slic3r/GUI/Plater.cpp:5193 +#: src/slic3r/GUI/Plater.cpp:5214 #, c-format msgid "Set numbers of copies to %d" msgstr "Встановити кількість копій на %d" -#: src/slic3r/GUI/Plater.cpp:5259 +#: src/slic3r/GUI/Plater.cpp:5280 msgid "Cut by Plane" msgstr "Вирізати площиною" -#: src/slic3r/GUI/Plater.cpp:5316 +#: src/slic3r/GUI/Plater.cpp:5337 msgid "Save G-code file as:" msgstr "Зберегти G-код файл як:" -#: src/slic3r/GUI/Plater.cpp:5316 -msgid "Save SL1 file as:" -msgstr "Зберегти SL1-файл як:" +#: src/slic3r/GUI/Plater.cpp:5337 +msgid "Save SL1 / SL1S file as:" +msgstr "Зберегти SL1 / SL1S файл як:" -#: src/slic3r/GUI/Plater.cpp:5463 +#: src/slic3r/GUI/Plater.cpp:5484 #, c-format msgid "STL file exported to %s" msgstr "STL-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:5480 +#: src/slic3r/GUI/Plater.cpp:5501 #, c-format msgid "AMF file exported to %s" msgstr "AMF-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:5483 +#: src/slic3r/GUI/Plater.cpp:5504 #, c-format msgid "Error exporting AMF file %s" msgstr "Помилка експортування AMF-файлу %s" -#: src/slic3r/GUI/Plater.cpp:5512 +#: src/slic3r/GUI/Plater.cpp:5533 #, c-format msgid "3MF file exported to %s" msgstr "3MF-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:5517 +#: src/slic3r/GUI/Plater.cpp:5538 #, c-format msgid "Error exporting 3MF file %s" msgstr "Помилка експортування 3MF-файлу %s" -#: src/slic3r/GUI/Plater.cpp:6054 +#: src/slic3r/GUI/Plater.cpp:6074 msgid "Export" msgstr "Експорт" -#: src/slic3r/GUI/Plater.cpp:6149 +#: src/slic3r/GUI/Plater.cpp:6169 msgid "Paste From Clipboard" msgstr "Вставити з буферу обміну" -#: src/slic3r/GUI/Preferences.cpp:56 src/slic3r/GUI/Tab.cpp:2098 -#: src/slic3r/GUI/Tab.cpp:2285 src/slic3r/GUI/Tab.cpp:2393 +#: src/slic3r/GUI/Preferences.cpp:56 src/slic3r/GUI/Tab.cpp:2105 +#: src/slic3r/GUI/Tab.cpp:2292 src/slic3r/GUI/Tab.cpp:2400 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 msgid "General" msgstr "Загальне" @@ -6442,74 +6490,74 @@ msgstr "Налаштування у немодальному вікні" msgid "Layout Options" msgstr "Параметри розташування" -#: src/slic3r/GUI/PresetComboBoxes.cpp:197 -#: src/slic3r/GUI/PresetComboBoxes.cpp:235 -#: src/slic3r/GUI/PresetComboBoxes.cpp:761 -#: src/slic3r/GUI/PresetComboBoxes.cpp:811 -#: src/slic3r/GUI/PresetComboBoxes.cpp:925 -#: src/slic3r/GUI/PresetComboBoxes.cpp:969 +#: src/slic3r/GUI/PresetComboBoxes.cpp:224 +#: src/slic3r/GUI/PresetComboBoxes.cpp:262 +#: src/slic3r/GUI/PresetComboBoxes.cpp:788 +#: src/slic3r/GUI/PresetComboBoxes.cpp:838 +#: src/slic3r/GUI/PresetComboBoxes.cpp:959 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1003 msgid "System presets" msgstr "Системні налаштування" -#: src/slic3r/GUI/PresetComboBoxes.cpp:239 -#: src/slic3r/GUI/PresetComboBoxes.cpp:815 -#: src/slic3r/GUI/PresetComboBoxes.cpp:973 +#: src/slic3r/GUI/PresetComboBoxes.cpp:266 +#: src/slic3r/GUI/PresetComboBoxes.cpp:842 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1007 msgid "User presets" msgstr "Налаштування користувача" -#: src/slic3r/GUI/PresetComboBoxes.cpp:250 +#: src/slic3r/GUI/PresetComboBoxes.cpp:277 msgid "Incompatible presets" msgstr "Несумісні пресети" -#: src/slic3r/GUI/PresetComboBoxes.cpp:285 +#: src/slic3r/GUI/PresetComboBoxes.cpp:312 msgid "Are you sure you want to delete \"%1%\" printer?" msgstr "Ви впевнені, що хочете видалити принтер \"%1%\"?" -#: src/slic3r/GUI/PresetComboBoxes.cpp:287 +#: src/slic3r/GUI/PresetComboBoxes.cpp:314 msgid "Delete Physical Printer" msgstr "Видалити фізичний принтер" -#: src/slic3r/GUI/PresetComboBoxes.cpp:624 +#: src/slic3r/GUI/PresetComboBoxes.cpp:651 msgid "Click to edit preset" msgstr "Клацніть, щоб змінити пресет" -#: src/slic3r/GUI/PresetComboBoxes.cpp:680 -#: src/slic3r/GUI/PresetComboBoxes.cpp:710 +#: src/slic3r/GUI/PresetComboBoxes.cpp:707 +#: src/slic3r/GUI/PresetComboBoxes.cpp:737 msgid "Add/Remove presets" msgstr "Додати/Видалити пресети" -#: src/slic3r/GUI/PresetComboBoxes.cpp:685 -#: src/slic3r/GUI/PresetComboBoxes.cpp:715 src/slic3r/GUI/Tab.cpp:2990 +#: src/slic3r/GUI/PresetComboBoxes.cpp:712 +#: src/slic3r/GUI/PresetComboBoxes.cpp:742 src/slic3r/GUI/Tab.cpp:2997 msgid "Add physical printer" msgstr "Додати фізичний принтер" -#: src/slic3r/GUI/PresetComboBoxes.cpp:699 +#: src/slic3r/GUI/PresetComboBoxes.cpp:726 msgid "Edit preset" msgstr "Редагувати пресет" -#: src/slic3r/GUI/PresetComboBoxes.cpp:703 src/slic3r/GUI/Tab.cpp:2990 +#: src/slic3r/GUI/PresetComboBoxes.cpp:730 src/slic3r/GUI/Tab.cpp:2997 msgid "Edit physical printer" msgstr "Редагувати фізичний принтер" -#: src/slic3r/GUI/PresetComboBoxes.cpp:706 +#: src/slic3r/GUI/PresetComboBoxes.cpp:733 msgid "Delete physical printer" msgstr "Видалити фізичний принтер" -#: src/slic3r/GUI/PresetComboBoxes.cpp:826 -#: src/slic3r/GUI/PresetComboBoxes.cpp:987 +#: src/slic3r/GUI/PresetComboBoxes.cpp:853 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1021 msgid "Physical printers" msgstr "Фізичний принтер" -#: src/slic3r/GUI/PresetComboBoxes.cpp:850 +#: src/slic3r/GUI/PresetComboBoxes.cpp:877 msgid "Add/Remove filaments" msgstr "Додати/Видалити філаменти" -#: src/slic3r/GUI/PresetComboBoxes.cpp:852 +#: src/slic3r/GUI/PresetComboBoxes.cpp:879 msgid "Add/Remove materials" msgstr "Додати/Видалити матеріали" -#: src/slic3r/GUI/PresetComboBoxes.cpp:854 -#: src/slic3r/GUI/PresetComboBoxes.cpp:1011 +#: src/slic3r/GUI/PresetComboBoxes.cpp:881 +#: src/slic3r/GUI/PresetComboBoxes.cpp:1045 msgid "Add/Remove printers" msgstr "Додати/Видалити прінтери" @@ -6698,52 +6746,52 @@ msgstr "За потреби використовуйте скісні риски msgid "Group" msgstr "Group" -#: src/slic3r/GUI/PrintHostDialogs.cpp:176 +#: src/slic3r/GUI/PrintHostDialogs.cpp:187 msgid "ID" msgstr "ID" -#: src/slic3r/GUI/PrintHostDialogs.cpp:177 +#: src/slic3r/GUI/PrintHostDialogs.cpp:188 msgid "Progress" msgstr "Прогрес" -#: src/slic3r/GUI/PrintHostDialogs.cpp:178 +#: src/slic3r/GUI/PrintHostDialogs.cpp:189 msgid "Status" msgstr "Статус" -#: src/slic3r/GUI/PrintHostDialogs.cpp:179 +#: src/slic3r/GUI/PrintHostDialogs.cpp:190 msgid "Host" msgstr "Хост" -#: src/slic3r/GUI/PrintHostDialogs.cpp:180 +#: src/slic3r/GUI/PrintHostDialogs.cpp:191 msgid "Filename" msgstr "Ім'я файлу" -#: src/slic3r/GUI/PrintHostDialogs.cpp:181 +#: src/slic3r/GUI/PrintHostDialogs.cpp:192 msgid "Error Message" msgstr "Повідомлення про помилку" -#: src/slic3r/GUI/PrintHostDialogs.cpp:184 +#: src/slic3r/GUI/PrintHostDialogs.cpp:195 msgid "Cancel selected" msgstr "Скасувати вибране" -#: src/slic3r/GUI/PrintHostDialogs.cpp:186 +#: src/slic3r/GUI/PrintHostDialogs.cpp:197 msgid "Show error message" msgstr "Показати повідомлення про помилку" -#: src/slic3r/GUI/PrintHostDialogs.cpp:228 -#: src/slic3r/GUI/PrintHostDialogs.cpp:261 +#: src/slic3r/GUI/PrintHostDialogs.cpp:239 +#: src/slic3r/GUI/PrintHostDialogs.cpp:272 msgid "Enqueued" msgstr "У черзі" -#: src/slic3r/GUI/PrintHostDialogs.cpp:262 +#: src/slic3r/GUI/PrintHostDialogs.cpp:273 msgid "Uploading" msgstr "Завантаження" -#: src/slic3r/GUI/PrintHostDialogs.cpp:266 +#: src/slic3r/GUI/PrintHostDialogs.cpp:277 msgid "Completed" msgstr "Завершено" -#: src/slic3r/GUI/PrintHostDialogs.cpp:304 +#: src/slic3r/GUI/PrintHostDialogs.cpp:315 msgid "Error uploading to print host:" msgstr "Помилка завантаження на хост друку:" @@ -6753,11 +6801,11 @@ msgstr "ВЗАГАЛІ БЕЗ раммінгу" #: src/slic3r/GUI/RammingChart.cpp:76 src/slic3r/GUI/WipeTowerDialog.cpp:83 #: src/libslic3r/PrintConfig.cpp:706 src/libslic3r/PrintConfig.cpp:750 -#: src/libslic3r/PrintConfig.cpp:765 src/libslic3r/PrintConfig.cpp:2636 -#: src/libslic3r/PrintConfig.cpp:2645 src/libslic3r/PrintConfig.cpp:2755 -#: src/libslic3r/PrintConfig.cpp:2763 src/libslic3r/PrintConfig.cpp:2771 -#: src/libslic3r/PrintConfig.cpp:2778 src/libslic3r/PrintConfig.cpp:2786 -#: src/libslic3r/PrintConfig.cpp:2794 +#: src/libslic3r/PrintConfig.cpp:765 src/libslic3r/PrintConfig.cpp:2638 +#: src/libslic3r/PrintConfig.cpp:2647 src/libslic3r/PrintConfig.cpp:2757 +#: src/libslic3r/PrintConfig.cpp:2765 src/libslic3r/PrintConfig.cpp:2773 +#: src/libslic3r/PrintConfig.cpp:2780 src/libslic3r/PrintConfig.cpp:2788 +#: src/libslic3r/PrintConfig.cpp:2796 msgid "s" msgstr "с" @@ -6851,11 +6899,11 @@ msgstr "Додати \"%1%\" як наступний пресет для фіз msgid "Just switch to \"%1%\" preset" msgstr "Просто переключитися до пресету \"%1%\"" -#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2421 +#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2428 msgid "Stealth" msgstr "Тихий" -#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2415 +#: src/slic3r/GUI/Search.cpp:77 src/slic3r/GUI/Tab.cpp:2422 msgid "Normal" msgstr "Нормальний" @@ -6949,11 +6997,11 @@ msgstr "" msgid "Search in settings [%1%]" msgstr "Шукайте в налаштуваннях [%1%]" -#: src/slic3r/GUI/Tab.cpp:1237 +#: src/slic3r/GUI/Tab.cpp:1244 msgid "Detach from system preset" msgstr "Від'єднати від системного пресету" -#: src/slic3r/GUI/Tab.cpp:1250 +#: src/slic3r/GUI/Tab.cpp:1257 msgid "" "A copy of the current system preset will be created, which will be detached " "from the system preset." @@ -6961,18 +7009,18 @@ msgstr "" "Буде створено копію поточного системного пресету, який буде від'єднано від " "системного пресету." -#: src/slic3r/GUI/Tab.cpp:1251 +#: src/slic3r/GUI/Tab.cpp:1258 msgid "" "The current custom preset will be detached from the parent system preset." msgstr "" "Поточний власний пресет буде від'єднаний від батьківського системного " "пресету." -#: src/slic3r/GUI/Tab.cpp:1254 +#: src/slic3r/GUI/Tab.cpp:1261 msgid "Modifications to the current profile will be saved." msgstr "Зміни до поточного профілю буде збережено." -#: src/slic3r/GUI/Tab.cpp:1257 +#: src/slic3r/GUI/Tab.cpp:1264 msgid "" "This action is not revertable.\n" "Do you want to proceed?" @@ -6980,269 +7028,269 @@ msgstr "" "Цю дію не можна повернути.\n" "Ви хочете продовжити?" -#: src/slic3r/GUI/Tab.cpp:1259 +#: src/slic3r/GUI/Tab.cpp:1266 msgid "Detach preset" msgstr "Від'єднати пресет" -#: src/slic3r/GUI/Tab.cpp:1285 +#: src/slic3r/GUI/Tab.cpp:1292 msgid "This is a default preset." msgstr "Цей пресет є пресетом за-замовчуванням." -#: src/slic3r/GUI/Tab.cpp:1287 +#: src/slic3r/GUI/Tab.cpp:1294 msgid "This is a system preset." msgstr "Цей пресет є системним пресетом." -#: src/slic3r/GUI/Tab.cpp:1289 +#: src/slic3r/GUI/Tab.cpp:1296 msgid "Current preset is inherited from the default preset." msgstr "Поточний пресет успадковується від пресету за замовчуванням." -#: src/slic3r/GUI/Tab.cpp:1293 +#: src/slic3r/GUI/Tab.cpp:1300 msgid "Current preset is inherited from" msgstr "Поточний пресет успадковується від" -#: src/slic3r/GUI/Tab.cpp:1297 +#: src/slic3r/GUI/Tab.cpp:1304 msgid "It can't be deleted or modified." msgstr "Його не можна видалити або змінити." -#: src/slic3r/GUI/Tab.cpp:1298 +#: src/slic3r/GUI/Tab.cpp:1305 msgid "" "Any modifications should be saved as a new preset inherited from this one." msgstr "" "Будь-які модифікації слід зберігати як новий пресет, успадкований від цього." -#: src/slic3r/GUI/Tab.cpp:1299 +#: src/slic3r/GUI/Tab.cpp:1306 msgid "To do that please specify a new name for the preset." msgstr "Для цього вкажіть нову назву пресету." -#: src/slic3r/GUI/Tab.cpp:1303 +#: src/slic3r/GUI/Tab.cpp:1310 msgid "Additional information:" msgstr "Додаткова інформація:" -#: src/slic3r/GUI/Tab.cpp:1309 +#: src/slic3r/GUI/Tab.cpp:1316 msgid "printer model" msgstr "модель принтеру" -#: src/slic3r/GUI/Tab.cpp:1317 +#: src/slic3r/GUI/Tab.cpp:1324 msgid "default print profile" msgstr "профіль друку за замовчанням" -#: src/slic3r/GUI/Tab.cpp:1320 +#: src/slic3r/GUI/Tab.cpp:1327 msgid "default filament profile" msgstr "профіль філаметну за замовчанням" -#: src/slic3r/GUI/Tab.cpp:1334 +#: src/slic3r/GUI/Tab.cpp:1341 msgid "default SLA material profile" msgstr "профіль SLA-матеріалу за замовчанням" -#: src/slic3r/GUI/Tab.cpp:1338 +#: src/slic3r/GUI/Tab.cpp:1345 msgid "default SLA print profile" msgstr "профіль SLA-друку за замовчанням" -#: src/slic3r/GUI/Tab.cpp:1346 +#: src/slic3r/GUI/Tab.cpp:1353 msgid "full profile name" msgstr "повне ім'я профілю" -#: src/slic3r/GUI/Tab.cpp:1347 +#: src/slic3r/GUI/Tab.cpp:1354 msgid "symbolic profile name" msgstr "символічне ім'я профілю" -#: src/slic3r/GUI/Tab.cpp:1385 src/slic3r/GUI/Tab.cpp:4042 +#: src/slic3r/GUI/Tab.cpp:1392 src/slic3r/GUI/Tab.cpp:4049 msgid "Layers and perimeters" msgstr "Шари та периметри" -#: src/slic3r/GUI/Tab.cpp:1391 +#: src/slic3r/GUI/Tab.cpp:1398 msgid "Vertical shells" msgstr "Вертикальні оболонки" -#: src/slic3r/GUI/Tab.cpp:1403 +#: src/slic3r/GUI/Tab.cpp:1410 msgid "Horizontal shells" msgstr "Горизонтальні оболонки" -#: src/slic3r/GUI/Tab.cpp:1404 src/libslic3r/PrintConfig.cpp:1980 +#: src/slic3r/GUI/Tab.cpp:1411 src/libslic3r/PrintConfig.cpp:1982 msgid "Solid layers" msgstr "Суцільні шари" -#: src/slic3r/GUI/Tab.cpp:1409 +#: src/slic3r/GUI/Tab.cpp:1416 msgid "Minimum shell thickness" msgstr "Мінімальна товщина оболонки" -#: src/slic3r/GUI/Tab.cpp:1420 +#: src/slic3r/GUI/Tab.cpp:1427 msgid "Quality (slower slicing)" msgstr "Якість (повільне нарізання)" -#: src/slic3r/GUI/Tab.cpp:1448 +#: src/slic3r/GUI/Tab.cpp:1455 msgid "Reducing printing time" msgstr "Зниження часу друку" -#: src/slic3r/GUI/Tab.cpp:1460 +#: src/slic3r/GUI/Tab.cpp:1467 msgid "Skirt and brim" msgstr "Плінтус та край" -#: src/slic3r/GUI/Tab.cpp:1480 +#: src/slic3r/GUI/Tab.cpp:1487 msgid "Raft" msgstr "Пліт" -#: src/slic3r/GUI/Tab.cpp:1484 +#: src/slic3r/GUI/Tab.cpp:1491 msgid "Options for support material and raft" msgstr "Варіанти для опорного матеріалу та плоту" -#: src/slic3r/GUI/Tab.cpp:1499 +#: src/slic3r/GUI/Tab.cpp:1506 msgid "Speed for print moves" msgstr "Швидкість друкарських рухів" -#: src/slic3r/GUI/Tab.cpp:1512 +#: src/slic3r/GUI/Tab.cpp:1519 msgid "Speed for non-print moves" msgstr "Швидкість недрукарських рухів" -#: src/slic3r/GUI/Tab.cpp:1515 +#: src/slic3r/GUI/Tab.cpp:1522 msgid "Modifiers" msgstr "Модифікатори" -#: src/slic3r/GUI/Tab.cpp:1518 +#: src/slic3r/GUI/Tab.cpp:1525 msgid "Acceleration control (advanced)" msgstr "Контроль прискорення (розширений)" -#: src/slic3r/GUI/Tab.cpp:1525 +#: src/slic3r/GUI/Tab.cpp:1532 msgid "Autospeed (advanced)" msgstr "Автоматична швидкість (розширена)" -#: src/slic3r/GUI/Tab.cpp:1533 +#: src/slic3r/GUI/Tab.cpp:1540 msgid "Multiple Extruders" msgstr "Кілька екструдерів" -#: src/slic3r/GUI/Tab.cpp:1541 +#: src/slic3r/GUI/Tab.cpp:1548 msgid "Ooze prevention" msgstr "Запобігання просочування" -#: src/slic3r/GUI/Tab.cpp:1559 +#: src/slic3r/GUI/Tab.cpp:1566 msgid "Extrusion width" msgstr "Ширина екструзії" -#: src/slic3r/GUI/Tab.cpp:1569 +#: src/slic3r/GUI/Tab.cpp:1576 msgid "Overlap" msgstr "Перекриття" -#: src/slic3r/GUI/Tab.cpp:1572 +#: src/slic3r/GUI/Tab.cpp:1579 msgid "Flow" msgstr "Потік" -#: src/slic3r/GUI/Tab.cpp:1581 +#: src/slic3r/GUI/Tab.cpp:1588 msgid "Other" msgstr "Інше" -#: src/slic3r/GUI/Tab.cpp:1584 src/slic3r/GUI/Tab.cpp:4118 +#: src/slic3r/GUI/Tab.cpp:1591 src/slic3r/GUI/Tab.cpp:4125 msgid "Output options" msgstr "Параметри виводу" -#: src/slic3r/GUI/Tab.cpp:1585 +#: src/slic3r/GUI/Tab.cpp:1592 msgid "Sequential printing" msgstr "Послідовне друкування" -#: src/slic3r/GUI/Tab.cpp:1587 +#: src/slic3r/GUI/Tab.cpp:1594 msgid "Extruder clearance" msgstr "Область зіткнення екструдера" -#: src/slic3r/GUI/Tab.cpp:1592 src/slic3r/GUI/Tab.cpp:4119 +#: src/slic3r/GUI/Tab.cpp:1599 src/slic3r/GUI/Tab.cpp:4126 msgid "Output file" msgstr "Вихідний файл" -#: src/slic3r/GUI/Tab.cpp:1599 src/libslic3r/PrintConfig.cpp:1662 +#: src/slic3r/GUI/Tab.cpp:1606 src/libslic3r/PrintConfig.cpp:1664 msgid "Post-processing scripts" msgstr "Скрипти пост-обробки" -#: src/slic3r/GUI/Tab.cpp:1605 src/slic3r/GUI/Tab.cpp:1606 -#: src/slic3r/GUI/Tab.cpp:1927 src/slic3r/GUI/Tab.cpp:1928 -#: src/slic3r/GUI/Tab.cpp:2266 src/slic3r/GUI/Tab.cpp:2267 -#: src/slic3r/GUI/Tab.cpp:2342 src/slic3r/GUI/Tab.cpp:2343 -#: src/slic3r/GUI/Tab.cpp:3985 src/slic3r/GUI/Tab.cpp:3986 +#: src/slic3r/GUI/Tab.cpp:1612 src/slic3r/GUI/Tab.cpp:1613 +#: src/slic3r/GUI/Tab.cpp:1934 src/slic3r/GUI/Tab.cpp:1935 +#: src/slic3r/GUI/Tab.cpp:2273 src/slic3r/GUI/Tab.cpp:2274 +#: src/slic3r/GUI/Tab.cpp:2349 src/slic3r/GUI/Tab.cpp:2350 +#: src/slic3r/GUI/Tab.cpp:3992 src/slic3r/GUI/Tab.cpp:3993 msgid "Notes" msgstr "Примітки" -#: src/slic3r/GUI/Tab.cpp:1612 src/slic3r/GUI/Tab.cpp:1935 -#: src/slic3r/GUI/Tab.cpp:2273 src/slic3r/GUI/Tab.cpp:2349 -#: src/slic3r/GUI/Tab.cpp:3993 src/slic3r/GUI/Tab.cpp:4124 +#: src/slic3r/GUI/Tab.cpp:1619 src/slic3r/GUI/Tab.cpp:1942 +#: src/slic3r/GUI/Tab.cpp:2280 src/slic3r/GUI/Tab.cpp:2356 +#: src/slic3r/GUI/Tab.cpp:4000 src/slic3r/GUI/Tab.cpp:4131 msgid "Dependencies" msgstr "Залежності" -#: src/slic3r/GUI/Tab.cpp:1613 src/slic3r/GUI/Tab.cpp:1936 -#: src/slic3r/GUI/Tab.cpp:2274 src/slic3r/GUI/Tab.cpp:2350 -#: src/slic3r/GUI/Tab.cpp:3994 src/slic3r/GUI/Tab.cpp:4125 +#: src/slic3r/GUI/Tab.cpp:1620 src/slic3r/GUI/Tab.cpp:1943 +#: src/slic3r/GUI/Tab.cpp:2281 src/slic3r/GUI/Tab.cpp:2357 +#: src/slic3r/GUI/Tab.cpp:4001 src/slic3r/GUI/Tab.cpp:4132 msgid "Profile dependencies" msgstr "Залежності профілю" -#: src/slic3r/GUI/Tab.cpp:1693 +#: src/slic3r/GUI/Tab.cpp:1700 msgid "Filament Overrides" msgstr "Переписування глобальних змінних" -#: src/slic3r/GUI/Tab.cpp:1815 +#: src/slic3r/GUI/Tab.cpp:1822 msgid "Temperature" msgstr "Температура" -#: src/slic3r/GUI/Tab.cpp:1816 +#: src/slic3r/GUI/Tab.cpp:1823 msgid "Nozzle" msgstr "Сопло" -#: src/slic3r/GUI/Tab.cpp:1821 +#: src/slic3r/GUI/Tab.cpp:1828 msgid "Bed" msgstr "Стіл" -#: src/slic3r/GUI/Tab.cpp:1826 +#: src/slic3r/GUI/Tab.cpp:1833 msgid "Cooling" msgstr "Охолодження" -#: src/slic3r/GUI/Tab.cpp:1828 src/libslic3r/PrintConfig.cpp:1565 -#: src/libslic3r/PrintConfig.cpp:2428 +#: src/slic3r/GUI/Tab.cpp:1835 src/libslic3r/PrintConfig.cpp:1567 +#: src/libslic3r/PrintConfig.cpp:2430 msgid "Enable" msgstr "Увімкнути" -#: src/slic3r/GUI/Tab.cpp:1839 +#: src/slic3r/GUI/Tab.cpp:1846 msgid "Fan settings" msgstr "Налаштування вентилятора" -#: src/slic3r/GUI/Tab.cpp:1850 +#: src/slic3r/GUI/Tab.cpp:1857 msgid "Cooling thresholds" msgstr "Пороги охолодження" -#: src/slic3r/GUI/Tab.cpp:1856 +#: src/slic3r/GUI/Tab.cpp:1863 msgid "Filament properties" msgstr "Властивості філаменту" -#: src/slic3r/GUI/Tab.cpp:1863 +#: src/slic3r/GUI/Tab.cpp:1870 msgid "Print speed override" msgstr "Перевизначення швидкості друку" -#: src/slic3r/GUI/Tab.cpp:1873 +#: src/slic3r/GUI/Tab.cpp:1880 msgid "Wipe tower parameters" msgstr "Параметри вежі витирання" -#: src/slic3r/GUI/Tab.cpp:1876 +#: src/slic3r/GUI/Tab.cpp:1883 msgid "Toolchange parameters with single extruder MM printers" msgstr "Параметри зміни інструменту в одно-екструдерному ММ-принтері" -#: src/slic3r/GUI/Tab.cpp:1889 +#: src/slic3r/GUI/Tab.cpp:1896 msgid "Ramming settings" msgstr "Налаштування раммінгу" -#: src/slic3r/GUI/Tab.cpp:1912 src/slic3r/GUI/Tab.cpp:2205 -#: src/libslic3r/PrintConfig.cpp:2063 +#: src/slic3r/GUI/Tab.cpp:1919 src/slic3r/GUI/Tab.cpp:2212 +#: src/libslic3r/PrintConfig.cpp:2065 msgid "Custom G-code" msgstr "Користувацький G-код" -#: src/slic3r/GUI/Tab.cpp:1913 src/slic3r/GUI/Tab.cpp:2206 -#: src/libslic3r/PrintConfig.cpp:2013 src/libslic3r/PrintConfig.cpp:2028 +#: src/slic3r/GUI/Tab.cpp:1920 src/slic3r/GUI/Tab.cpp:2213 +#: src/libslic3r/PrintConfig.cpp:2015 src/libslic3r/PrintConfig.cpp:2030 msgid "Start G-code" msgstr "Початок G-коду" -#: src/slic3r/GUI/Tab.cpp:1920 src/slic3r/GUI/Tab.cpp:2213 +#: src/slic3r/GUI/Tab.cpp:1927 src/slic3r/GUI/Tab.cpp:2220 #: src/libslic3r/PrintConfig.cpp:441 src/libslic3r/PrintConfig.cpp:451 msgid "End G-code" msgstr "Закінчення G-коду" -#: src/slic3r/GUI/Tab.cpp:1970 +#: src/slic3r/GUI/Tab.cpp:1977 msgid "Volumetric flow hints not available" msgstr "Підказки об'ємного потоку відсутні" -#: src/slic3r/GUI/Tab.cpp:2066 +#: src/slic3r/GUI/Tab.cpp:2073 msgid "" "Note: All parameters from this group are moved to the Physical Printer " "settings (see changelog).\n" @@ -7264,19 +7312,19 @@ msgstr "" "вкладці \"Параметри принтеру\". Профілі фізичного принтера зберігаються в " "каталозі \"PrusaSlicer/physical_printer\"." -#: src/slic3r/GUI/Tab.cpp:2099 src/slic3r/GUI/Tab.cpp:2286 +#: src/slic3r/GUI/Tab.cpp:2106 src/slic3r/GUI/Tab.cpp:2293 msgid "Size and coordinates" msgstr "Розмір і координати" -#: src/slic3r/GUI/Tab.cpp:2108 src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 +#: src/slic3r/GUI/Tab.cpp:2115 src/slic3r/GUI/UnsavedChangesDialog.cpp:1080 msgid "Capabilities" msgstr "Можливості" -#: src/slic3r/GUI/Tab.cpp:2113 +#: src/slic3r/GUI/Tab.cpp:2120 msgid "Number of extruders of the printer." msgstr "Кількість екструдерів у принтері." -#: src/slic3r/GUI/Tab.cpp:2141 +#: src/slic3r/GUI/Tab.cpp:2148 msgid "" "Single Extruder Multi Material is selected, \n" "and all extruders must have the same diameter.\n" @@ -7288,60 +7336,60 @@ msgstr "" "Хочете змінити діаметр для всіх екструдерів на значення діаметра сопла " "першого екструдера?" -#: src/slic3r/GUI/Tab.cpp:2144 src/slic3r/GUI/Tab.cpp:2552 +#: src/slic3r/GUI/Tab.cpp:2151 src/slic3r/GUI/Tab.cpp:2559 #: src/libslic3r/PrintConfig.cpp:1534 msgid "Nozzle diameter" msgstr "Діаметр сопла" -#: src/slic3r/GUI/Tab.cpp:2220 src/libslic3r/PrintConfig.cpp:209 +#: src/slic3r/GUI/Tab.cpp:2227 src/libslic3r/PrintConfig.cpp:209 msgid "Before layer change G-code" msgstr "G-код перед зміною шару" -#: src/slic3r/GUI/Tab.cpp:2227 src/libslic3r/PrintConfig.cpp:1273 +#: src/slic3r/GUI/Tab.cpp:2234 src/libslic3r/PrintConfig.cpp:1273 msgid "After layer change G-code" msgstr "G-код після зміни шару" -#: src/slic3r/GUI/Tab.cpp:2234 src/libslic3r/PrintConfig.cpp:2321 +#: src/slic3r/GUI/Tab.cpp:2241 src/libslic3r/PrintConfig.cpp:2323 msgid "Tool change G-code" msgstr "G-код зміни інструменту" -#: src/slic3r/GUI/Tab.cpp:2241 +#: src/slic3r/GUI/Tab.cpp:2248 msgid "Between objects G-code (for sequential printing)" msgstr "G-код між об'єктами (для послідовного друку)" -#: src/slic3r/GUI/Tab.cpp:2248 +#: src/slic3r/GUI/Tab.cpp:2255 msgid "Color Change G-code" msgstr "G-код зміни кольору" -#: src/slic3r/GUI/Tab.cpp:2254 src/libslic3r/PrintConfig.cpp:2054 +#: src/slic3r/GUI/Tab.cpp:2261 src/libslic3r/PrintConfig.cpp:2056 msgid "Pause Print G-code" msgstr "G-код для паузи друку" -#: src/slic3r/GUI/Tab.cpp:2260 +#: src/slic3r/GUI/Tab.cpp:2267 msgid "Template Custom G-code" msgstr "Шаблон власного G-коду" -#: src/slic3r/GUI/Tab.cpp:2293 +#: src/slic3r/GUI/Tab.cpp:2300 msgid "Display" msgstr "Дисплей" -#: src/slic3r/GUI/Tab.cpp:2308 +#: src/slic3r/GUI/Tab.cpp:2315 msgid "Tilt" msgstr "Нахил" -#: src/slic3r/GUI/Tab.cpp:2309 +#: src/slic3r/GUI/Tab.cpp:2316 msgid "Tilt time" msgstr "Час нахилу" -#: src/slic3r/GUI/Tab.cpp:2315 src/slic3r/GUI/Tab.cpp:3969 +#: src/slic3r/GUI/Tab.cpp:2322 src/slic3r/GUI/Tab.cpp:3976 msgid "Corrections" msgstr "Поправки" -#: src/slic3r/GUI/Tab.cpp:2332 src/slic3r/GUI/Tab.cpp:3965 +#: src/slic3r/GUI/Tab.cpp:2339 src/slic3r/GUI/Tab.cpp:3972 msgid "Exposure" msgstr "Експозиція" -#: src/slic3r/GUI/Tab.cpp:2391 src/slic3r/GUI/Tab.cpp:2485 +#: src/slic3r/GUI/Tab.cpp:2398 src/slic3r/GUI/Tab.cpp:2492 #: src/libslic3r/PrintConfig.cpp:1302 src/libslic3r/PrintConfig.cpp:1337 #: src/libslic3r/PrintConfig.cpp:1354 src/libslic3r/PrintConfig.cpp:1371 #: src/libslic3r/PrintConfig.cpp:1387 src/libslic3r/PrintConfig.cpp:1397 @@ -7349,39 +7397,39 @@ msgstr "Експозиція" msgid "Machine limits" msgstr "Механічних обмеження" -#: src/slic3r/GUI/Tab.cpp:2414 +#: src/slic3r/GUI/Tab.cpp:2421 msgid "Values in this column are for Normal mode" msgstr "Значення в цьому стовпці для нормального режиму" -#: src/slic3r/GUI/Tab.cpp:2420 +#: src/slic3r/GUI/Tab.cpp:2427 msgid "Values in this column are for Stealth mode" msgstr "Значення в цьому стовпці для тихого режиму" -#: src/slic3r/GUI/Tab.cpp:2429 +#: src/slic3r/GUI/Tab.cpp:2436 msgid "Maximum feedrates" msgstr "Максимальна швидкість подачі" -#: src/slic3r/GUI/Tab.cpp:2434 +#: src/slic3r/GUI/Tab.cpp:2441 msgid "Maximum accelerations" msgstr "Максимальні прискорення" -#: src/slic3r/GUI/Tab.cpp:2441 +#: src/slic3r/GUI/Tab.cpp:2448 msgid "Jerk limits" msgstr "Обмеження ривку" -#: src/slic3r/GUI/Tab.cpp:2446 +#: src/slic3r/GUI/Tab.cpp:2453 msgid "Minimum feedrates" msgstr "Мінімальна швидкість подачі" -#: src/slic3r/GUI/Tab.cpp:2510 src/slic3r/GUI/Tab.cpp:2518 +#: src/slic3r/GUI/Tab.cpp:2517 src/slic3r/GUI/Tab.cpp:2525 msgid "Single extruder MM setup" msgstr "Налаштування MM екструдера" -#: src/slic3r/GUI/Tab.cpp:2519 +#: src/slic3r/GUI/Tab.cpp:2526 msgid "Single extruder multimaterial parameters" msgstr "Параметри екструдеру в багато-екструдерному принтері" -#: src/slic3r/GUI/Tab.cpp:2550 +#: src/slic3r/GUI/Tab.cpp:2557 msgid "" "This is a single extruder multimaterial printer, diameters of all extruders " "will be set to the new value. Do you want to proceed?" @@ -7389,19 +7437,19 @@ msgstr "" "Це одно-екструдерний багато-матеріальний принтер, діаметри всіх екструдерів " "будуть встановлені на нове значення. Ви хочете продовжити?" -#: src/slic3r/GUI/Tab.cpp:2574 +#: src/slic3r/GUI/Tab.cpp:2581 msgid "Layer height limits" msgstr "Межі висоти шару" -#: src/slic3r/GUI/Tab.cpp:2579 +#: src/slic3r/GUI/Tab.cpp:2586 msgid "Position (for multi-extruder printers)" msgstr "Позиція (для мульти-екструдерних принтерів)" -#: src/slic3r/GUI/Tab.cpp:2585 +#: src/slic3r/GUI/Tab.cpp:2592 msgid "Only lift Z" msgstr "Межі підняття Z" -#: src/slic3r/GUI/Tab.cpp:2598 +#: src/slic3r/GUI/Tab.cpp:2605 msgid "" "Retraction when tool is disabled (advanced settings for multi-extruder " "setups)" @@ -7409,11 +7457,11 @@ msgstr "" "Переривання при відключенні інструмента (додаткові налаштування для " "налагодження мульти-екструдерів)" -#: src/slic3r/GUI/Tab.cpp:2605 +#: src/slic3r/GUI/Tab.cpp:2612 msgid "Reset to Filament Color" msgstr "Скинути до кольору філаменту" -#: src/slic3r/GUI/Tab.cpp:2783 +#: src/slic3r/GUI/Tab.cpp:2790 msgid "" "The Wipe option is not available when using the Firmware Retraction mode.\n" "\n" @@ -7424,34 +7472,34 @@ msgstr "" "\n" "Відключити його для увімкнення програмного переривання?" -#: src/slic3r/GUI/Tab.cpp:2785 +#: src/slic3r/GUI/Tab.cpp:2792 msgid "Firmware Retraction" msgstr "Програмне переривання" -#: src/slic3r/GUI/Tab.cpp:3376 +#: src/slic3r/GUI/Tab.cpp:3383 msgid "Detached" msgstr "Від'єднаний" -#: src/slic3r/GUI/Tab.cpp:3439 +#: src/slic3r/GUI/Tab.cpp:3446 msgid "remove" msgstr "видалити" -#: src/slic3r/GUI/Tab.cpp:3439 +#: src/slic3r/GUI/Tab.cpp:3446 msgid "delete" msgstr "видалити" -#: src/slic3r/GUI/Tab.cpp:3448 +#: src/slic3r/GUI/Tab.cpp:3455 msgid "It's a last preset for this physical printer." msgstr "Це останній пресет для цього фізичного принтера." -#: src/slic3r/GUI/Tab.cpp:3453 +#: src/slic3r/GUI/Tab.cpp:3460 msgid "" "Are you sure you want to delete \"%1%\" preset from the physical printer " "\"%2%\"?" msgstr "" "Ви впевнені, що хочете видалити пресет \"%1%\" із фізичного принтера \"%2%\"?" -#: src/slic3r/GUI/Tab.cpp:3465 +#: src/slic3r/GUI/Tab.cpp:3472 msgid "" "The physical printer(s) below is based on the preset, you are going to " "delete." @@ -7459,14 +7507,14 @@ msgstr "" "Наведений(і) нижче фізичний(і) принтер(и) базується на пресеті, які ви " "збираєтеся видалити." -#: src/slic3r/GUI/Tab.cpp:3469 +#: src/slic3r/GUI/Tab.cpp:3476 msgid "" "Note, that selected preset will be deleted from this/those printer(s) too." msgstr "" "Зверніть увагу, що вибраний пресет буде також видалено з цього/цих " "принтеру(ів)." -#: src/slic3r/GUI/Tab.cpp:3473 +#: src/slic3r/GUI/Tab.cpp:3480 msgid "" "The physical printer(s) below is based only on the preset, you are going to " "delete." @@ -7474,7 +7522,7 @@ msgstr "" "Наведений(і) нижче фізичний(і) принтер(и) базується тільки на пресеті, які " "ви збираєтеся видалити." -#: src/slic3r/GUI/Tab.cpp:3477 +#: src/slic3r/GUI/Tab.cpp:3484 msgid "" "Note, that this/those printer(s) will be deleted after deleting of the " "selected preset." @@ -7482,27 +7530,27 @@ msgstr "" "Зауважте, що цей/ці принтер(и) буде видалено після видалення вибраного " "пресету." -#: src/slic3r/GUI/Tab.cpp:3481 +#: src/slic3r/GUI/Tab.cpp:3488 msgid "Are you sure you want to %1% the selected preset?" msgstr "Ви впевнені, що хочете %1% вибраний пресет?" #. TRN Remove/Delete -#: src/slic3r/GUI/Tab.cpp:3486 +#: src/slic3r/GUI/Tab.cpp:3493 msgid "%1% Preset" msgstr "%1% пресет" -#: src/slic3r/GUI/Tab.cpp:3567 src/slic3r/GUI/Tab.cpp:3639 +#: src/slic3r/GUI/Tab.cpp:3574 src/slic3r/GUI/Tab.cpp:3646 msgid "Set" msgstr "Встановити" -#: src/slic3r/GUI/Tab.cpp:3703 +#: src/slic3r/GUI/Tab.cpp:3710 msgid "" "Machine limits will be emitted to G-code and used to estimate print time." msgstr "" "Механічних обмеження публікуватимуться в G-код і використовуватимуться для " "розрахунку часу друку." -#: src/slic3r/GUI/Tab.cpp:3706 +#: src/slic3r/GUI/Tab.cpp:3713 msgid "" "Machine limits will NOT be emitted to G-code, however they will be used to " "estimate print time, which may therefore not be accurate as the printer may " @@ -7512,7 +7560,7 @@ msgstr "" "використовуватися для оцінки часу друку, що, отже, може бути неточним, " "оскільки принтер може застосовувати інший набір механічних обмежень." -#: src/slic3r/GUI/Tab.cpp:3710 +#: src/slic3r/GUI/Tab.cpp:3717 msgid "" "Machine limits are not set, therefore the print time estimate may not be " "accurate." @@ -7520,12 +7568,12 @@ msgstr "" "Механічних обмеження не встановлені, тому оцінка часу друку може бути " "неточною." -#: src/slic3r/GUI/Tab.cpp:3732 +#: src/slic3r/GUI/Tab.cpp:3739 msgid "LOCKED LOCK" msgstr "ЗАКРИТИЙ ЗАМОК" #. TRN Description for "LOCKED LOCK" -#: src/slic3r/GUI/Tab.cpp:3734 +#: src/slic3r/GUI/Tab.cpp:3741 msgid "" "indicates that the settings are the same as the system (or default) values " "for the current option group" @@ -7533,12 +7581,12 @@ msgstr "" "вказує на те, що параметри збігаються із системними (або за замовчуванням) " "значеннями для поточної групи опцій" -#: src/slic3r/GUI/Tab.cpp:3736 +#: src/slic3r/GUI/Tab.cpp:3743 msgid "UNLOCKED LOCK" msgstr "ВІДКРИТИЙ ЗАМОК" #. TRN Description for "UNLOCKED LOCK" -#: src/slic3r/GUI/Tab.cpp:3738 +#: src/slic3r/GUI/Tab.cpp:3745 msgid "" "indicates that some settings were changed and are not equal to the system " "(or default) values for the current option group.\n" @@ -7550,12 +7598,12 @@ msgstr "" "Клацніть, щоб скинути всі налаштування для поточної групи опцій до системних " "значень (або за замовчуванням)." -#: src/slic3r/GUI/Tab.cpp:3743 +#: src/slic3r/GUI/Tab.cpp:3750 msgid "WHITE BULLET" msgstr "БІЛА КУЛЯ" #. TRN Description for "WHITE BULLET" -#: src/slic3r/GUI/Tab.cpp:3745 +#: src/slic3r/GUI/Tab.cpp:3752 msgid "" "for the left button: indicates a non-system (or non-default) preset,\n" "for the right button: indicates that the settings hasn't been modified." @@ -7563,12 +7611,12 @@ msgstr "" "для лівої кнопки: вказує на несистемний (або не за замовчуванням) пресет,\n" "для правої кнопки: вказує на те, що параметри не були змінені." -#: src/slic3r/GUI/Tab.cpp:3748 +#: src/slic3r/GUI/Tab.cpp:3755 msgid "BACK ARROW" msgstr "СТРІЛКА НАЗАД" #. TRN Description for "BACK ARROW" -#: src/slic3r/GUI/Tab.cpp:3750 +#: src/slic3r/GUI/Tab.cpp:3757 msgid "" "indicates that the settings were changed and are not equal to the last saved " "preset for the current option group.\n" @@ -7580,7 +7628,7 @@ msgstr "" "Клацніть, щоб скинути всі параметри для поточної групи параметрів до " "останнього збереженого пресету." -#: src/slic3r/GUI/Tab.cpp:3760 +#: src/slic3r/GUI/Tab.cpp:3767 msgid "" "LOCKED LOCK icon indicates that the settings are the same as the system (or " "default) values for the current option group" @@ -7588,7 +7636,7 @@ msgstr "" "Значок \"ЗАКРИТИЙ ЗАМОК\" вказує на те, що параметри збігаються із " "системними (або за замовчуванням) значеннями для поточної групи опцій" -#: src/slic3r/GUI/Tab.cpp:3762 +#: src/slic3r/GUI/Tab.cpp:3769 msgid "" "UNLOCKED LOCK icon indicates that some settings were changed and are not " "equal to the system (or default) values for the current option group.\n" @@ -7601,12 +7649,12 @@ msgstr "" "Клацніть, щоб скинути всі налаштування для поточної групи опцій до системних " "значень (або за замовчуванням)." -#: src/slic3r/GUI/Tab.cpp:3765 +#: src/slic3r/GUI/Tab.cpp:3772 msgid "WHITE BULLET icon indicates a non system (or non default) preset." msgstr "" "Значок \"БІЛА КУЛЯ\" вказує на несистемний (або не за замовчуванням) пресет." -#: src/slic3r/GUI/Tab.cpp:3768 +#: src/slic3r/GUI/Tab.cpp:3775 msgid "" "WHITE BULLET icon indicates that the settings are the same as in the last " "saved preset for the current option group." @@ -7614,7 +7662,7 @@ msgstr "" "Значок \"БІЛА КУЛЯ\" вказує на те, що параметри збігаються тими, які є в " "останньому збереженому пресеті для поточної групи опцій." -#: src/slic3r/GUI/Tab.cpp:3770 +#: src/slic3r/GUI/Tab.cpp:3777 msgid "" "BACK ARROW icon indicates that the settings were changed and are not equal " "to the last saved preset for the current option group.\n" @@ -7626,7 +7674,7 @@ msgstr "" "Клацніть, щоб скинути всі параметри для поточної групи параметрів до " "останнього збереженого пресету." -#: src/slic3r/GUI/Tab.cpp:3776 +#: src/slic3r/GUI/Tab.cpp:3783 msgid "" "LOCKED LOCK icon indicates that the value is the same as the system (or " "default) value." @@ -7634,7 +7682,7 @@ msgstr "" "Значок \"ЗАКРИТИЙ ЗАМОК\" вказує на те, що значення збігається із системним " "(або за замовчуванням)." -#: src/slic3r/GUI/Tab.cpp:3777 +#: src/slic3r/GUI/Tab.cpp:3784 msgid "" "UNLOCKED LOCK icon indicates that the value was changed and is not equal to " "the system (or default) value.\n" @@ -7644,7 +7692,7 @@ msgstr "" "дорівнює системному (або за замовчуванням) значенню.\n" "Клацніть, щоб скинути поточне значення до системного (або за замовчуванням)." -#: src/slic3r/GUI/Tab.cpp:3783 +#: src/slic3r/GUI/Tab.cpp:3790 msgid "" "WHITE BULLET icon indicates that the value is the same as in the last saved " "preset." @@ -7652,7 +7700,7 @@ msgstr "" "Значок \"БІЛА КУЛЯ\" вказує на те, що значення збігається з значенням " "збереженого пресету." -#: src/slic3r/GUI/Tab.cpp:3784 +#: src/slic3r/GUI/Tab.cpp:3791 msgid "" "BACK ARROW icon indicates that the value was changed and is not equal to the " "last saved preset.\n" @@ -7662,27 +7710,27 @@ msgstr "" "дорівнює останньому збереженому пресету.\n" "Клацніть, щоб скинути поточне значення до останнього збереженого пресету." -#: src/slic3r/GUI/Tab.cpp:3928 src/slic3r/GUI/Tab.cpp:3930 +#: src/slic3r/GUI/Tab.cpp:3935 src/slic3r/GUI/Tab.cpp:3937 msgid "Material" msgstr "Матеріал" -#: src/slic3r/GUI/Tab.cpp:4052 +#: src/slic3r/GUI/Tab.cpp:4059 msgid "Support head" msgstr "Головка підтримки" -#: src/slic3r/GUI/Tab.cpp:4057 +#: src/slic3r/GUI/Tab.cpp:4064 msgid "Support pillar" msgstr "Стовп підтримки" -#: src/slic3r/GUI/Tab.cpp:4080 +#: src/slic3r/GUI/Tab.cpp:4087 msgid "Connection of the support sticks and junctions" msgstr "З'єднання опорних стовпів і стиків" -#: src/slic3r/GUI/Tab.cpp:4085 +#: src/slic3r/GUI/Tab.cpp:4092 msgid "Automatic generation" msgstr "Автоматичне згенерування" -#: src/slic3r/GUI/Tab.cpp:4159 +#: src/slic3r/GUI/Tab.cpp:4166 msgid "" "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" "To enable \"%1%\", please switch off \"%2%\"" @@ -7690,11 +7738,11 @@ msgstr "" "\"%1%\" вимкнено, оскільки в категорії \"%3%\" увімкнено \"%2%\".\n" "Щоб увімкнути \"%1%\", вимкніть \"%2%\"" -#: src/slic3r/GUI/Tab.cpp:4161 src/libslic3r/PrintConfig.cpp:3002 +#: src/slic3r/GUI/Tab.cpp:4168 src/libslic3r/PrintConfig.cpp:3004 msgid "Object elevation" msgstr "Підняття об’єкта" -#: src/slic3r/GUI/Tab.cpp:4161 src/libslic3r/PrintConfig.cpp:3104 +#: src/slic3r/GUI/Tab.cpp:4168 src/libslic3r/PrintConfig.cpp:3106 msgid "Pad around object" msgstr "Подушка навколо об’єкта" @@ -7714,12 +7762,6 @@ msgstr "Параметри принтеру" msgid "Material Settings" msgstr "Параметри матеріалу" -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:149 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 -msgid "Undef" -msgstr "Невизначений" - #: src/slic3r/GUI/UnsavedChangesDialog.cpp:537 msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "PrusaSlicer закривається: Незбережені зміни" @@ -7864,8 +7906,8 @@ msgstr "Нова версія:" msgid "Changelog && Download" msgstr "Журнал змін і завантаження" -#: src/slic3r/GUI/UpdateDialogs.cpp:60 src/slic3r/GUI/UpdateDialogs.cpp:125 -#: src/slic3r/GUI/UpdateDialogs.cpp:183 +#: src/slic3r/GUI/UpdateDialogs.cpp:60 src/slic3r/GUI/UpdateDialogs.cpp:128 +#: src/slic3r/GUI/UpdateDialogs.cpp:192 msgid "Open changelog page" msgstr "Відкрийте сторінку журналу змін" @@ -7877,15 +7919,29 @@ msgstr "Відкрити сторінку завантаження" msgid "Don't notify about new releases any more" msgstr "Більше не сповіщати про нові випуски" -#: src/slic3r/GUI/UpdateDialogs.cpp:89 src/slic3r/GUI/UpdateDialogs.cpp:266 +#: src/slic3r/GUI/UpdateDialogs.cpp:89 +msgid "Opening Configuration Wizard" +msgstr "Відкриття майстра конфігурації" + +#: src/slic3r/GUI/UpdateDialogs.cpp:89 src/slic3r/GUI/UpdateDialogs.cpp:275 msgid "Configuration update" msgstr "Оновлення конфігурації" -#: src/slic3r/GUI/UpdateDialogs.cpp:89 +#: src/slic3r/GUI/UpdateDialogs.cpp:90 +msgid "" +"PrusaSlicer is not using the newest configuration available.\n" +"Configuration Wizard may not offer the latest printers, filaments and SLA " +"materials to be installed. " +msgstr "" +"PrusaSlicer не використовує останню з доступних конфігурацію.\n" +"Майстер конфігурації може не пропонувати найновіші принтери, філаменти та " +"матеріали SLA, які потрібно інсталювати. " + +#: src/slic3r/GUI/UpdateDialogs.cpp:92 msgid "Configuration update is available" msgstr "Доступне оновлення конфігурації" -#: src/slic3r/GUI/UpdateDialogs.cpp:92 +#: src/slic3r/GUI/UpdateDialogs.cpp:95 msgid "" "Would you like to install it?\n" "\n" @@ -7901,20 +7957,28 @@ msgstr "" "\n" "Оновлені пакети конфігурації:" -#: src/slic3r/GUI/UpdateDialogs.cpp:113 src/slic3r/GUI/UpdateDialogs.cpp:173 +#: src/slic3r/GUI/UpdateDialogs.cpp:116 src/slic3r/GUI/UpdateDialogs.cpp:182 msgid "Comment:" msgstr "Коментар:" -#: src/slic3r/GUI/UpdateDialogs.cpp:148 src/slic3r/GUI/UpdateDialogs.cpp:210 +#: src/slic3r/GUI/UpdateDialogs.cpp:136 +msgid "Install" +msgstr "Інсталювати" + +#: src/slic3r/GUI/UpdateDialogs.cpp:140 +msgid "Don't install" +msgstr "Не інсталювати" + +#: src/slic3r/GUI/UpdateDialogs.cpp:157 src/slic3r/GUI/UpdateDialogs.cpp:219 #, c-format msgid "%s incompatibility" msgstr "Несумісність з %s" -#: src/slic3r/GUI/UpdateDialogs.cpp:148 +#: src/slic3r/GUI/UpdateDialogs.cpp:157 msgid "You must install a configuration update." msgstr "Потрібно встановити оновлення конфігурації." -#: src/slic3r/GUI/UpdateDialogs.cpp:151 +#: src/slic3r/GUI/UpdateDialogs.cpp:160 #, c-format msgid "" "%s will now start updates. Otherwise it won't be able to start.\n" @@ -7932,17 +7996,17 @@ msgstr "" "\n" "Оновлені пакети конфігурації:" -#: src/slic3r/GUI/UpdateDialogs.cpp:191 src/slic3r/GUI/UpdateDialogs.cpp:246 +#: src/slic3r/GUI/UpdateDialogs.cpp:200 src/slic3r/GUI/UpdateDialogs.cpp:255 #, c-format msgid "Exit %s" msgstr "Вихід %s" -#: src/slic3r/GUI/UpdateDialogs.cpp:211 +#: src/slic3r/GUI/UpdateDialogs.cpp:220 #, c-format msgid "%s configuration is incompatible" msgstr "конфігурація %s є несумісна" -#: src/slic3r/GUI/UpdateDialogs.cpp:216 +#: src/slic3r/GUI/UpdateDialogs.cpp:225 #, c-format msgid "" "This version of %s is not compatible with currently installed configuration " @@ -7962,20 +8026,20 @@ msgstr "" "запустити початкову конфігурацію. Це створить резервний знімок існуючої " "конфігурації перед встановленням файлів, сумісних із цим %s." -#: src/slic3r/GUI/UpdateDialogs.cpp:225 +#: src/slic3r/GUI/UpdateDialogs.cpp:234 #, c-format msgid "This %s version: %s" msgstr "%s версії %s" -#: src/slic3r/GUI/UpdateDialogs.cpp:230 +#: src/slic3r/GUI/UpdateDialogs.cpp:239 msgid "Incompatible bundles:" msgstr "Несумісні комплекти:" -#: src/slic3r/GUI/UpdateDialogs.cpp:249 +#: src/slic3r/GUI/UpdateDialogs.cpp:258 msgid "Re-configure" msgstr "Пере-налаштувати" -#: src/slic3r/GUI/UpdateDialogs.cpp:270 +#: src/slic3r/GUI/UpdateDialogs.cpp:279 #, c-format msgid "" "%s now uses an updated configuration structure.\n" @@ -8002,19 +8066,19 @@ msgstr "" "Будь ласка, перейдіть до %s, щоб налаштувати нові пресети та вибрати, чи " "вмикати їх автоматичне оновлення." -#: src/slic3r/GUI/UpdateDialogs.cpp:287 +#: src/slic3r/GUI/UpdateDialogs.cpp:296 msgid "For more information please visit our wiki page:" msgstr "Для отримання додаткової інформації відвідайте нашу wiki-сторінку:" -#: src/slic3r/GUI/UpdateDialogs.cpp:304 +#: src/slic3r/GUI/UpdateDialogs.cpp:313 msgid "Configuration updates" msgstr "Оновлення конфігурацій" -#: src/slic3r/GUI/UpdateDialogs.cpp:304 +#: src/slic3r/GUI/UpdateDialogs.cpp:313 msgid "No updates available" msgstr "Немає оновлень" -#: src/slic3r/GUI/UpdateDialogs.cpp:309 +#: src/slic3r/GUI/UpdateDialogs.cpp:318 #, c-format msgid "%s has no configuration updates available." msgstr "%s не має оновлень конфігурації." @@ -8214,44 +8278,44 @@ msgstr "Експортування моделі" msgid "Export of a temporary 3mf file failed" msgstr "Не вдалося експортувати тимчасовий 3MF-файл" -#: src/slic3r/Utils/FixModelByWin10.cpp:383 +#: src/slic3r/Utils/FixModelByWin10.cpp:384 msgid "Import of the repaired 3mf file failed" msgstr "Не вдалося імпортувати відновлений 3MF-файл" -#: src/slic3r/Utils/FixModelByWin10.cpp:385 +#: src/slic3r/Utils/FixModelByWin10.cpp:386 msgid "Repaired 3MF file does not contain any object" msgstr "Відновлений 3MF-файл не містить жодного об'єкта" -#: src/slic3r/Utils/FixModelByWin10.cpp:387 +#: src/slic3r/Utils/FixModelByWin10.cpp:388 msgid "Repaired 3MF file contains more than one object" msgstr "Відновлений 3MF-файл містить більше одного об'єкта" -#: src/slic3r/Utils/FixModelByWin10.cpp:389 +#: src/slic3r/Utils/FixModelByWin10.cpp:390 msgid "Repaired 3MF file does not contain any volume" msgstr "Відновлений 3MF-файл не містить жодної часті" -#: src/slic3r/Utils/FixModelByWin10.cpp:391 +#: src/slic3r/Utils/FixModelByWin10.cpp:392 msgid "Repaired 3MF file contains more than one volume" msgstr "Відновлений 3MF-файл містить більше однієї часті" -#: src/slic3r/Utils/FixModelByWin10.cpp:400 +#: src/slic3r/Utils/FixModelByWin10.cpp:401 msgid "Model repair finished" msgstr "Ремонт моделі завершено" -#: src/slic3r/Utils/FixModelByWin10.cpp:406 +#: src/slic3r/Utils/FixModelByWin10.cpp:407 msgid "Model repair canceled" msgstr "Ремонт моделі скасовано" -#: src/slic3r/Utils/FixModelByWin10.cpp:423 +#: src/slic3r/Utils/FixModelByWin10.cpp:424 msgid "Model repaired successfully" msgstr "Модель успішно відремонтована" -#: src/slic3r/Utils/FixModelByWin10.cpp:423 -#: src/slic3r/Utils/FixModelByWin10.cpp:426 +#: src/slic3r/Utils/FixModelByWin10.cpp:424 +#: src/slic3r/Utils/FixModelByWin10.cpp:427 msgid "Model Repair by the Netfabb service" msgstr "Ремонт моделі сервісом Netfabb" -#: src/slic3r/Utils/FixModelByWin10.cpp:426 +#: src/slic3r/Utils/FixModelByWin10.cpp:427 msgid "Model repair failed:" msgstr "Не вдалося відремонтувати модель:" @@ -8288,24 +8352,36 @@ msgid "Note: OctoPrint version at least 1.1.0 is required." msgstr "Зауважте: Необхідна версія OctoPrint - принаймні 1.1.0." #: src/slic3r/Utils/OctoPrint.cpp:185 -msgid "Connection to Prusa SL1 works correctly." -msgstr "Підключення до Prusa SL1 працює правильно." +msgid "Connection to Prusa SL1 / SL1S works correctly." +msgstr "Підключення до Prusa SL1 / SL1S працює правильно." #: src/slic3r/Utils/OctoPrint.cpp:191 msgid "Could not connect to Prusa SLA" msgstr "Не можливо підключитися до Prusa SLA" -#: src/slic3r/Utils/PresetUpdater.cpp:727 +#: src/slic3r/Utils/OctoPrint.cpp:229 +msgid "Connection to PrusaLink works correctly." +msgstr "Підключення до PrusaLink працює правильно." + +#: src/slic3r/Utils/OctoPrint.cpp:235 +msgid "Could not connect to PrusaLink" +msgstr "Не вдалося підключитися до PrusaLink" + +#: src/slic3r/Utils/PresetUpdater.cpp:65 +msgid "Copying of file %1% to %2% failed: %3%" +msgstr "Не вдалося скопіювати файл %1% до %2%: %3%" + +#: src/slic3r/Utils/PresetUpdater.cpp:744 #, c-format msgid "requires min. %s and max. %s" msgstr "вимагається мін. %s та макс. %s" -#: src/slic3r/Utils/PresetUpdater.cpp:731 +#: src/slic3r/Utils/PresetUpdater.cpp:748 #, c-format msgid "requires min. %s" msgstr "вимагається мін. %s" -#: src/slic3r/Utils/PresetUpdater.cpp:734 +#: src/slic3r/Utils/PresetUpdater.cpp:751 #, c-format msgid "requires max. %s" msgstr "вимагається макс. %s" @@ -8338,7 +8414,7 @@ msgstr "" "Curl init зазнав невдачі. PrusaSlicer не зможе встановити мережні " "підключення. Додаткові відомості див." -#: src/slic3r/Utils/Process.cpp:151 +#: src/slic3r/Utils/Process.cpp:157 msgid "Open G-code file:" msgstr "Відкрити файл G-кода:" @@ -8362,7 +8438,7 @@ msgstr "" "Зазвичай це спричинено мізерно малою екструзією або несправністю моделі. " "Спробуйте відремонтувати модель або змінити її орієнтацію на столі." -#: src/libslic3r/GCode.cpp:1261 +#: src/libslic3r/GCode.cpp:1274 msgid "" "Your print is very close to the priming regions. Make sure there is no " "collision." @@ -8380,13 +8456,13 @@ msgid "" msgstr "" "Не вдається розрахувати ширину екструзії для %1%: Змінна \"%2%\" недоступна." -#: src/libslic3r/Format/3mf.cpp:1668 +#: src/libslic3r/Format/3mf.cpp:1693 msgid "" "The selected 3mf file has been saved with a newer version of %1% and is not " "compatible." msgstr "Вибраний 3MF-файл було збережено з новою версією %1% і не сумісний." -#: src/libslic3r/Format/AMF.cpp:958 +#: src/libslic3r/Format/AMF.cpp:979 msgid "" "The selected amf file has been saved with a newer version of %1% and is not " "compatible." @@ -8516,7 +8592,7 @@ msgstr "не вдалося перевірити" msgid "write calledback failed" msgstr "помилка запису зворотного виклику" -#: src/libslic3r/Preset.cpp:1299 +#: src/libslic3r/Preset.cpp:1307 msgid "filament" msgstr "філамент" @@ -8857,11 +8933,11 @@ msgstr "Ескізи G-коду" #: src/libslic3r/PrintConfig.cpp:67 msgid "" -"Picture sizes to be stored into a .gcode and .sl1 files, in the following " -"format: \"XxY, XxY, ...\"" +"Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the " +"following format: \"XxY, XxY, ...\"" msgstr "" -"Розміри зображень, які слід зберігати у файлах .gcode та .sl1, у такому " -"форматі: \"XxY, XxY, ...\"" +"Розміри зображень, які зберігатимуться у файлах .gcode та .sl1 / .sl1s, у " +"такому форматі: \"XxY, XxY, ...\"" #: src/libslic3r/PrintConfig.cpp:75 msgid "" @@ -9012,7 +9088,7 @@ msgstr "" msgid "mm or % (zero to disable)" msgstr "мм або % (0, щоб вимкнути)" -#: src/libslic3r/PrintConfig.cpp:199 src/libslic3r/PrintConfig.cpp:2291 +#: src/libslic3r/PrintConfig.cpp:199 src/libslic3r/PrintConfig.cpp:2293 msgid "Other layers" msgstr "Інші шари" @@ -9094,7 +9170,7 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:252 src/libslic3r/PrintConfig.cpp:395 #: src/libslic3r/PrintConfig.cpp:940 src/libslic3r/PrintConfig.cpp:1079 #: src/libslic3r/PrintConfig.cpp:1360 src/libslic3r/PrintConfig.cpp:1409 -#: src/libslic3r/PrintConfig.cpp:1419 src/libslic3r/PrintConfig.cpp:1612 +#: src/libslic3r/PrintConfig.cpp:1419 src/libslic3r/PrintConfig.cpp:1614 msgid "mm/s²" msgstr "мм/с²" @@ -9113,10 +9189,10 @@ msgstr "" "Використовуйте 180° для нульового кута." #: src/libslic3r/PrintConfig.cpp:263 src/libslic3r/PrintConfig.cpp:852 -#: src/libslic3r/PrintConfig.cpp:1853 src/libslic3r/PrintConfig.cpp:1863 -#: src/libslic3r/PrintConfig.cpp:2121 src/libslic3r/PrintConfig.cpp:2276 -#: src/libslic3r/PrintConfig.cpp:2475 src/libslic3r/PrintConfig.cpp:2976 -#: src/libslic3r/PrintConfig.cpp:3097 +#: src/libslic3r/PrintConfig.cpp:1855 src/libslic3r/PrintConfig.cpp:1865 +#: src/libslic3r/PrintConfig.cpp:2123 src/libslic3r/PrintConfig.cpp:2278 +#: src/libslic3r/PrintConfig.cpp:2477 src/libslic3r/PrintConfig.cpp:2978 +#: src/libslic3r/PrintConfig.cpp:3099 msgid "°" msgstr "°" @@ -9130,9 +9206,9 @@ msgstr "Ця швидкість вентилятора виконується д #: src/libslic3r/PrintConfig.cpp:271 src/libslic3r/PrintConfig.cpp:864 #: src/libslic3r/PrintConfig.cpp:1248 src/libslic3r/PrintConfig.cpp:1427 -#: src/libslic3r/PrintConfig.cpp:1490 src/libslic3r/PrintConfig.cpp:1745 -#: src/libslic3r/PrintConfig.cpp:2653 src/libslic3r/PrintConfig.cpp:2890 -#: src/libslic3r/PrintConfig.cpp:3016 +#: src/libslic3r/PrintConfig.cpp:1490 src/libslic3r/PrintConfig.cpp:1747 +#: src/libslic3r/PrintConfig.cpp:2655 src/libslic3r/PrintConfig.cpp:2892 +#: src/libslic3r/PrintConfig.cpp:3018 msgid "%" msgstr "%" @@ -9168,9 +9244,9 @@ msgstr "Швидкість друку мостів." #: src/libslic3r/PrintConfig.cpp:1343 src/libslic3r/PrintConfig.cpp:1377 #: src/libslic3r/PrintConfig.cpp:1389 src/libslic3r/PrintConfig.cpp:1399 #: src/libslic3r/PrintConfig.cpp:1449 src/libslic3r/PrintConfig.cpp:1508 -#: src/libslic3r/PrintConfig.cpp:1642 src/libslic3r/PrintConfig.cpp:1820 -#: src/libslic3r/PrintConfig.cpp:1829 src/libslic3r/PrintConfig.cpp:2255 -#: src/libslic3r/PrintConfig.cpp:2382 +#: src/libslic3r/PrintConfig.cpp:1644 src/libslic3r/PrintConfig.cpp:1822 +#: src/libslic3r/PrintConfig.cpp:1831 src/libslic3r/PrintConfig.cpp:2257 +#: src/libslic3r/PrintConfig.cpp:2384 msgid "mm/s" msgstr "мм/с" @@ -9310,8 +9386,8 @@ msgstr "" msgid "Default print profile" msgstr "Профіль друку за замовчанням" -#: src/libslic3r/PrintConfig.cpp:409 src/libslic3r/PrintConfig.cpp:2820 -#: src/libslic3r/PrintConfig.cpp:2831 +#: src/libslic3r/PrintConfig.cpp:409 src/libslic3r/PrintConfig.cpp:2822 +#: src/libslic3r/PrintConfig.cpp:2833 msgid "" "Default print profile associated with the current printer profile. On " "selection of the current printer profile, this print profile will be " @@ -9401,7 +9477,7 @@ msgstr "" "не на сусідні суцільні оболонки." #: src/libslic3r/PrintConfig.cpp:483 src/libslic3r/PrintConfig.cpp:918 -#: src/libslic3r/PrintConfig.cpp:2236 +#: src/libslic3r/PrintConfig.cpp:2238 msgid "Rectilinear" msgstr "Прямолінійний" @@ -9461,9 +9537,9 @@ msgstr "" #: src/libslic3r/PrintConfig.cpp:511 src/libslic3r/PrintConfig.cpp:621 #: src/libslic3r/PrintConfig.cpp:962 src/libslic3r/PrintConfig.cpp:975 #: src/libslic3r/PrintConfig.cpp:1104 src/libslic3r/PrintConfig.cpp:1159 -#: src/libslic3r/PrintConfig.cpp:1185 src/libslic3r/PrintConfig.cpp:1632 -#: src/libslic3r/PrintConfig.cpp:1961 src/libslic3r/PrintConfig.cpp:2110 -#: src/libslic3r/PrintConfig.cpp:2178 src/libslic3r/PrintConfig.cpp:2339 +#: src/libslic3r/PrintConfig.cpp:1185 src/libslic3r/PrintConfig.cpp:1634 +#: src/libslic3r/PrintConfig.cpp:1963 src/libslic3r/PrintConfig.cpp:2112 +#: src/libslic3r/PrintConfig.cpp:2180 src/libslic3r/PrintConfig.cpp:2341 msgid "mm or %" msgstr "мм або %" @@ -9479,8 +9555,8 @@ msgstr "" "використання." #: src/libslic3r/PrintConfig.cpp:522 src/libslic3r/PrintConfig.cpp:984 -#: src/libslic3r/PrintConfig.cpp:1920 src/libslic3r/PrintConfig.cpp:1972 -#: src/libslic3r/PrintConfig.cpp:2222 src/libslic3r/PrintConfig.cpp:2352 +#: src/libslic3r/PrintConfig.cpp:1922 src/libslic3r/PrintConfig.cpp:1974 +#: src/libslic3r/PrintConfig.cpp:2224 src/libslic3r/PrintConfig.cpp:2354 msgid "mm/s or %" msgstr "мм/с або %" @@ -9501,6 +9577,7 @@ msgid "Extra perimeters if needed" msgstr "Додаткові периметри, якщо необхідно" #: src/libslic3r/PrintConfig.cpp:539 +#, fuzzy, c-format msgid "" "Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r " "keeps adding perimeters, until more than 70% of the loop immediately above " @@ -9642,7 +9719,7 @@ msgstr "" "активований, а його швидкість буде розрахована шляхом інтерполяції " "мінімальної та максимальної швидкості." -#: src/libslic3r/PrintConfig.cpp:637 src/libslic3r/PrintConfig.cpp:1908 +#: src/libslic3r/PrintConfig.cpp:637 src/libslic3r/PrintConfig.cpp:1910 msgid "approximate seconds" msgstr "приблизні секунди" @@ -9827,8 +9904,8 @@ msgstr "" "використовуйте суматор і виконайте декілька вимірювань вздовж філаменту, " "потім обчисліть середнє значення." -#: src/libslic3r/PrintConfig.cpp:779 src/libslic3r/PrintConfig.cpp:2731 -#: src/libslic3r/PrintConfig.cpp:2732 +#: src/libslic3r/PrintConfig.cpp:779 src/libslic3r/PrintConfig.cpp:2733 +#: src/libslic3r/PrintConfig.cpp:2734 msgid "Density" msgstr "Щільність" @@ -9896,7 +9973,7 @@ msgstr "" msgid "g" msgstr "г" -#: src/libslic3r/PrintConfig.cpp:843 src/libslic3r/PrintConfig.cpp:2815 +#: src/libslic3r/PrintConfig.cpp:843 src/libslic3r/PrintConfig.cpp:2817 msgid "(Unknown)" msgstr "(Невідомий)" @@ -9950,7 +10027,7 @@ msgstr "Кубічний" msgid "Line" msgstr "Лінії" -#: src/libslic3r/PrintConfig.cpp:926 src/libslic3r/PrintConfig.cpp:2238 +#: src/libslic3r/PrintConfig.cpp:926 src/libslic3r/PrintConfig.cpp:2240 msgid "Honeycomb" msgstr "Стільниковий" @@ -10563,6 +10640,7 @@ msgid "This setting represents the maximum speed of your fan." msgstr "Цей параметр відображає максимальну швидкість вашого вентилятора." #: src/libslic3r/PrintConfig.cpp:1435 +#, fuzzy, c-format msgid "" "This is the highest printable layer height for this extruder, used to cap " "the variable layer height and support layer height. Maximum recommended " @@ -10694,11 +10772,11 @@ msgstr "" "Slic3r може завантажувати файли G-коду на хост принтера. Це поле повинно " "містити тип хоста." -#: src/libslic3r/PrintConfig.cpp:1558 +#: src/libslic3r/PrintConfig.cpp:1560 msgid "Only retract when crossing perimeters" msgstr "Перервати тільки у разі перетину периметрів" -#: src/libslic3r/PrintConfig.cpp:1559 +#: src/libslic3r/PrintConfig.cpp:1561 msgid "" "Disables retraction when the travel path does not exceed the upper layer's " "perimeters (and thus any ooze will be probably invisible)." @@ -10706,7 +10784,7 @@ msgstr "" "Вимикає переривання, коли шлях не перевищує периметри верхніх шарів (і, " "таким чином, будь-який розрядник буде, мабуть, невидимим)." -#: src/libslic3r/PrintConfig.cpp:1566 +#: src/libslic3r/PrintConfig.cpp:1568 msgid "" "This option will drop the temperature of the inactive extruders to prevent " "oozing. It will enable a tall skirt automatically and move extruders outside " @@ -10716,11 +10794,11 @@ msgstr "" "протіканню. Це дозволить автоматично ввімкнути високий плінтус та " "перемістить екструдери за межі такого плінтуса у разі зміни температури." -#: src/libslic3r/PrintConfig.cpp:1573 +#: src/libslic3r/PrintConfig.cpp:1575 msgid "Output filename format" msgstr "Формат вихідного файлу" -#: src/libslic3r/PrintConfig.cpp:1574 +#: src/libslic3r/PrintConfig.cpp:1576 msgid "" "You can use all configuration options as variables inside this template. For " "example: [layer_height], [fill_density] etc. You can also use [timestamp], " @@ -10732,11 +10810,11 @@ msgstr "" "можете використовувати [timestamp], [year], [month], [day], [hour], " "[minute], [second], [version], [input_filename] ], [input_filename_base]." -#: src/libslic3r/PrintConfig.cpp:1583 +#: src/libslic3r/PrintConfig.cpp:1585 msgid "Detect bridging perimeters" msgstr "Виявлення висячих периметрів" -#: src/libslic3r/PrintConfig.cpp:1585 +#: src/libslic3r/PrintConfig.cpp:1587 msgid "" "Experimental option to adjust flow for overhangs (bridge flow will be used), " "to apply bridge speed to them and enable fan." @@ -10745,11 +10823,11 @@ msgstr "" "використано мостовий потік), щоб застосувати до них швидкість мосту та " "увімкнути вентилятор." -#: src/libslic3r/PrintConfig.cpp:1591 +#: src/libslic3r/PrintConfig.cpp:1593 msgid "Filament parking position" msgstr "Позиція паркування філаменту" -#: src/libslic3r/PrintConfig.cpp:1592 +#: src/libslic3r/PrintConfig.cpp:1594 msgid "" "Distance of the extruder tip from the position where the filament is parked " "when unloaded. This should match the value in printer firmware." @@ -10757,11 +10835,11 @@ msgstr "" "Відстань наконечника екструдера від місця паркування філаменту при " "виведенні. Це має відповідати значенню в мікропрограмі принтера." -#: src/libslic3r/PrintConfig.cpp:1600 +#: src/libslic3r/PrintConfig.cpp:1602 msgid "Extra loading distance" msgstr "Додаткова відстань заведення" -#: src/libslic3r/PrintConfig.cpp:1601 +#: src/libslic3r/PrintConfig.cpp:1603 msgid "" "When set to zero, the distance the filament is moved from parking position " "during load is exactly the same as it was moved back during unload. When " @@ -10773,12 +10851,12 @@ msgstr "" "назад під час виведення. Якщо позитивне, воно заводеться далі, якщо " "негативне, рух заведення коротший, ніж виведення." -#: src/libslic3r/PrintConfig.cpp:1609 src/libslic3r/PrintConfig.cpp:1626 -#: src/libslic3r/PrintConfig.cpp:1639 src/libslic3r/PrintConfig.cpp:1649 +#: src/libslic3r/PrintConfig.cpp:1611 src/libslic3r/PrintConfig.cpp:1628 +#: src/libslic3r/PrintConfig.cpp:1641 src/libslic3r/PrintConfig.cpp:1651 msgid "Perimeters" msgstr "Периметри" -#: src/libslic3r/PrintConfig.cpp:1610 +#: src/libslic3r/PrintConfig.cpp:1612 msgid "" "This is the acceleration your printer will use for perimeters. Set zero to " "disable acceleration control for perimeters." @@ -10786,18 +10864,18 @@ msgstr "" "Це прискорення, яке ваш принтер використовуватиме для периметрів. Встановити " "0, щоб відключити управління прискоренням для периметрів." -#: src/libslic3r/PrintConfig.cpp:1617 +#: src/libslic3r/PrintConfig.cpp:1619 msgid "Perimeter extruder" msgstr "Екструдер периметру" -#: src/libslic3r/PrintConfig.cpp:1619 +#: src/libslic3r/PrintConfig.cpp:1621 msgid "" "The extruder to use when printing perimeters and brim. First extruder is 1." msgstr "" "Екструдер, що використовується при друці периметрів і краю. Перший екструдер " "- 1." -#: src/libslic3r/PrintConfig.cpp:1628 +#: src/libslic3r/PrintConfig.cpp:1630 msgid "" "Set this to a non-zero value to set a manual extrusion width for perimeters. " "You may want to use thinner extrudates to get more accurate surfaces. If " @@ -10812,14 +10890,14 @@ msgstr "" "діаметр сопла. Якщо він виражений у відсотках (наприклад, 200%), він буде " "обчислюватися за висотою шару." -#: src/libslic3r/PrintConfig.cpp:1641 +#: src/libslic3r/PrintConfig.cpp:1643 msgid "" "Speed for perimeters (contours, aka vertical shells). Set to zero for auto." msgstr "" "Швидкість для периметрів (контури, вертикальні оболонки). Встановити 0 для " "автоматичного використання." -#: src/libslic3r/PrintConfig.cpp:1651 +#: src/libslic3r/PrintConfig.cpp:1653 msgid "" "This option sets the number of perimeters to generate for each layer. Note " "that Slic3r may increase this number automatically when it detects sloping " @@ -10831,11 +10909,11 @@ msgstr "" "які отримують вигоду від більшої кількості периметрів, якщо опція «Додаткові " "периметри» увімкнена." -#: src/libslic3r/PrintConfig.cpp:1655 +#: src/libslic3r/PrintConfig.cpp:1657 msgid "(minimum)" msgstr "(мінімум)" -#: src/libslic3r/PrintConfig.cpp:1663 +#: src/libslic3r/PrintConfig.cpp:1665 msgid "" "If you want to process the output G-code through custom scripts, just list " "their absolute paths here. Separate multiple scripts with a semicolon. " @@ -10849,35 +10927,35 @@ msgstr "" "аргумент, і вони можуть отримати доступ до параметрів конфігурації Slic3r, " "прочитавши змінні середовища." -#: src/libslic3r/PrintConfig.cpp:1675 +#: src/libslic3r/PrintConfig.cpp:1677 msgid "Printer type" msgstr "Тип принтеру" -#: src/libslic3r/PrintConfig.cpp:1676 +#: src/libslic3r/PrintConfig.cpp:1678 msgid "Type of the printer." msgstr "Тип принтеру." -#: src/libslic3r/PrintConfig.cpp:1681 +#: src/libslic3r/PrintConfig.cpp:1683 msgid "Printer notes" msgstr "Примітки принтера" -#: src/libslic3r/PrintConfig.cpp:1682 +#: src/libslic3r/PrintConfig.cpp:1684 msgid "You can put your notes regarding the printer here." msgstr "Тут ви можете помістити свої нотатки щодо принтера." -#: src/libslic3r/PrintConfig.cpp:1690 +#: src/libslic3r/PrintConfig.cpp:1692 msgid "Printer vendor" msgstr "Виробник принтера" -#: src/libslic3r/PrintConfig.cpp:1691 +#: src/libslic3r/PrintConfig.cpp:1693 msgid "Name of the printer vendor." msgstr "Назва виробника принтера." -#: src/libslic3r/PrintConfig.cpp:1696 +#: src/libslic3r/PrintConfig.cpp:1698 msgid "Printer variant" msgstr "Варіант принтера" -#: src/libslic3r/PrintConfig.cpp:1697 +#: src/libslic3r/PrintConfig.cpp:1699 msgid "" "Name of the printer variant. For example, the printer variants may be " "differentiated by a nozzle diameter." @@ -10885,11 +10963,11 @@ msgstr "" "Назва варіанту принтера. Наприклад, варіанти принтера можуть відрізнятися за " "діаметром сопла." -#: src/libslic3r/PrintConfig.cpp:1714 +#: src/libslic3r/PrintConfig.cpp:1716 msgid "Raft layers" msgstr "Плоскі шари" -#: src/libslic3r/PrintConfig.cpp:1716 +#: src/libslic3r/PrintConfig.cpp:1718 msgid "" "The object will be raised by this number of layers, and support material " "will be generated under it." @@ -10897,11 +10975,11 @@ msgstr "" "Об'єкт буде піднятий цією кількістю шарів, і під ним буде згенерований " "матеріал підтримки." -#: src/libslic3r/PrintConfig.cpp:1724 +#: src/libslic3r/PrintConfig.cpp:1726 msgid "Resolution" msgstr "Роздільна здатність" -#: src/libslic3r/PrintConfig.cpp:1725 +#: src/libslic3r/PrintConfig.cpp:1727 msgid "" "Minimum detail resolution, used to simplify the input file for speeding up " "the slicing job and reducing memory usage. High-resolution models often " @@ -10915,20 +10993,20 @@ msgstr "" "вимкнути будь-яке спрощення та використовувати повну роздільну здатність від " "введення." -#: src/libslic3r/PrintConfig.cpp:1735 +#: src/libslic3r/PrintConfig.cpp:1737 msgid "Minimum travel after retraction" msgstr "Мінімальне переміщення після переривання" -#: src/libslic3r/PrintConfig.cpp:1736 +#: src/libslic3r/PrintConfig.cpp:1738 msgid "" "Retraction is not triggered when travel moves are shorter than this length." msgstr "Переривання не спрацьовує, коли переміщення коротше за цю довжину." -#: src/libslic3r/PrintConfig.cpp:1742 +#: src/libslic3r/PrintConfig.cpp:1744 msgid "Retract amount before wipe" msgstr "Кількість переривань перед чищенням" -#: src/libslic3r/PrintConfig.cpp:1743 +#: src/libslic3r/PrintConfig.cpp:1745 msgid "" "With bowden extruders, it may be wise to do some amount of quick retract " "before doing the wipe movement." @@ -10936,25 +11014,25 @@ msgstr "" "Завдяки екструдерам з бандами, має зміст зробити певну кількість переривань " "перед рухами очищення." -#: src/libslic3r/PrintConfig.cpp:1750 +#: src/libslic3r/PrintConfig.cpp:1752 msgid "Retract on layer change" msgstr "Переривання на зміну шарів" -#: src/libslic3r/PrintConfig.cpp:1751 +#: src/libslic3r/PrintConfig.cpp:1753 msgid "This flag enforces a retraction whenever a Z move is done." msgstr "" "Цей прапор забезпечує переривання кожного разу, коли виконується переміщення " "Z." -#: src/libslic3r/PrintConfig.cpp:1756 src/libslic3r/PrintConfig.cpp:1764 +#: src/libslic3r/PrintConfig.cpp:1758 src/libslic3r/PrintConfig.cpp:1766 msgid "Length" msgstr "Довжина" -#: src/libslic3r/PrintConfig.cpp:1757 +#: src/libslic3r/PrintConfig.cpp:1759 msgid "Retraction Length" msgstr "Довжина переривання" -#: src/libslic3r/PrintConfig.cpp:1758 +#: src/libslic3r/PrintConfig.cpp:1760 msgid "" "When retraction is triggered, filament is pulled back by the specified " "amount (the length is measured on raw filament, before it enters the " @@ -10964,15 +11042,15 @@ msgstr "" "кількості (довжина вимірюється на сирого філаменту перед тим, як вона " "надходить у екструдер)." -#: src/libslic3r/PrintConfig.cpp:1760 src/libslic3r/PrintConfig.cpp:1769 +#: src/libslic3r/PrintConfig.cpp:1762 src/libslic3r/PrintConfig.cpp:1771 msgid "mm (zero to disable)" msgstr "мм (0, щоб вимкнути)" -#: src/libslic3r/PrintConfig.cpp:1765 +#: src/libslic3r/PrintConfig.cpp:1767 msgid "Retraction Length (Toolchange)" msgstr "Довжина переривання (зміна інструмента)" -#: src/libslic3r/PrintConfig.cpp:1766 +#: src/libslic3r/PrintConfig.cpp:1768 msgid "" "When retraction is triggered before changing tool, filament is pulled back " "by the specified amount (the length is measured on raw filament, before it " @@ -10982,11 +11060,11 @@ msgstr "" "назад до вказаної кількості (довжина вимірюється на сирого філаменту перед " "тим, як вона надходить у екструдер)." -#: src/libslic3r/PrintConfig.cpp:1774 +#: src/libslic3r/PrintConfig.cpp:1776 msgid "Lift Z" msgstr "Підняти Z" -#: src/libslic3r/PrintConfig.cpp:1775 +#: src/libslic3r/PrintConfig.cpp:1777 msgid "" "If you set this to a positive value, Z is quickly raised every time a " "retraction is triggered. When using multiple extruders, only the setting for " @@ -10996,15 +11074,15 @@ msgstr "" "коли спрацьовує переривання. При використанні декількох екструдерів буде " "розглянуто налаштування лише першого екструдера." -#: src/libslic3r/PrintConfig.cpp:1782 +#: src/libslic3r/PrintConfig.cpp:1784 msgid "Above Z" msgstr "Вище Z" -#: src/libslic3r/PrintConfig.cpp:1783 +#: src/libslic3r/PrintConfig.cpp:1785 msgid "Only lift Z above" msgstr "Тільки піднімати Z" -#: src/libslic3r/PrintConfig.cpp:1784 +#: src/libslic3r/PrintConfig.cpp:1786 msgid "" "If you set this to a positive value, Z lift will only take place above the " "specified absolute Z. You can tune this setting for skipping lift on the " @@ -11014,15 +11092,15 @@ msgstr "" "вказаним абсолютним Z. Ви можете налаштувати цей параметр так, що підняття " "буде пропускатися на перших шарах." -#: src/libslic3r/PrintConfig.cpp:1791 +#: src/libslic3r/PrintConfig.cpp:1793 msgid "Below Z" msgstr "Нижче Z" -#: src/libslic3r/PrintConfig.cpp:1792 +#: src/libslic3r/PrintConfig.cpp:1794 msgid "Only lift Z below" msgstr "Тільки опускати Z" -#: src/libslic3r/PrintConfig.cpp:1793 +#: src/libslic3r/PrintConfig.cpp:1795 msgid "" "If you set this to a positive value, Z lift will only take place below the " "specified absolute Z. You can tune this setting for limiting lift to the " @@ -11032,11 +11110,11 @@ msgstr "" "вказаного абсолютного Z. Ви можете налаштувати цей параметр так, що підняття " "буде обмежене на перших шарах." -#: src/libslic3r/PrintConfig.cpp:1801 src/libslic3r/PrintConfig.cpp:1809 +#: src/libslic3r/PrintConfig.cpp:1803 src/libslic3r/PrintConfig.cpp:1811 msgid "Extra length on restart" msgstr "Додаткова довжина при перезапуску" -#: src/libslic3r/PrintConfig.cpp:1802 +#: src/libslic3r/PrintConfig.cpp:1804 msgid "" "When the retraction is compensated after the travel move, the extruder will " "push this additional amount of filament. This setting is rarely needed." @@ -11044,7 +11122,7 @@ msgstr "" "Коли переривання компенсується після руху переміщення, екструдер буде " "проштовхувати цю додаткову кількість філамента. Цей параметр рідко потрібний." -#: src/libslic3r/PrintConfig.cpp:1810 +#: src/libslic3r/PrintConfig.cpp:1812 msgid "" "When the retraction is compensated after changing tool, the extruder will " "push this additional amount of filament." @@ -11052,19 +11130,19 @@ msgstr "" "Коли переривання компенсується після зміни інструмента, екструдер буде " "проштовхувати цю додаткову кількість філамента." -#: src/libslic3r/PrintConfig.cpp:1817 src/libslic3r/PrintConfig.cpp:1818 +#: src/libslic3r/PrintConfig.cpp:1819 src/libslic3r/PrintConfig.cpp:1820 msgid "Retraction Speed" msgstr "Швидкість переривання" -#: src/libslic3r/PrintConfig.cpp:1819 +#: src/libslic3r/PrintConfig.cpp:1821 msgid "The speed for retractions (it only applies to the extruder motor)." msgstr "Швидкість переривання (це стосується лише двигуна екструдера)." -#: src/libslic3r/PrintConfig.cpp:1825 src/libslic3r/PrintConfig.cpp:1826 +#: src/libslic3r/PrintConfig.cpp:1827 src/libslic3r/PrintConfig.cpp:1828 msgid "Deretraction Speed" msgstr "Швидкість після-переривання" -#: src/libslic3r/PrintConfig.cpp:1827 +#: src/libslic3r/PrintConfig.cpp:1829 msgid "" "The speed for loading of a filament into extruder after retraction (it only " "applies to the extruder motor). If left to zero, the retraction speed is " @@ -11074,55 +11152,55 @@ msgstr "" "лише двигуна екструдера ). Якщо залишити 0, використовується швидкість " "переривання ." -#: src/libslic3r/PrintConfig.cpp:1834 +#: src/libslic3r/PrintConfig.cpp:1836 msgid "Seam position" msgstr "Позиція шва" -#: src/libslic3r/PrintConfig.cpp:1836 +#: src/libslic3r/PrintConfig.cpp:1838 msgid "Position of perimeters starting points." msgstr "Позиція стартових точок периметра." -#: src/libslic3r/PrintConfig.cpp:1842 +#: src/libslic3r/PrintConfig.cpp:1844 msgid "Random" msgstr "Випадкова" -#: src/libslic3r/PrintConfig.cpp:1843 +#: src/libslic3r/PrintConfig.cpp:1845 msgid "Nearest" msgstr "Найближча" -#: src/libslic3r/PrintConfig.cpp:1844 +#: src/libslic3r/PrintConfig.cpp:1846 msgid "Aligned" msgstr "Вирівняно" -#: src/libslic3r/PrintConfig.cpp:1852 +#: src/libslic3r/PrintConfig.cpp:1854 msgid "Direction" msgstr "Напрямок" -#: src/libslic3r/PrintConfig.cpp:1854 +#: src/libslic3r/PrintConfig.cpp:1856 msgid "Preferred direction of the seam" msgstr "Бажаний напрямок шва" -#: src/libslic3r/PrintConfig.cpp:1855 +#: src/libslic3r/PrintConfig.cpp:1857 msgid "Seam preferred direction" msgstr "Бажаний напрямок шва" -#: src/libslic3r/PrintConfig.cpp:1862 +#: src/libslic3r/PrintConfig.cpp:1864 msgid "Jitter" msgstr "Джиттер" -#: src/libslic3r/PrintConfig.cpp:1864 +#: src/libslic3r/PrintConfig.cpp:1866 msgid "Seam preferred direction jitter" msgstr "Бажаний напрямок шва джитера" -#: src/libslic3r/PrintConfig.cpp:1865 +#: src/libslic3r/PrintConfig.cpp:1867 msgid "Preferred direction of the seam - jitter" msgstr "Бажаний напрямок шва - джитера" -#: src/libslic3r/PrintConfig.cpp:1872 +#: src/libslic3r/PrintConfig.cpp:1874 msgid "Distance from object" msgstr "Відстань від об'єкту" -#: src/libslic3r/PrintConfig.cpp:1873 +#: src/libslic3r/PrintConfig.cpp:1875 msgid "" "Distance between skirt and object(s). Set this to zero to attach the skirt " "to the object(s) and get a brim for better adhesion." @@ -11130,11 +11208,11 @@ msgstr "" "Відстань між плінтусом та об'єктом (-ами). Установіть 0, щоб прикріпити " "плінтус до об'єкта (-ів) і отримати край для кращої адгезії." -#: src/libslic3r/PrintConfig.cpp:1880 +#: src/libslic3r/PrintConfig.cpp:1882 msgid "Skirt height" msgstr "Висота плінтусу" -#: src/libslic3r/PrintConfig.cpp:1881 +#: src/libslic3r/PrintConfig.cpp:1883 msgid "" "Height of skirt expressed in layers. Set this to a tall value to use skirt " "as a shield against drafts." @@ -11142,11 +11220,11 @@ msgstr "" "Висота плінтусу виражена в шарах. Встановіть це значення на високе, щоб " "використовувати плінтус як щит проти протягів." -#: src/libslic3r/PrintConfig.cpp:1888 +#: src/libslic3r/PrintConfig.cpp:1890 msgid "Draft shield" msgstr "Чорновий щит" -#: src/libslic3r/PrintConfig.cpp:1889 +#: src/libslic3r/PrintConfig.cpp:1891 msgid "" "If enabled, the skirt will be as tall as a highest printed object. This is " "useful to protect an ABS or ASA print from warping and detaching from print " @@ -11156,15 +11234,15 @@ msgstr "" "предмет. Це корисно, щоб захистити друк ABS або ASA від деформації та " "від'єднання від друкарського столу через протяг." -#: src/libslic3r/PrintConfig.cpp:1895 +#: src/libslic3r/PrintConfig.cpp:1897 msgid "Loops (minimum)" msgstr "Петлі (мінімум)" -#: src/libslic3r/PrintConfig.cpp:1896 +#: src/libslic3r/PrintConfig.cpp:1898 msgid "Skirt Loops" msgstr "Петлі плінтусу" -#: src/libslic3r/PrintConfig.cpp:1897 +#: src/libslic3r/PrintConfig.cpp:1899 msgid "" "Number of loops for the skirt. If the Minimum Extrusion Length option is " "set, the number of loops might be greater than the one configured here. Set " @@ -11174,11 +11252,11 @@ msgstr "" "довжина екструзії\", кількість петель може бути більшою, ніж налаштована " "тут. Установіть 0, щоб повністю вимкнути плінтус." -#: src/libslic3r/PrintConfig.cpp:1905 +#: src/libslic3r/PrintConfig.cpp:1907 msgid "Slow down if layer print time is below" msgstr "Уповільнення, якщо час друку шару нижче" -#: src/libslic3r/PrintConfig.cpp:1906 +#: src/libslic3r/PrintConfig.cpp:1908 msgid "" "If layer print time is estimated below this number of seconds, print moves " "speed will be scaled down to extend duration to this value." @@ -11186,11 +11264,11 @@ msgstr "" "Якщо час друку шару оцінюється нижче цієї кількості секунд, швидкість друку " "рухів зменшуватиметься, щоб збільшити тривалість до цього значення." -#: src/libslic3r/PrintConfig.cpp:1915 +#: src/libslic3r/PrintConfig.cpp:1917 msgid "Small perimeters" msgstr "Маленькі периметри" -#: src/libslic3r/PrintConfig.cpp:1917 +#: src/libslic3r/PrintConfig.cpp:1919 msgid "" "This separate setting will affect the speed of perimeters having radius <= " "6.5mm (usually holes). If expressed as percentage (for example: 80%) it will " @@ -11201,11 +11279,11 @@ msgstr "" "вона буде розрахована за наведеним вище параметром швидкості. Встановити 0 " "для автоматичного використання." -#: src/libslic3r/PrintConfig.cpp:1927 +#: src/libslic3r/PrintConfig.cpp:1929 msgid "Solid infill threshold area" msgstr "Порогова площа суцільного наповнення" -#: src/libslic3r/PrintConfig.cpp:1929 +#: src/libslic3r/PrintConfig.cpp:1931 msgid "" "Force solid infill for regions having a smaller area than the specified " "threshold." @@ -11213,23 +11291,23 @@ msgstr "" "Встановити суцільне заповнення для регіонів, що мають площу, меншу " "зазначеного порогу." -#: src/libslic3r/PrintConfig.cpp:1930 +#: src/libslic3r/PrintConfig.cpp:1932 msgid "mm²" msgstr "мм²" -#: src/libslic3r/PrintConfig.cpp:1936 +#: src/libslic3r/PrintConfig.cpp:1938 msgid "Solid infill extruder" msgstr "Екструдер суцільних наповнень" -#: src/libslic3r/PrintConfig.cpp:1938 +#: src/libslic3r/PrintConfig.cpp:1940 msgid "The extruder to use when printing solid infill." msgstr "Екструдер для друку суцільних наповнень." -#: src/libslic3r/PrintConfig.cpp:1944 +#: src/libslic3r/PrintConfig.cpp:1946 msgid "Solid infill every" msgstr "Суцільне наповнення кожні" -#: src/libslic3r/PrintConfig.cpp:1946 +#: src/libslic3r/PrintConfig.cpp:1948 msgid "" "This feature allows to force a solid layer every given number of layers. " "Zero to disable. You can set this to any value (for example 9999); Slic3r " @@ -11241,7 +11319,7 @@ msgstr "" "Slic3r автоматично вибере максимально можливу кількість шарів для " "комбінування відповідно до діаметра сопла та висоти шару." -#: src/libslic3r/PrintConfig.cpp:1958 +#: src/libslic3r/PrintConfig.cpp:1960 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "solid surfaces. If left zero, default extrusion width will be used if set, " @@ -11254,7 +11332,7 @@ msgstr "" "діаметр сопла. Якщо він виражений у відсотках (наприклад, 90%), він буде " "обчислюватися за висотою шару." -#: src/libslic3r/PrintConfig.cpp:1969 +#: src/libslic3r/PrintConfig.cpp:1971 msgid "" "Speed for printing solid regions (top/bottom/internal horizontal shells). " "This can be expressed as a percentage (for example: 80%) over the default " @@ -11265,20 +11343,20 @@ msgstr "" "швидкості заповнення за замовчуванням. Встановити 0 для автоматичного " "використання." -#: src/libslic3r/PrintConfig.cpp:1981 +#: src/libslic3r/PrintConfig.cpp:1983 msgid "Number of solid layers to generate on top and bottom surfaces." msgstr "" "Кількість суцільних шарів для генерування на верхній і нижній поверхні." -#: src/libslic3r/PrintConfig.cpp:1987 src/libslic3r/PrintConfig.cpp:1988 +#: src/libslic3r/PrintConfig.cpp:1989 src/libslic3r/PrintConfig.cpp:1990 msgid "Minimum thickness of a top / bottom shell" msgstr "Мінімальна товщина верхньої / нижньої оболонки" -#: src/libslic3r/PrintConfig.cpp:1994 +#: src/libslic3r/PrintConfig.cpp:1996 msgid "Spiral vase" msgstr "Спіральна ваза" -#: src/libslic3r/PrintConfig.cpp:1995 +#: src/libslic3r/PrintConfig.cpp:1997 msgid "" "This feature will raise Z gradually while printing a single-walled object in " "order to remove any visible seam. This option requires a single perimeter, " @@ -11293,11 +11371,11 @@ msgstr "" "яку кількість нижніх твердих шарів, а також спідниці краю. Це не спрацює при " "друку більше, ніж одного об'єкта." -#: src/libslic3r/PrintConfig.cpp:2003 +#: src/libslic3r/PrintConfig.cpp:2005 msgid "Temperature variation" msgstr "Варіація температури" -#: src/libslic3r/PrintConfig.cpp:2004 +#: src/libslic3r/PrintConfig.cpp:2006 msgid "" "Temperature difference to be applied when an extruder is not active. Enables " "a full-height \"sacrificial\" skirt on which the nozzles are periodically " @@ -11306,7 +11384,7 @@ msgstr "" "Відмітка температури, яка застосовується, коли екструдер не активний. Вмикає " "\"жертовний\" плінтус на повній висоті, на які періодично очищуються сопла." -#: src/libslic3r/PrintConfig.cpp:2014 +#: src/libslic3r/PrintConfig.cpp:2016 msgid "" "This start procedure is inserted at the beginning, after bed has reached the " "target temperature and extruder just started heating, and before extruder " @@ -11325,7 +11403,7 @@ msgstr "" "параметрів Slic3r, щоб ви могли поставити команду \"M109 S " "[first_layer_temperature]\" де завгодно." -#: src/libslic3r/PrintConfig.cpp:2029 +#: src/libslic3r/PrintConfig.cpp:2031 msgid "" "This start procedure is inserted at the beginning, after any printer start " "gcode (and after any toolchange to this filament in case of multi-material " @@ -11348,35 +11426,35 @@ msgstr "" "[first_layer_temperature]\" де завгодно. Якщо у вас кілька екструдерів, G-" "код обробляється в порядку екструдера." -#: src/libslic3r/PrintConfig.cpp:2045 +#: src/libslic3r/PrintConfig.cpp:2047 msgid "Color change G-code" msgstr "G-код зміни кольору" -#: src/libslic3r/PrintConfig.cpp:2046 +#: src/libslic3r/PrintConfig.cpp:2048 msgid "This G-code will be used as a code for the color change" msgstr "Цей G-код буде використовуватися як код для зміни кольору" -#: src/libslic3r/PrintConfig.cpp:2055 +#: src/libslic3r/PrintConfig.cpp:2057 msgid "This G-code will be used as a code for the pause print" msgstr "Цей G-код буде використовуватися як код для паузи друку" -#: src/libslic3r/PrintConfig.cpp:2064 +#: src/libslic3r/PrintConfig.cpp:2066 msgid "This G-code will be used as a custom code" msgstr "Цей G-код буде використовуватися як власний код" -#: src/libslic3r/PrintConfig.cpp:2072 +#: src/libslic3r/PrintConfig.cpp:2074 msgid "Single Extruder Multi Material" msgstr "Мульти-матеріальний (ММ) друк з одним екструдером" -#: src/libslic3r/PrintConfig.cpp:2073 +#: src/libslic3r/PrintConfig.cpp:2075 msgid "The printer multiplexes filaments into a single hot end." msgstr "Принтер змішує філаменту в єдиний гарячий кінець." -#: src/libslic3r/PrintConfig.cpp:2078 +#: src/libslic3r/PrintConfig.cpp:2080 msgid "Prime all printing extruders" msgstr "Підготовка всіх друкуючих екструдерів" -#: src/libslic3r/PrintConfig.cpp:2079 +#: src/libslic3r/PrintConfig.cpp:2081 msgid "" "If enabled, all printing extruders will be primed at the front edge of the " "print bed at the start of the print." @@ -11384,11 +11462,11 @@ msgstr "" "Якщо увімкнено, усі друкуючі екструдери будуть отестовані на передньому краї " "друкарського столу перед початком друку." -#: src/libslic3r/PrintConfig.cpp:2084 +#: src/libslic3r/PrintConfig.cpp:2086 msgid "No sparse layers (EXPERIMENTAL)" msgstr "Немає розріджених шарів (ЕКСПЕРИМЕНТАЛЬНИЙ)" -#: src/libslic3r/PrintConfig.cpp:2085 +#: src/libslic3r/PrintConfig.cpp:2087 msgid "" "If enabled, the wipe tower will not be printed on layers with no " "toolchanges. On layers with a toolchange, extruder will travel downward to " @@ -11400,19 +11478,19 @@ msgstr "" "вежу витирання. Користувач несе відповідальність за те, щоб не було " "зіткнення з друком." -#: src/libslic3r/PrintConfig.cpp:2092 +#: src/libslic3r/PrintConfig.cpp:2094 msgid "Generate support material" msgstr "Створити підтримуючий матеріал" -#: src/libslic3r/PrintConfig.cpp:2094 +#: src/libslic3r/PrintConfig.cpp:2096 msgid "Enable support material generation." msgstr "Увімкнути генерацію матеріалів підтримки." -#: src/libslic3r/PrintConfig.cpp:2098 +#: src/libslic3r/PrintConfig.cpp:2100 msgid "Auto generated supports" msgstr "Автоматично згенеровані підтримки" -#: src/libslic3r/PrintConfig.cpp:2100 +#: src/libslic3r/PrintConfig.cpp:2102 msgid "" "If checked, supports will be generated automatically based on the overhang " "threshold value. If unchecked, supports will be generated inside the " @@ -11422,11 +11500,11 @@ msgstr "" "значення звису. Якщо вимкнено, підтримка буде генеруватися лише для " "\"Примусових підтримок\"." -#: src/libslic3r/PrintConfig.cpp:2106 +#: src/libslic3r/PrintConfig.cpp:2108 msgid "XY separation between an object and its support" msgstr "Розподіл XY між об'єктом та його підтримкою" -#: src/libslic3r/PrintConfig.cpp:2108 +#: src/libslic3r/PrintConfig.cpp:2110 msgid "" "XY separation between an object and its support. If expressed as percentage " "(for example 50%), it will be calculated over external perimeter width." @@ -11434,11 +11512,11 @@ msgstr "" "Розподіл XY між об'єктом та його підтримкою. Якщо вона виражена у відсотках " "(наприклад, 50%), вона буде розрахована за зовнішньою шириною периметру." -#: src/libslic3r/PrintConfig.cpp:2118 +#: src/libslic3r/PrintConfig.cpp:2120 msgid "Pattern angle" msgstr "Кут шаблону" -#: src/libslic3r/PrintConfig.cpp:2120 +#: src/libslic3r/PrintConfig.cpp:2122 msgid "" "Use this setting to rotate the support material pattern on the horizontal " "plane." @@ -11446,7 +11524,7 @@ msgstr "" "Використовуйте цей параметр, щоб повернути шаблон підтримуючого матеріалу на " "горизонтальній площині." -#: src/libslic3r/PrintConfig.cpp:2130 src/libslic3r/PrintConfig.cpp:2925 +#: src/libslic3r/PrintConfig.cpp:2132 src/libslic3r/PrintConfig.cpp:2927 msgid "" "Only create support if it lies on a build plate. Don't create support on a " "print." @@ -11454,11 +11532,11 @@ msgstr "" "Створити підтримку лише, для того, що лежить на збірній пластині. Не " "створювати підтримку на друк." -#: src/libslic3r/PrintConfig.cpp:2136 +#: src/libslic3r/PrintConfig.cpp:2138 msgid "Contact Z distance" msgstr "Контактна відстань по осі Z" -#: src/libslic3r/PrintConfig.cpp:2138 +#: src/libslic3r/PrintConfig.cpp:2140 msgid "" "The vertical distance between object and support material interface. Setting " "this to 0 will also prevent Slic3r from using bridge flow and speed for the " @@ -11468,19 +11546,19 @@ msgstr "" "Встановлення значення 0 також захистить Slic3r від використання потоку " "мостів та швидкості для першого шару об'єктну." -#: src/libslic3r/PrintConfig.cpp:2145 +#: src/libslic3r/PrintConfig.cpp:2147 msgid "0 (soluble)" msgstr "0 (розчинний)" -#: src/libslic3r/PrintConfig.cpp:2146 +#: src/libslic3r/PrintConfig.cpp:2148 msgid "0.2 (detachable)" msgstr "0,2 (відривний)" -#: src/libslic3r/PrintConfig.cpp:2151 +#: src/libslic3r/PrintConfig.cpp:2153 msgid "Enforce support for the first" msgstr "Забезпечити підтримку першого(их)" -#: src/libslic3r/PrintConfig.cpp:2153 +#: src/libslic3r/PrintConfig.cpp:2155 msgid "" "Generate support material for the specified number of layers counting from " "bottom, regardless of whether normal support material is enabled or not and " @@ -11493,15 +11571,15 @@ msgstr "" "більшої адгезії об'єктів, що мають дуже тонкий або поганий слід на збірній " "пластині." -#: src/libslic3r/PrintConfig.cpp:2158 +#: src/libslic3r/PrintConfig.cpp:2160 msgid "Enforce support for the first n layers" msgstr "Забезпечити підтримку перших n шарів" -#: src/libslic3r/PrintConfig.cpp:2164 +#: src/libslic3r/PrintConfig.cpp:2166 msgid "Support material/raft/skirt extruder" msgstr "Підтримуючий матеріал / пліт / плінтус екструдеру" -#: src/libslic3r/PrintConfig.cpp:2166 +#: src/libslic3r/PrintConfig.cpp:2168 msgid "" "The extruder to use when printing support material, raft and skirt (1+, 0 to " "use the current extruder to minimize tool changes)." @@ -11509,7 +11587,7 @@ msgstr "" "Екструдер для друку підтримуючого матеріалу, плоту та плінтусу (1+, 0 для " "використання поточного екструдера, щоб мінімізувати зміни інструменту)." -#: src/libslic3r/PrintConfig.cpp:2175 +#: src/libslic3r/PrintConfig.cpp:2177 msgid "" "Set this to a non-zero value to set a manual extrusion width for support " "material. If left zero, default extrusion width will be used if set, " @@ -11522,21 +11600,21 @@ msgstr "" "Якщо він виражений у відсотках (наприклад, 90%), він буде обчислюватися за " "висотою шару." -#: src/libslic3r/PrintConfig.cpp:2184 +#: src/libslic3r/PrintConfig.cpp:2186 msgid "Interface loops" msgstr "Інтерфейсні петлі" -#: src/libslic3r/PrintConfig.cpp:2186 +#: src/libslic3r/PrintConfig.cpp:2188 msgid "" "Cover the top contact layer of the supports with loops. Disabled by default." msgstr "" "Закрити петлями верхній контактний шар підтримки. За замовчанням вимкнено." -#: src/libslic3r/PrintConfig.cpp:2191 +#: src/libslic3r/PrintConfig.cpp:2193 msgid "Support material/raft interface extruder" msgstr "Екструдер інтерфейсу підтримуючого матеріалу / плоту" -#: src/libslic3r/PrintConfig.cpp:2193 +#: src/libslic3r/PrintConfig.cpp:2195 msgid "" "The extruder to use when printing support material interface (1+, 0 to use " "the current extruder to minimize tool changes). This affects raft too." @@ -11545,11 +11623,11 @@ msgstr "" "(1+, 0 для використання поточного екструдера, щоб звести до мінімуму зміни " "інструменту). Це також впливає на плот." -#: src/libslic3r/PrintConfig.cpp:2200 +#: src/libslic3r/PrintConfig.cpp:2202 msgid "Interface layers" msgstr "Інтерфейсні шари" -#: src/libslic3r/PrintConfig.cpp:2202 +#: src/libslic3r/PrintConfig.cpp:2204 msgid "" "Number of interface layers to insert between the object(s) and support " "material." @@ -11557,17 +11635,17 @@ msgstr "" "Кількість шарів інтерфейсу для вставки між об'єктом(ами) та підтримуючим " "матеріалом." -#: src/libslic3r/PrintConfig.cpp:2209 +#: src/libslic3r/PrintConfig.cpp:2211 msgid "Interface pattern spacing" msgstr "Відстань між шаблонами інтерфейсу" -#: src/libslic3r/PrintConfig.cpp:2211 +#: src/libslic3r/PrintConfig.cpp:2213 msgid "Spacing between interface lines. Set zero to get a solid interface." msgstr "" "Відстань між інтерфейсними лініями. Встановити 0, щоб отримати надійний " "інтерфейс." -#: src/libslic3r/PrintConfig.cpp:2220 +#: src/libslic3r/PrintConfig.cpp:2222 msgid "" "Speed for printing support material interface layers. If expressed as " "percentage (for example 50%) it will be calculated over support material " @@ -11577,35 +11655,35 @@ msgstr "" "виражена у відсотках (наприклад, 50%), вона буде розрахована за швидкістю " "матеріалу підтримки." -#: src/libslic3r/PrintConfig.cpp:2229 +#: src/libslic3r/PrintConfig.cpp:2231 msgid "Pattern" msgstr "Шаблон" -#: src/libslic3r/PrintConfig.cpp:2231 +#: src/libslic3r/PrintConfig.cpp:2233 msgid "Pattern used to generate support material." msgstr "Шаблон, що використовується для створення матеріалу підтримки." -#: src/libslic3r/PrintConfig.cpp:2237 +#: src/libslic3r/PrintConfig.cpp:2239 msgid "Rectilinear grid" msgstr "Прямолінійна сітка" -#: src/libslic3r/PrintConfig.cpp:2243 +#: src/libslic3r/PrintConfig.cpp:2245 msgid "Pattern spacing" msgstr "Відстань між шаблонами" -#: src/libslic3r/PrintConfig.cpp:2245 +#: src/libslic3r/PrintConfig.cpp:2247 msgid "Spacing between support material lines." msgstr "Відстань між лініями підтримуючого матеріалу." -#: src/libslic3r/PrintConfig.cpp:2254 +#: src/libslic3r/PrintConfig.cpp:2256 msgid "Speed for printing support material." msgstr "Швидкість друку підтримуючого матеріалу." -#: src/libslic3r/PrintConfig.cpp:2261 +#: src/libslic3r/PrintConfig.cpp:2263 msgid "Synchronize with object layers" msgstr "Синхронізувати з шарами об'єкту" -#: src/libslic3r/PrintConfig.cpp:2263 +#: src/libslic3r/PrintConfig.cpp:2265 msgid "" "Synchronize support layers with the object print layers. This is useful with " "multi-material printers, where the extruder switch is expensive." @@ -11614,11 +11692,11 @@ msgstr "" "використовувати з багато-матеріальними принтерами, де перемикання " "екструдерів -затратна процедура." -#: src/libslic3r/PrintConfig.cpp:2269 +#: src/libslic3r/PrintConfig.cpp:2271 msgid "Overhang threshold" msgstr "Порог нависання" -#: src/libslic3r/PrintConfig.cpp:2271 +#: src/libslic3r/PrintConfig.cpp:2273 msgid "" "Support material will not be generated for overhangs whose slope angle (90° " "= vertical) is above the given threshold. In other words, this value " @@ -11632,11 +11710,11 @@ msgstr "" "площини), який ви можете надрукувати без підтримуючого матеріалу. Встановити " "0 для автоматичного визначення (рекомендовано)." -#: src/libslic3r/PrintConfig.cpp:2283 +#: src/libslic3r/PrintConfig.cpp:2285 msgid "With sheath around the support" msgstr "З оболонкою навколо підтримки" -#: src/libslic3r/PrintConfig.cpp:2285 +#: src/libslic3r/PrintConfig.cpp:2287 msgid "" "Add a sheath (a single perimeter line) around the base support. This makes " "the support more reliable, but also more difficult to remove." @@ -11644,7 +11722,7 @@ msgstr "" "Додати оболонку (одну лінію периметра) навколо базової підтримки. Це робить " "підтримку більш надійною, але її важче видалити." -#: src/libslic3r/PrintConfig.cpp:2292 +#: src/libslic3r/PrintConfig.cpp:2294 msgid "" "Nozzle temperature for layers after the first one. Set this to zero to " "disable temperature control commands in the output G-code." @@ -11652,15 +11730,15 @@ msgstr "" "Температура сопла для шарів після першого. Встановіть значення нуля, щоб " "вимкнути команди регулювання температури у вихідному G-коді." -#: src/libslic3r/PrintConfig.cpp:2295 +#: src/libslic3r/PrintConfig.cpp:2297 msgid "Nozzle temperature" msgstr "Температура сопла" -#: src/libslic3r/PrintConfig.cpp:2301 +#: src/libslic3r/PrintConfig.cpp:2303 msgid "Detect thin walls" msgstr "Виявлення тонких стінок" -#: src/libslic3r/PrintConfig.cpp:2303 +#: src/libslic3r/PrintConfig.cpp:2305 msgid "" "Detect single-width walls (parts where two extrusions don't fit and we need " "to collapse them into a single trace)." @@ -11668,11 +11746,11 @@ msgstr "" "Визначення одношарової стінки (частини, де два екструзії не підходять, і нам " "потрібно згорнути їх у єдиний слід)." -#: src/libslic3r/PrintConfig.cpp:2309 +#: src/libslic3r/PrintConfig.cpp:2311 msgid "Threads" msgstr "Нитки" -#: src/libslic3r/PrintConfig.cpp:2310 +#: src/libslic3r/PrintConfig.cpp:2312 msgid "" "Threads are used to parallelize long-running tasks. Optimal threads number " "is slightly above the number of available cores/processors." @@ -11680,7 +11758,7 @@ msgstr "" "Нитки використовуються для паралелізації довготривалих завдань. Оптимальна " "кількість ниток трохи перевищує кількість доступних ядер / процесорів." -#: src/libslic3r/PrintConfig.cpp:2322 +#: src/libslic3r/PrintConfig.cpp:2324 msgid "" "This custom code is inserted before every toolchange. Placeholder variables " "for all PrusaSlicer settings as well as {previous_extruder} and " @@ -11696,7 +11774,7 @@ msgstr "" "T{next_extruder}), PrusaSlicer не видасть жодної такої команди. Отже, можна " "створювати сценарії до поведінки як до, так і після заміни інструменту." -#: src/libslic3r/PrintConfig.cpp:2335 +#: src/libslic3r/PrintConfig.cpp:2337 msgid "" "Set this to a non-zero value to set a manual extrusion width for infill for " "top surfaces. You may want to use thinner extrudates to fill all narrow " @@ -11712,7 +11790,7 @@ msgstr "" "виражена у відсотках (наприклад, 90%), вона буде обчислюватися за висотою " "шару." -#: src/libslic3r/PrintConfig.cpp:2347 +#: src/libslic3r/PrintConfig.cpp:2349 msgid "" "Speed for printing top solid layers (it only applies to the uppermost " "external layers and not to their internal solid layers). You may want to " @@ -11726,15 +11804,15 @@ msgstr "" "відсотком (наприклад, 80%) звищення швидкості щільного наповнення . " "Встановити 0 для автоматичного обчислення." -#: src/libslic3r/PrintConfig.cpp:2362 +#: src/libslic3r/PrintConfig.cpp:2364 msgid "Number of solid layers to generate on top surfaces." msgstr "Кількість суцільних шарів, генерованих на верхніх поверхнях." -#: src/libslic3r/PrintConfig.cpp:2363 +#: src/libslic3r/PrintConfig.cpp:2365 msgid "Top solid layers" msgstr "Верхні суцільні шари" -#: src/libslic3r/PrintConfig.cpp:2371 +#: src/libslic3r/PrintConfig.cpp:2373 msgid "" "The number of top solid layers is increased above top_solid_layers if " "necessary to satisfy minimum thickness of top shell. This is useful to " @@ -11744,19 +11822,19 @@ msgstr "" "необхідно для задоволення мінімальної товщини верхньої оболонки. Це корисно " "для запобігання ефекту подушки під час друку зі змінною висотою шару." -#: src/libslic3r/PrintConfig.cpp:2374 +#: src/libslic3r/PrintConfig.cpp:2376 msgid "Minimum top shell thickness" msgstr "Мінімальна товщина верхньої оболонки" -#: src/libslic3r/PrintConfig.cpp:2381 +#: src/libslic3r/PrintConfig.cpp:2383 msgid "Speed for travel moves (jumps between distant extrusion points)." msgstr "Швидкість рухів пересування (стрибки між далекими точками екструзії)." -#: src/libslic3r/PrintConfig.cpp:2389 +#: src/libslic3r/PrintConfig.cpp:2391 msgid "Use firmware retraction" msgstr "Використовувати відмову прошивки" -#: src/libslic3r/PrintConfig.cpp:2390 +#: src/libslic3r/PrintConfig.cpp:2392 msgid "" "This experimental setting uses G10 and G11 commands to have the firmware " "handle the retraction. This is only supported in recent Marlin." @@ -11764,11 +11842,11 @@ msgstr "" "Цей експериментальний параметр використовує команди G10 і G11 для обробки " "відмови прошивки. Останнім часом це підтримується лише Marlin-ом." -#: src/libslic3r/PrintConfig.cpp:2396 +#: src/libslic3r/PrintConfig.cpp:2398 msgid "Use relative E distances" msgstr "Використовувати відносні E відстані" -#: src/libslic3r/PrintConfig.cpp:2397 +#: src/libslic3r/PrintConfig.cpp:2399 msgid "" "If your firmware requires relative E values, check this, otherwise leave it " "unchecked. Most firmwares use absolute values." @@ -11776,11 +11854,11 @@ msgstr "" "Якщо ваша прошивка потребує відносне значення E, зазначте це, інакше залиште " "його незазначеним. Більшість прошивок використовують абсолютні значення." -#: src/libslic3r/PrintConfig.cpp:2403 +#: src/libslic3r/PrintConfig.cpp:2405 msgid "Use volumetric E" msgstr "Використовувати об'ємний Е" -#: src/libslic3r/PrintConfig.cpp:2404 +#: src/libslic3r/PrintConfig.cpp:2406 msgid "" "This experimental setting uses outputs the E values in cubic millimeters " "instead of linear millimeters. If your firmware doesn't already know " @@ -11796,11 +11874,11 @@ msgstr "" "режим і використовувати діаметр філаменту, пов'язаний з вибраним філаментем " "у Slic3r. Останнім часом це підтримується лише Marlin-ом." -#: src/libslic3r/PrintConfig.cpp:2414 +#: src/libslic3r/PrintConfig.cpp:2416 msgid "Enable variable layer height feature" msgstr "Увімкнути функцію шарів змінної висоти" -#: src/libslic3r/PrintConfig.cpp:2415 +#: src/libslic3r/PrintConfig.cpp:2417 msgid "" "Some printers or printer setups may have difficulties printing with a " "variable layer height. Enabled by default." @@ -11808,11 +11886,11 @@ msgstr "" "Деякі принтери або налаштування принтера можуть мати труднощі з друкуванням " "шарів змінної висоти. Увімкнено за умовчанням." -#: src/libslic3r/PrintConfig.cpp:2421 +#: src/libslic3r/PrintConfig.cpp:2423 msgid "Wipe while retracting" msgstr "Витирання протягом ретракту" -#: src/libslic3r/PrintConfig.cpp:2422 +#: src/libslic3r/PrintConfig.cpp:2424 msgid "" "This flag will move the nozzle while retracting to minimize the possible " "blob on leaky extruders." @@ -11820,7 +11898,7 @@ msgstr "" "Цей прапорець перемістить сопло під час відмови, щоб мінімізувати можливість " "утворення краплі на витікаючих екструдерах." -#: src/libslic3r/PrintConfig.cpp:2429 +#: src/libslic3r/PrintConfig.cpp:2431 msgid "" "Multi material printers may need to prime or purge extruders on tool " "changes. Extrude the excess material into the wipe tower." @@ -11829,11 +11907,11 @@ msgstr "" "екструдерів при зміні інструмента. Екструдуйте надлишок матеріалу до " "вичищуючої вежі." -#: src/libslic3r/PrintConfig.cpp:2435 +#: src/libslic3r/PrintConfig.cpp:2437 msgid "Purging volumes - load/unload volumes" msgstr "Обсяги витирання - обсяги заведення/виведення" -#: src/libslic3r/PrintConfig.cpp:2436 +#: src/libslic3r/PrintConfig.cpp:2438 msgid "" "This vector saves required volumes to change from/to each tool used on the " "wipe tower. These values are used to simplify creation of the full purging " @@ -11843,11 +11921,11 @@ msgstr "" "інструменту, що використовується на вежі витирання. Ці значення " "використовуються для спрощення створення повних обсягів продувки нижче." -#: src/libslic3r/PrintConfig.cpp:2442 +#: src/libslic3r/PrintConfig.cpp:2444 msgid "Purging volumes - matrix" msgstr "Таблиця обсягів очищення" -#: src/libslic3r/PrintConfig.cpp:2443 +#: src/libslic3r/PrintConfig.cpp:2445 msgid "" "This matrix describes volumes (in cubic milimetres) required to purge the " "new filament on the wipe tower for any given pair of tools." @@ -11855,39 +11933,39 @@ msgstr "" "Ця матриця описує обсяги (у кубічних міліметрах), необхідні для витирання " "нового філаменту на вежі витирання для будь-якої пари інструментів." -#: src/libslic3r/PrintConfig.cpp:2452 +#: src/libslic3r/PrintConfig.cpp:2454 msgid "Position X" msgstr "Позиція X" -#: src/libslic3r/PrintConfig.cpp:2453 +#: src/libslic3r/PrintConfig.cpp:2455 msgid "X coordinate of the left front corner of a wipe tower" msgstr "X координата лівого переднього кута вичищуючої вежі" -#: src/libslic3r/PrintConfig.cpp:2459 +#: src/libslic3r/PrintConfig.cpp:2461 msgid "Position Y" msgstr "Позиція Y" -#: src/libslic3r/PrintConfig.cpp:2460 +#: src/libslic3r/PrintConfig.cpp:2462 msgid "Y coordinate of the left front corner of a wipe tower" msgstr "Y координата лівого переднього кута вичищуючої вежі" -#: src/libslic3r/PrintConfig.cpp:2467 +#: src/libslic3r/PrintConfig.cpp:2469 msgid "Width of a wipe tower" msgstr "Ширина вичищуючої вежі" -#: src/libslic3r/PrintConfig.cpp:2473 +#: src/libslic3r/PrintConfig.cpp:2475 msgid "Wipe tower rotation angle" msgstr "Кут повороту вежі витирання" -#: src/libslic3r/PrintConfig.cpp:2474 +#: src/libslic3r/PrintConfig.cpp:2476 msgid "Wipe tower rotation angle with respect to x-axis." msgstr "Кут повороту вежі витирання за віссю Х." -#: src/libslic3r/PrintConfig.cpp:2481 +#: src/libslic3r/PrintConfig.cpp:2483 msgid "Wipe into this object's infill" msgstr "Витирати до наповнення цього об'єкту" -#: src/libslic3r/PrintConfig.cpp:2482 +#: src/libslic3r/PrintConfig.cpp:2484 msgid "" "Purging after toolchange will done inside this object's infills. This lowers " "the amount of waste but may result in longer print time due to additional " @@ -11897,11 +11975,11 @@ msgstr "" "об’єкта. Це зменшує кількість відходів, але може призвести до збільшення " "часу друку через додаткові переміщення." -#: src/libslic3r/PrintConfig.cpp:2489 +#: src/libslic3r/PrintConfig.cpp:2491 msgid "Wipe into this object" msgstr "Витирати до цього об'єкту" -#: src/libslic3r/PrintConfig.cpp:2490 +#: src/libslic3r/PrintConfig.cpp:2492 msgid "" "Object will be used to purge the nozzle after a toolchange to save material " "that would otherwise end up in the wipe tower and decrease print time. " @@ -11911,19 +11989,19 @@ msgstr "" "заощадити матеріал, який інакше потрапив би до вежі витирання, і зменшити " "час друку. В результаті кольори предметів будуть змішані." -#: src/libslic3r/PrintConfig.cpp:2496 +#: src/libslic3r/PrintConfig.cpp:2498 msgid "Maximal bridging distance" msgstr "Максимальна мостова відстань" -#: src/libslic3r/PrintConfig.cpp:2497 +#: src/libslic3r/PrintConfig.cpp:2499 msgid "Maximal distance between supports on sparse infill sections." msgstr "Максимальна відстань між підтримками на рідкісних ділянках заповнення." -#: src/libslic3r/PrintConfig.cpp:2503 +#: src/libslic3r/PrintConfig.cpp:2505 msgid "XY Size Compensation" msgstr "Зрівноваження розміру за XY" -#: src/libslic3r/PrintConfig.cpp:2505 +#: src/libslic3r/PrintConfig.cpp:2507 msgid "" "The object will be grown/shrunk in the XY plane by the configured value " "(negative = inwards, positive = outwards). This might be useful for fine-" @@ -11933,11 +12011,11 @@ msgstr "" "(негативний - внутрішній, позитивний - ззовнішній). Це може бути корисним " "для точного налаштування розмірів отворів." -#: src/libslic3r/PrintConfig.cpp:2513 +#: src/libslic3r/PrintConfig.cpp:2515 msgid "Z offset" msgstr "Зміщення Z" -#: src/libslic3r/PrintConfig.cpp:2514 +#: src/libslic3r/PrintConfig.cpp:2516 msgid "" "This value will be added (or subtracted) from all the Z coordinates in the " "output G-code. It is used to compensate for bad Z endstop position: for " @@ -11949,63 +12027,63 @@ msgstr "" "наприклад, якщо ваш кінцевий нуль фактично залишає сопло на 0,3 мм від " "полотна друку, встановіть його на значення -0,3 (або виправте ваш endstop)." -#: src/libslic3r/PrintConfig.cpp:2581 +#: src/libslic3r/PrintConfig.cpp:2583 msgid "Display width" msgstr "Ширина дисплея" -#: src/libslic3r/PrintConfig.cpp:2582 +#: src/libslic3r/PrintConfig.cpp:2584 msgid "Width of the display" msgstr "Ширина дисплея" -#: src/libslic3r/PrintConfig.cpp:2587 +#: src/libslic3r/PrintConfig.cpp:2589 msgid "Display height" msgstr "Висота дисплея" -#: src/libslic3r/PrintConfig.cpp:2588 +#: src/libslic3r/PrintConfig.cpp:2590 msgid "Height of the display" msgstr "Висота дисплею" -#: src/libslic3r/PrintConfig.cpp:2593 +#: src/libslic3r/PrintConfig.cpp:2595 msgid "Number of pixels in" msgstr "Кількість пікселів за віссю" -#: src/libslic3r/PrintConfig.cpp:2595 +#: src/libslic3r/PrintConfig.cpp:2597 msgid "Number of pixels in X" msgstr "Кількість пікселів за віссю X" -#: src/libslic3r/PrintConfig.cpp:2601 +#: src/libslic3r/PrintConfig.cpp:2603 msgid "Number of pixels in Y" msgstr "Кількість пікселів за віссю Y" -#: src/libslic3r/PrintConfig.cpp:2606 +#: src/libslic3r/PrintConfig.cpp:2608 msgid "Display horizontal mirroring" msgstr "Горизонтальне віддзеркалення дисплея" -#: src/libslic3r/PrintConfig.cpp:2607 +#: src/libslic3r/PrintConfig.cpp:2609 msgid "Mirror horizontally" msgstr "Віддзеркалити горизонтально" -#: src/libslic3r/PrintConfig.cpp:2608 +#: src/libslic3r/PrintConfig.cpp:2610 msgid "Enable horizontal mirroring of output images" msgstr "Увімкнути горизонтальне віддзеркалення вихідних зображень" -#: src/libslic3r/PrintConfig.cpp:2613 +#: src/libslic3r/PrintConfig.cpp:2615 msgid "Display vertical mirroring" msgstr "Вертикальне віддзеркалення дисплея" -#: src/libslic3r/PrintConfig.cpp:2614 +#: src/libslic3r/PrintConfig.cpp:2616 msgid "Mirror vertically" msgstr "Віддзеркалити вертикально" -#: src/libslic3r/PrintConfig.cpp:2615 +#: src/libslic3r/PrintConfig.cpp:2617 msgid "Enable vertical mirroring of output images" msgstr "Увімкнути вертикальне віддзеркалення вихідних зображень" -#: src/libslic3r/PrintConfig.cpp:2620 +#: src/libslic3r/PrintConfig.cpp:2622 msgid "Display orientation" msgstr "Орієнтація дисплея" -#: src/libslic3r/PrintConfig.cpp:2621 +#: src/libslic3r/PrintConfig.cpp:2623 msgid "" "Set the actual LCD display orientation inside the SLA printer. Portrait mode " "will flip the meaning of display width and height parameters and the output " @@ -12015,43 +12093,43 @@ msgstr "" "Портретний режим переверне значення параметрів ширини та висоти дисплея, а " "вихідні зображення повернуть на 90 градусів." -#: src/libslic3r/PrintConfig.cpp:2627 +#: src/libslic3r/PrintConfig.cpp:2629 msgid "Landscape" msgstr "Альбомна" -#: src/libslic3r/PrintConfig.cpp:2628 +#: src/libslic3r/PrintConfig.cpp:2630 msgid "Portrait" msgstr "Книжкова" -#: src/libslic3r/PrintConfig.cpp:2633 +#: src/libslic3r/PrintConfig.cpp:2635 msgid "Fast" msgstr "Швидкий" -#: src/libslic3r/PrintConfig.cpp:2634 +#: src/libslic3r/PrintConfig.cpp:2636 msgid "Fast tilt" msgstr "Швидкий нахил" -#: src/libslic3r/PrintConfig.cpp:2635 +#: src/libslic3r/PrintConfig.cpp:2637 msgid "Time of the fast tilt" msgstr "Час швидкого нахилу" -#: src/libslic3r/PrintConfig.cpp:2642 +#: src/libslic3r/PrintConfig.cpp:2644 msgid "Slow" msgstr "Повільний" -#: src/libslic3r/PrintConfig.cpp:2643 +#: src/libslic3r/PrintConfig.cpp:2645 msgid "Slow tilt" msgstr "Повільний нахил" -#: src/libslic3r/PrintConfig.cpp:2644 +#: src/libslic3r/PrintConfig.cpp:2646 msgid "Time of the slow tilt" msgstr "Час повільного нахилу" -#: src/libslic3r/PrintConfig.cpp:2651 +#: src/libslic3r/PrintConfig.cpp:2653 msgid "Area fill" msgstr "Заповнена область" -#: src/libslic3r/PrintConfig.cpp:2652 +#: src/libslic3r/PrintConfig.cpp:2654 msgid "" "The percentage of the bed area. \n" "If the print area exceeds the specified value, \n" @@ -12061,37 +12139,37 @@ msgstr "" "Якщо область друку перевищує вказане значення,\n" "тоді буде використовуватися повільний нахил, інакше - швидкий нахил" -#: src/libslic3r/PrintConfig.cpp:2659 src/libslic3r/PrintConfig.cpp:2660 -#: src/libslic3r/PrintConfig.cpp:2661 +#: src/libslic3r/PrintConfig.cpp:2661 src/libslic3r/PrintConfig.cpp:2662 +#: src/libslic3r/PrintConfig.cpp:2663 msgid "Printer scaling correction" msgstr "Корекція масштабування принтера" -#: src/libslic3r/PrintConfig.cpp:2667 src/libslic3r/PrintConfig.cpp:2668 +#: src/libslic3r/PrintConfig.cpp:2669 src/libslic3r/PrintConfig.cpp:2670 msgid "Printer absolute correction" msgstr "Абсолютна корекція принтера" -#: src/libslic3r/PrintConfig.cpp:2669 +#: src/libslic3r/PrintConfig.cpp:2671 msgid "" "Will inflate or deflate the sliced 2D polygons according to the sign of the " "correction." msgstr "Надує або спустить нарізані 2D-полігони відповідно до знака корекції." -#: src/libslic3r/PrintConfig.cpp:2675 +#: src/libslic3r/PrintConfig.cpp:2677 msgid "Elephant foot minimum width" msgstr "Мінімальна ширина слонової стопи" -#: src/libslic3r/PrintConfig.cpp:2677 +#: src/libslic3r/PrintConfig.cpp:2679 msgid "" "Minimum width of features to maintain when doing elephant foot compensation." msgstr "" "Мінімальна ширина частей, яку слід підтримувати, виконуючи компенсацію стопи " "слона." -#: src/libslic3r/PrintConfig.cpp:2684 src/libslic3r/PrintConfig.cpp:2685 +#: src/libslic3r/PrintConfig.cpp:2686 src/libslic3r/PrintConfig.cpp:2687 msgid "Printer gamma correction" msgstr "Гамма - корекція принтера" -#: src/libslic3r/PrintConfig.cpp:2686 +#: src/libslic3r/PrintConfig.cpp:2688 msgid "" "This will apply a gamma correction to the rasterized 2D polygons. A gamma " "value of zero means thresholding with the threshold in the middle. This " @@ -12101,43 +12179,43 @@ msgstr "" "гамми означає порогове значення з порогом посередині. Така поведінка усуває " "згладжування, не втрачаючи дірок у полігонах." -#: src/libslic3r/PrintConfig.cpp:2698 src/libslic3r/PrintConfig.cpp:2699 +#: src/libslic3r/PrintConfig.cpp:2700 src/libslic3r/PrintConfig.cpp:2701 msgid "SLA material type" msgstr "Тип SLA-матеріалу" -#: src/libslic3r/PrintConfig.cpp:2710 src/libslic3r/PrintConfig.cpp:2711 +#: src/libslic3r/PrintConfig.cpp:2712 src/libslic3r/PrintConfig.cpp:2713 msgid "Initial layer height" msgstr "Висота першого шару" -#: src/libslic3r/PrintConfig.cpp:2717 src/libslic3r/PrintConfig.cpp:2718 +#: src/libslic3r/PrintConfig.cpp:2719 src/libslic3r/PrintConfig.cpp:2720 msgid "Bottle volume" msgstr "Об’єм пляшки" -#: src/libslic3r/PrintConfig.cpp:2719 +#: src/libslic3r/PrintConfig.cpp:2721 msgid "ml" msgstr "мл" -#: src/libslic3r/PrintConfig.cpp:2724 src/libslic3r/PrintConfig.cpp:2725 +#: src/libslic3r/PrintConfig.cpp:2726 src/libslic3r/PrintConfig.cpp:2727 msgid "Bottle weight" msgstr "Вага пляшки" -#: src/libslic3r/PrintConfig.cpp:2726 +#: src/libslic3r/PrintConfig.cpp:2728 msgid "kg" msgstr "кг" -#: src/libslic3r/PrintConfig.cpp:2733 +#: src/libslic3r/PrintConfig.cpp:2735 msgid "g/ml" msgstr "г/мл" -#: src/libslic3r/PrintConfig.cpp:2740 +#: src/libslic3r/PrintConfig.cpp:2742 msgid "money/bottle" msgstr "грошових одиниць/пляшку" -#: src/libslic3r/PrintConfig.cpp:2745 +#: src/libslic3r/PrintConfig.cpp:2747 msgid "Faded layers" msgstr "Шари початкового контакту" -#: src/libslic3r/PrintConfig.cpp:2746 +#: src/libslic3r/PrintConfig.cpp:2748 msgid "" "Number of the layers needed for the exposure time fade from initial exposure " "time to the exposure time" @@ -12145,91 +12223,91 @@ msgstr "" "Кількість шарів, необхідних для часу експозиції, зменшується від початкового " "часу експозиції до часу експозиції" -#: src/libslic3r/PrintConfig.cpp:2753 src/libslic3r/PrintConfig.cpp:2754 +#: src/libslic3r/PrintConfig.cpp:2755 src/libslic3r/PrintConfig.cpp:2756 msgid "Minimum exposure time" msgstr "Мінімальний час експозиції" -#: src/libslic3r/PrintConfig.cpp:2761 src/libslic3r/PrintConfig.cpp:2762 +#: src/libslic3r/PrintConfig.cpp:2763 src/libslic3r/PrintConfig.cpp:2764 msgid "Maximum exposure time" msgstr "Максимальний час експозиції" -#: src/libslic3r/PrintConfig.cpp:2769 src/libslic3r/PrintConfig.cpp:2770 +#: src/libslic3r/PrintConfig.cpp:2771 src/libslic3r/PrintConfig.cpp:2772 msgid "Exposure time" msgstr "Час експозиції" -#: src/libslic3r/PrintConfig.cpp:2776 src/libslic3r/PrintConfig.cpp:2777 +#: src/libslic3r/PrintConfig.cpp:2778 src/libslic3r/PrintConfig.cpp:2779 msgid "Minimum initial exposure time" msgstr "Мінімальний час початкової експозиції" -#: src/libslic3r/PrintConfig.cpp:2784 src/libslic3r/PrintConfig.cpp:2785 +#: src/libslic3r/PrintConfig.cpp:2786 src/libslic3r/PrintConfig.cpp:2787 msgid "Maximum initial exposure time" msgstr "Максимальний час початкової експозиції" -#: src/libslic3r/PrintConfig.cpp:2792 src/libslic3r/PrintConfig.cpp:2793 +#: src/libslic3r/PrintConfig.cpp:2794 src/libslic3r/PrintConfig.cpp:2795 msgid "Initial exposure time" msgstr "Час початкової експозиції" -#: src/libslic3r/PrintConfig.cpp:2799 src/libslic3r/PrintConfig.cpp:2800 +#: src/libslic3r/PrintConfig.cpp:2801 src/libslic3r/PrintConfig.cpp:2802 msgid "Correction for expansion" msgstr "Поправка на розширення" -#: src/libslic3r/PrintConfig.cpp:2806 +#: src/libslic3r/PrintConfig.cpp:2808 msgid "SLA print material notes" msgstr "Примітки до друкованих SLA-матеріалів" -#: src/libslic3r/PrintConfig.cpp:2807 +#: src/libslic3r/PrintConfig.cpp:2809 msgid "You can put your notes regarding the SLA print material here." msgstr "Тут ви можете помістити свої нотатки щодо SLA-матеріалу." -#: src/libslic3r/PrintConfig.cpp:2819 src/libslic3r/PrintConfig.cpp:2830 +#: src/libslic3r/PrintConfig.cpp:2821 src/libslic3r/PrintConfig.cpp:2832 msgid "Default SLA material profile" msgstr "Профіль SLA-матеріалу за замовчанням" -#: src/libslic3r/PrintConfig.cpp:2841 +#: src/libslic3r/PrintConfig.cpp:2843 msgid "Generate supports" msgstr "Генерувати підтримки" -#: src/libslic3r/PrintConfig.cpp:2843 +#: src/libslic3r/PrintConfig.cpp:2845 msgid "Generate supports for the models" msgstr "Генерувати підтримки для моделей" -#: src/libslic3r/PrintConfig.cpp:2848 +#: src/libslic3r/PrintConfig.cpp:2850 msgid "Pinhead front diameter" msgstr "Діаметр головки стовпа" -#: src/libslic3r/PrintConfig.cpp:2850 +#: src/libslic3r/PrintConfig.cpp:2852 msgid "Diameter of the pointing side of the head" msgstr "Діаметр носику головки" -#: src/libslic3r/PrintConfig.cpp:2857 +#: src/libslic3r/PrintConfig.cpp:2859 msgid "Head penetration" msgstr "Проникнення головки" -#: src/libslic3r/PrintConfig.cpp:2859 +#: src/libslic3r/PrintConfig.cpp:2861 msgid "How much the pinhead has to penetrate the model surface" msgstr "На скільки носики повинні проникати в поверхню моделі" -#: src/libslic3r/PrintConfig.cpp:2866 +#: src/libslic3r/PrintConfig.cpp:2868 msgid "Pinhead width" msgstr "Ширина головки стовпа" -#: src/libslic3r/PrintConfig.cpp:2868 +#: src/libslic3r/PrintConfig.cpp:2870 msgid "Width from the back sphere center to the front sphere center" msgstr "Ширина від центру задньої кулі до передньої кулі" -#: src/libslic3r/PrintConfig.cpp:2876 +#: src/libslic3r/PrintConfig.cpp:2878 msgid "Pillar diameter" msgstr "Діаметр стовпів" -#: src/libslic3r/PrintConfig.cpp:2878 +#: src/libslic3r/PrintConfig.cpp:2880 msgid "Diameter in mm of the support pillars" msgstr "Діаметр стовпів підтримки у мм" -#: src/libslic3r/PrintConfig.cpp:2886 +#: src/libslic3r/PrintConfig.cpp:2888 msgid "Small pillar diameter percent" msgstr "Процентний діаметр малих стовпів" -#: src/libslic3r/PrintConfig.cpp:2888 +#: src/libslic3r/PrintConfig.cpp:2890 msgid "" "The percentage of smaller pillars compared to the normal pillar diameter " "which are used in problematic areas where a normal pilla cannot fit." @@ -12237,11 +12315,11 @@ msgstr "" "Відсоток менших стовпів порівняно з нормальним діаметром стовпа, які " "використовуються в проблемних зонах, де нормальний стовп не може поміститися." -#: src/libslic3r/PrintConfig.cpp:2897 +#: src/libslic3r/PrintConfig.cpp:2899 msgid "Max bridges on a pillar" msgstr "Макс. мостів на стовпі" -#: src/libslic3r/PrintConfig.cpp:2899 +#: src/libslic3r/PrintConfig.cpp:2901 msgid "" "Maximum number of bridges that can be placed on a pillar. Bridges hold " "support point pinheads and connect to pillars as small branches." @@ -12249,11 +12327,11 @@ msgstr "" "Максимальна кількість мостів, які можна розмістити на тримаючому стовпі. " "Мости утримують верхівки опор і з'єднуються зі стовпами як гілочки." -#: src/libslic3r/PrintConfig.cpp:2907 +#: src/libslic3r/PrintConfig.cpp:2909 msgid "Pillar connection mode" msgstr "Режим з'єднання стовпів" -#: src/libslic3r/PrintConfig.cpp:2908 +#: src/libslic3r/PrintConfig.cpp:2910 msgid "" "Controls the bridge type between two neighboring pillars. Can be zig-zag, " "cross (double zig-zag) or dynamic which will automatically switch between " @@ -12263,23 +12341,23 @@ msgstr "" "поперечним (подвійний зигзагоподібний) або динамічним, який автоматично " "перемикається між першими двома залежно від відстані двох стовпів." -#: src/libslic3r/PrintConfig.cpp:2916 +#: src/libslic3r/PrintConfig.cpp:2918 msgid "Zig-Zag" msgstr "Зіг-Заг" -#: src/libslic3r/PrintConfig.cpp:2917 +#: src/libslic3r/PrintConfig.cpp:2919 msgid "Cross" msgstr "Перехресний" -#: src/libslic3r/PrintConfig.cpp:2918 +#: src/libslic3r/PrintConfig.cpp:2920 msgid "Dynamic" msgstr "Динамічний" -#: src/libslic3r/PrintConfig.cpp:2930 +#: src/libslic3r/PrintConfig.cpp:2932 msgid "Pillar widening factor" msgstr "Коефіцієнт розширення стовпа" -#: src/libslic3r/PrintConfig.cpp:2932 +#: src/libslic3r/PrintConfig.cpp:2934 msgid "" "Merging bridges or pillars into another pillars can increase the radius. " "Zero means no increase, one means full increase." @@ -12287,27 +12365,27 @@ msgstr "" "Злиття мостів або стовпів в інші стовпи може збільшити радіус. Нуль означає " "відсутність збільшення, один означає повне збільшення." -#: src/libslic3r/PrintConfig.cpp:2941 +#: src/libslic3r/PrintConfig.cpp:2943 msgid "Support base diameter" msgstr "Діаметр основи підтримки" -#: src/libslic3r/PrintConfig.cpp:2943 +#: src/libslic3r/PrintConfig.cpp:2945 msgid "Diameter in mm of the pillar base" msgstr "Діаметр основи стовпа у мм" -#: src/libslic3r/PrintConfig.cpp:2951 +#: src/libslic3r/PrintConfig.cpp:2953 msgid "Support base height" msgstr "Висота основи підтримки" -#: src/libslic3r/PrintConfig.cpp:2953 +#: src/libslic3r/PrintConfig.cpp:2955 msgid "The height of the pillar base cone" msgstr "Висота конуса основи стовпа" -#: src/libslic3r/PrintConfig.cpp:2960 +#: src/libslic3r/PrintConfig.cpp:2962 msgid "Support base safety distance" msgstr "Безпечна відстань між основами підтримки" -#: src/libslic3r/PrintConfig.cpp:2963 +#: src/libslic3r/PrintConfig.cpp:2965 msgid "" "The minimum distance of the pillar base from the model in mm. Makes sense in " "zero elevation mode where a gap according to this parameter is inserted " @@ -12317,27 +12395,27 @@ msgstr "" "нульового підняття, коли між моделлю та майданчиком вставляється зазор " "відповідно до цього параметра." -#: src/libslic3r/PrintConfig.cpp:2973 +#: src/libslic3r/PrintConfig.cpp:2975 msgid "Critical angle" msgstr "Критичний кут" -#: src/libslic3r/PrintConfig.cpp:2975 +#: src/libslic3r/PrintConfig.cpp:2977 msgid "The default angle for connecting support sticks and junctions." msgstr "Кут за замовчуванням для з'єднання опорних палочок і з'єднань." -#: src/libslic3r/PrintConfig.cpp:2983 +#: src/libslic3r/PrintConfig.cpp:2985 msgid "Max bridge length" msgstr "Максимальна довжина мосту" -#: src/libslic3r/PrintConfig.cpp:2985 +#: src/libslic3r/PrintConfig.cpp:2987 msgid "The max length of a bridge" msgstr "Максимальна довжина мосту" -#: src/libslic3r/PrintConfig.cpp:2992 +#: src/libslic3r/PrintConfig.cpp:2994 msgid "Max pillar linking distance" msgstr "Макс. відстань між стовпами" -#: src/libslic3r/PrintConfig.cpp:2994 +#: src/libslic3r/PrintConfig.cpp:2996 msgid "" "The max distance of two pillars to get linked with each other. A zero value " "will prohibit pillar cascading." @@ -12345,7 +12423,7 @@ msgstr "" "Максимальна відстань двох стовпів для з'єднання між собою. Нульове значення " "забороняє каскадування стовпів." -#: src/libslic3r/PrintConfig.cpp:3004 +#: src/libslic3r/PrintConfig.cpp:3006 msgid "" "How much the supports should lift up the supported object. If \"Pad around " "object\" is enabled, this value is ignored." @@ -12353,39 +12431,39 @@ msgstr "" "Скільки опор повинно піднімати підтримуваний об’єкт. Якщо ввімкнено функцію " "\"Подушка навколо об’єкта\", це значення ігнорується." -#: src/libslic3r/PrintConfig.cpp:3015 +#: src/libslic3r/PrintConfig.cpp:3017 msgid "This is a relative measure of support points density." msgstr "Відносний показних щільності точок підтримки." -#: src/libslic3r/PrintConfig.cpp:3021 +#: src/libslic3r/PrintConfig.cpp:3023 msgid "Minimal distance of the support points" msgstr "Мінімальна відстань опорних точок" -#: src/libslic3r/PrintConfig.cpp:3023 +#: src/libslic3r/PrintConfig.cpp:3025 msgid "No support points will be placed closer than this threshold." msgstr "Жодні точки підтримки не будуть розміщені ближче цього порогу." -#: src/libslic3r/PrintConfig.cpp:3029 +#: src/libslic3r/PrintConfig.cpp:3031 msgid "Use pad" msgstr "Використовувати полушку" -#: src/libslic3r/PrintConfig.cpp:3031 +#: src/libslic3r/PrintConfig.cpp:3033 msgid "Add a pad underneath the supported model" msgstr "Додати подушечку під підтримувану модель" -#: src/libslic3r/PrintConfig.cpp:3036 +#: src/libslic3r/PrintConfig.cpp:3038 msgid "Pad wall thickness" msgstr "Товщина стінки подушки" -#: src/libslic3r/PrintConfig.cpp:3038 +#: src/libslic3r/PrintConfig.cpp:3040 msgid "The thickness of the pad and its optional cavity walls." msgstr "Товщина подушки та її додаткових стінок порожнини." -#: src/libslic3r/PrintConfig.cpp:3046 +#: src/libslic3r/PrintConfig.cpp:3048 msgid "Pad wall height" msgstr "Висота стінки подушки" -#: src/libslic3r/PrintConfig.cpp:3047 +#: src/libslic3r/PrintConfig.cpp:3049 msgid "" "Defines the pad cavity depth. Set to zero to disable the cavity. Be careful " "when enabling this feature, as some resins may produce an extreme suction " @@ -12397,19 +12475,19 @@ msgstr "" "можуть мати надзвичайний ефект всмоктування всередині порожнини, що " "ускладнює відшарування відбитка з фольги." -#: src/libslic3r/PrintConfig.cpp:3060 +#: src/libslic3r/PrintConfig.cpp:3062 msgid "Pad brim size" msgstr "Розмір краю подушки" -#: src/libslic3r/PrintConfig.cpp:3061 +#: src/libslic3r/PrintConfig.cpp:3063 msgid "How far should the pad extend around the contained geometry" msgstr "Як далеко повинна розширюватися подушка навколо вміщуваної геометрії" -#: src/libslic3r/PrintConfig.cpp:3071 +#: src/libslic3r/PrintConfig.cpp:3073 msgid "Max merge distance" msgstr "Макс. відстань об'єднання" -#: src/libslic3r/PrintConfig.cpp:3073 +#: src/libslic3r/PrintConfig.cpp:3075 msgid "" "Some objects can get along with a few smaller pads instead of a single big " "one. This parameter defines how far the center of two smaller pads should " @@ -12419,45 +12497,45 @@ msgstr "" "великої. Цей параметр визначає, наскільки далеко повинен бути центр двох " "менших подушок. Якщо вони стануть ближче, вони об’єднаються в одну велику." -#: src/libslic3r/PrintConfig.cpp:3093 +#: src/libslic3r/PrintConfig.cpp:3095 msgid "Pad wall slope" msgstr "Нахил стінки подушки" -#: src/libslic3r/PrintConfig.cpp:3095 +#: src/libslic3r/PrintConfig.cpp:3097 msgid "" "The slope of the pad wall relative to the bed plane. 90 degrees means " "straight walls." msgstr "" "Нахил стінки подушки відносно площини столу. 90 градусів означає прямі стіни." -#: src/libslic3r/PrintConfig.cpp:3106 +#: src/libslic3r/PrintConfig.cpp:3108 msgid "Create pad around object and ignore the support elevation" msgstr "Створити подушку навколо об’єкта та ігнорувати підняття підтримки" -#: src/libslic3r/PrintConfig.cpp:3111 +#: src/libslic3r/PrintConfig.cpp:3113 msgid "Pad around object everywhere" msgstr "Подушка скрізь навколо об’єкта" -#: src/libslic3r/PrintConfig.cpp:3113 +#: src/libslic3r/PrintConfig.cpp:3115 msgid "Force pad around object everywhere" msgstr "Створити подушку навколо об’єкта" -#: src/libslic3r/PrintConfig.cpp:3118 +#: src/libslic3r/PrintConfig.cpp:3120 msgid "Pad object gap" msgstr "Розрив Подушка-Об'єкт" -#: src/libslic3r/PrintConfig.cpp:3120 +#: src/libslic3r/PrintConfig.cpp:3122 msgid "" "The gap between the object bottom and the generated pad in zero elevation " "mode." msgstr "" "Розрив між дном об’єкта та генерованою подушкою в режимі нульового підняття." -#: src/libslic3r/PrintConfig.cpp:3129 +#: src/libslic3r/PrintConfig.cpp:3131 msgid "Pad object connector stride" msgstr "Крок з'єднувача Подушка-Об'єкт" -#: src/libslic3r/PrintConfig.cpp:3131 +#: src/libslic3r/PrintConfig.cpp:3133 msgid "" "Distance between two connector sticks which connect the object and the " "generated pad." @@ -12465,45 +12543,45 @@ msgstr "" "Відстань між двома з'єднувальними паличками, які з'єднують об'єкт та " "генеровану подушку." -#: src/libslic3r/PrintConfig.cpp:3138 +#: src/libslic3r/PrintConfig.cpp:3140 msgid "Pad object connector width" msgstr "Ширина з'єднувача Подушка-Об'єкт" -#: src/libslic3r/PrintConfig.cpp:3140 +#: src/libslic3r/PrintConfig.cpp:3142 msgid "" "Width of the connector sticks which connect the object and the generated pad." msgstr "" "Ширина з'єднувальної паличками, що з'єднує об'єкт та генеровану подушку." -#: src/libslic3r/PrintConfig.cpp:3147 +#: src/libslic3r/PrintConfig.cpp:3149 msgid "Pad object connector penetration" msgstr "Глибина проникнення з'єднувача Подушка-Об'єкт" -#: src/libslic3r/PrintConfig.cpp:3150 +#: src/libslic3r/PrintConfig.cpp:3152 msgid "How much should the tiny connectors penetrate into the model body." msgstr "На скільки крихітні з'єднувачі повинні проникати в тіло моделі." -#: src/libslic3r/PrintConfig.cpp:3157 +#: src/libslic3r/PrintConfig.cpp:3159 msgid "Enable hollowing" msgstr "Увімкнути формування порожнин" -#: src/libslic3r/PrintConfig.cpp:3159 +#: src/libslic3r/PrintConfig.cpp:3161 msgid "Hollow out a model to have an empty interior" msgstr "Випорожнити модель, щоб мати порожній інтер’єр" -#: src/libslic3r/PrintConfig.cpp:3164 +#: src/libslic3r/PrintConfig.cpp:3166 msgid "Wall thickness" msgstr "Товщина стінки" -#: src/libslic3r/PrintConfig.cpp:3166 +#: src/libslic3r/PrintConfig.cpp:3168 msgid "Minimum wall thickness of a hollowed model." msgstr "Мінімальна товщина стінки порожнистої моделі." -#: src/libslic3r/PrintConfig.cpp:3174 +#: src/libslic3r/PrintConfig.cpp:3176 msgid "Accuracy" msgstr "Точність" -#: src/libslic3r/PrintConfig.cpp:3176 +#: src/libslic3r/PrintConfig.cpp:3178 msgid "" "Performance vs accuracy of calculation. Lower values may produce unwanted " "artifacts." @@ -12511,7 +12589,7 @@ msgstr "" "Продуктивність проти точності розрахунку. Менші значення можуть спричинити " "небажані артефакти." -#: src/libslic3r/PrintConfig.cpp:3186 +#: src/libslic3r/PrintConfig.cpp:3188 msgid "" "Hollowing is done in two steps: first, an imaginary interior is calculated " "deeper (offset plus the closing distance) in the object and then it's " @@ -12524,63 +12602,63 @@ msgstr "" "назад до заданого зміщення. Більша відстань до закриття робить інтер’єр " "більш округлим. При нулі інтер’єр найбільше буде нагадувати екстер’єр." -#: src/libslic3r/PrintConfig.cpp:3602 +#: src/libslic3r/PrintConfig.cpp:3606 msgid "Export OBJ" msgstr "Експорт OBJ" -#: src/libslic3r/PrintConfig.cpp:3603 +#: src/libslic3r/PrintConfig.cpp:3607 msgid "Export the model(s) as OBJ." msgstr "Експорт моделі як OBJ." -#: src/libslic3r/PrintConfig.cpp:3614 +#: src/libslic3r/PrintConfig.cpp:3618 msgid "Export SLA" msgstr "Експорт SLA" -#: src/libslic3r/PrintConfig.cpp:3615 +#: src/libslic3r/PrintConfig.cpp:3619 msgid "Slice the model and export SLA printing layers as PNG." msgstr "Нарізати модель та експортувати шари SLA-друку до PNG." -#: src/libslic3r/PrintConfig.cpp:3620 +#: src/libslic3r/PrintConfig.cpp:3624 msgid "Export 3MF" msgstr "Експортувати 3MF" -#: src/libslic3r/PrintConfig.cpp:3621 +#: src/libslic3r/PrintConfig.cpp:3625 msgid "Export the model(s) as 3MF." msgstr "Експорт моделі як 3MF." -#: src/libslic3r/PrintConfig.cpp:3625 +#: src/libslic3r/PrintConfig.cpp:3629 msgid "Export AMF" msgstr "Експортувати AMF" -#: src/libslic3r/PrintConfig.cpp:3626 +#: src/libslic3r/PrintConfig.cpp:3630 msgid "Export the model(s) as AMF." msgstr "Експорт моделі як АMF." -#: src/libslic3r/PrintConfig.cpp:3630 +#: src/libslic3r/PrintConfig.cpp:3634 msgid "Export STL" msgstr "Експорт STL" -#: src/libslic3r/PrintConfig.cpp:3631 +#: src/libslic3r/PrintConfig.cpp:3635 msgid "Export the model(s) as STL." msgstr "Експорт моделі як STL." -#: src/libslic3r/PrintConfig.cpp:3636 +#: src/libslic3r/PrintConfig.cpp:3640 msgid "Slice the model and export toolpaths as G-code." msgstr "Нарізати та експортувати G-код." -#: src/libslic3r/PrintConfig.cpp:3641 +#: src/libslic3r/PrintConfig.cpp:3645 msgid "G-code viewer" msgstr "Переглядач G-коду" -#: src/libslic3r/PrintConfig.cpp:3642 +#: src/libslic3r/PrintConfig.cpp:3646 msgid "Visualize an already sliced and saved G-code" msgstr "Візуалізувати вже нарізаний та збережений G-код" -#: src/libslic3r/PrintConfig.cpp:3647 +#: src/libslic3r/PrintConfig.cpp:3651 msgid "Slice" msgstr "Нарізати" -#: src/libslic3r/PrintConfig.cpp:3648 +#: src/libslic3r/PrintConfig.cpp:3652 msgid "" "Slice the model as FFF or SLA based on the printer_technology configuration " "value." @@ -12588,71 +12666,71 @@ msgstr "" "Нарізати модель як FFF або SLA на основі значення printer_technology, " "зазначеного у конфігурації." -#: src/libslic3r/PrintConfig.cpp:3653 +#: src/libslic3r/PrintConfig.cpp:3657 msgid "Help" msgstr "Допомога" -#: src/libslic3r/PrintConfig.cpp:3654 +#: src/libslic3r/PrintConfig.cpp:3658 msgid "Show this help." msgstr "Показати цю підказку." -#: src/libslic3r/PrintConfig.cpp:3659 +#: src/libslic3r/PrintConfig.cpp:3663 msgid "Help (FFF options)" msgstr "Допомога (FFF параметри)" -#: src/libslic3r/PrintConfig.cpp:3660 +#: src/libslic3r/PrintConfig.cpp:3664 msgid "Show the full list of print/G-code configuration options." msgstr "Показати повний список параметрів конфігурації друку / G-коду." -#: src/libslic3r/PrintConfig.cpp:3664 +#: src/libslic3r/PrintConfig.cpp:3668 msgid "Help (SLA options)" msgstr "Допомога (SLA параметри)" -#: src/libslic3r/PrintConfig.cpp:3665 +#: src/libslic3r/PrintConfig.cpp:3669 msgid "Show the full list of SLA print configuration options." msgstr "Показати повний перелік параметрів конфігурації SLA-друку." -#: src/libslic3r/PrintConfig.cpp:3669 +#: src/libslic3r/PrintConfig.cpp:3673 msgid "Output Model Info" msgstr "Інформація про вихідну модель" -#: src/libslic3r/PrintConfig.cpp:3670 +#: src/libslic3r/PrintConfig.cpp:3674 msgid "Write information about the model to the console." msgstr "Писати інформацію про модель на консолі." -#: src/libslic3r/PrintConfig.cpp:3674 +#: src/libslic3r/PrintConfig.cpp:3678 msgid "Save config file" msgstr "Зберегти файл конфігурації" -#: src/libslic3r/PrintConfig.cpp:3675 +#: src/libslic3r/PrintConfig.cpp:3679 msgid "Save configuration to the specified file." msgstr "Зберегти конфігурацію у вказаному файлі." -#: src/libslic3r/PrintConfig.cpp:3685 +#: src/libslic3r/PrintConfig.cpp:3689 msgid "Align XY" msgstr "Вирівняти XY" -#: src/libslic3r/PrintConfig.cpp:3686 +#: src/libslic3r/PrintConfig.cpp:3690 msgid "Align the model to the given point." msgstr "Вирівняйте модель за заданою точкою." -#: src/libslic3r/PrintConfig.cpp:3691 +#: src/libslic3r/PrintConfig.cpp:3695 msgid "Cut model at the given Z." msgstr "Розрізати модель за заданим Z." -#: src/libslic3r/PrintConfig.cpp:3712 +#: src/libslic3r/PrintConfig.cpp:3716 msgid "Center" msgstr "Центр" -#: src/libslic3r/PrintConfig.cpp:3713 +#: src/libslic3r/PrintConfig.cpp:3717 msgid "Center the print around the given center." msgstr "Відцентруйте друк навколо заданого центру." -#: src/libslic3r/PrintConfig.cpp:3717 +#: src/libslic3r/PrintConfig.cpp:3721 msgid "Don't arrange" msgstr "Не впорядковувати" -#: src/libslic3r/PrintConfig.cpp:3718 +#: src/libslic3r/PrintConfig.cpp:3722 msgid "" "Do not rearrange the given models before merging and keep their original XY " "coordinates." @@ -12660,23 +12738,23 @@ msgstr "" "Не переставляйте дані моделі перед об’єднанням та зберігайте їх початкові " "координати XY." -#: src/libslic3r/PrintConfig.cpp:3721 +#: src/libslic3r/PrintConfig.cpp:3725 msgid "Duplicate" msgstr "Дублювати" -#: src/libslic3r/PrintConfig.cpp:3722 +#: src/libslic3r/PrintConfig.cpp:3726 msgid "Multiply copies by this factor." msgstr "Збільшить кількість копій на цей коефіцієнт." -#: src/libslic3r/PrintConfig.cpp:3726 +#: src/libslic3r/PrintConfig.cpp:3730 msgid "Duplicate by grid" msgstr "Дублювати за сіткою" -#: src/libslic3r/PrintConfig.cpp:3727 +#: src/libslic3r/PrintConfig.cpp:3731 msgid "Multiply copies by creating a grid." msgstr "Збільшить кількість копій, створивши сітку." -#: src/libslic3r/PrintConfig.cpp:3731 +#: src/libslic3r/PrintConfig.cpp:3735 msgid "" "Arrange the supplied models in a plate and merge them in a single model in " "order to perform actions once." @@ -12684,7 +12762,7 @@ msgstr "" "Розташувати поставлені моделі на платформі та об’єднати їх в одну модель, " "щоб виконати дії один раз." -#: src/libslic3r/PrintConfig.cpp:3736 +#: src/libslic3r/PrintConfig.cpp:3740 msgid "" "Try to repair any non-manifold meshes (this option is implicitly added " "whenever we need to slice the model to perform the requested action)." @@ -12693,31 +12771,31 @@ msgstr "" "кожного разу, коли нам потрібно нарізати модель для виконання запитуваної " "дії)." -#: src/libslic3r/PrintConfig.cpp:3740 +#: src/libslic3r/PrintConfig.cpp:3744 msgid "Rotation angle around the Z axis in degrees." msgstr "Кут обертання навколо осі Z у градусах." -#: src/libslic3r/PrintConfig.cpp:3744 +#: src/libslic3r/PrintConfig.cpp:3748 msgid "Rotate around X" msgstr "Обертати навколо осі X" -#: src/libslic3r/PrintConfig.cpp:3745 +#: src/libslic3r/PrintConfig.cpp:3749 msgid "Rotation angle around the X axis in degrees." msgstr "Кут обертання навколо осі Х у градусах." -#: src/libslic3r/PrintConfig.cpp:3749 +#: src/libslic3r/PrintConfig.cpp:3753 msgid "Rotate around Y" msgstr "Обертати навколо осі Y" -#: src/libslic3r/PrintConfig.cpp:3750 +#: src/libslic3r/PrintConfig.cpp:3754 msgid "Rotation angle around the Y axis in degrees." msgstr "Кут обертання навколо осі Y у градусах." -#: src/libslic3r/PrintConfig.cpp:3755 +#: src/libslic3r/PrintConfig.cpp:3759 msgid "Scaling factor or percentage." msgstr "Коефіцієнт масштабування або відсоток." -#: src/libslic3r/PrintConfig.cpp:3760 +#: src/libslic3r/PrintConfig.cpp:3764 msgid "" "Detect unconnected parts in the given model(s) and split them into separate " "objects." @@ -12725,102 +12803,14 @@ msgstr "" "Визначити непоєднані частини у даній моделі (моделях) та розділити їх на " "окремі об’єкти." -#: src/libslic3r/PrintConfig.cpp:3763 +#: src/libslic3r/PrintConfig.cpp:3767 msgid "Scale to Fit" msgstr "Масштабувати під область друку" -#: src/libslic3r/PrintConfig.cpp:3764 +#: src/libslic3r/PrintConfig.cpp:3768 msgid "Scale to fit the given volume." msgstr "Масштабувати під задану область друку." -#: src/libslic3r/PrintConfig.cpp:3773 -msgid "Ignore non-existent config files" -msgstr "Ігнорувати неіснуючі конфігураційні файли" - -#: src/libslic3r/PrintConfig.cpp:3774 -msgid "Do not fail if a file supplied to --load does not exist." -msgstr "Не відмовляти, якщо файл, який подається до --load, не існує." - -#: src/libslic3r/PrintConfig.cpp:3777 -msgid "Load config file" -msgstr "Завантажити файл конфігурації" - -#: src/libslic3r/PrintConfig.cpp:3778 -msgid "" -"Load configuration from the specified file. It can be used more than once to " -"load options from multiple files." -msgstr "" -"Завантажити конфігурацію із зазначеного файлу. Його можна використовувати " -"більше одного разу для завантаження опцій з декількох файлів." - -#: src/libslic3r/PrintConfig.cpp:3781 -msgid "Output File" -msgstr "Вихідний файл" - -#: src/libslic3r/PrintConfig.cpp:3782 -msgid "" -"The file where the output will be written (if not specified, it will be " -"based on the input file)." -msgstr "" -"Файл, в який буде записано вихідні дані (якщо не вказано, він базуватиметься " -"на вхідному файлі)." - -#: src/libslic3r/PrintConfig.cpp:3786 -msgid "Single instance mode" -msgstr "Режим одного екземпляру PrusaSlicer" - -#: src/libslic3r/PrintConfig.cpp:3787 -msgid "" -"If enabled, the command line arguments are sent to an existing instance of " -"GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides " -"the \"single_instance\" configuration value from application preferences." -msgstr "" -"Якщо увімкнено, аргументи командного рядка надсилаються до існуючого " -"екземпляра графічного інтерфейсу PrusaSlicer, або ж активується існуюче " -"вікно PrusaSlicer. Замінює значення конфігурації \"single_instance\" у " -"налаштуваннях програми." - -#: src/libslic3r/PrintConfig.cpp:3798 -msgid "Data directory" -msgstr "Каталог даних" - -#: src/libslic3r/PrintConfig.cpp:3799 -msgid "" -"Load and store settings at the given directory. This is useful for " -"maintaining different profiles or including configurations from a network " -"storage." -msgstr "" -"Завантажити та зберегти налаштування у вказаному каталозі. Це корисно для " -"ведення різних профілів або включення конфігурацій із мережевого сховища." - -#: src/libslic3r/PrintConfig.cpp:3802 -msgid "Logging level" -msgstr "Рівень журналізації" - -#: src/libslic3r/PrintConfig.cpp:3803 -msgid "" -"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" -"trace\n" -"For example. loglevel=2 logs fatal, error and warning level messages." -msgstr "" -"Встановлює чутливість журналювання. 0:fatal, 1:помилка, 2:попередження, 3:" -"info, 4:налагодження, 5:trace\n" -"Наприклад. loglevel=2 журнали фатальних, помилок і повідомлень рівня " -"попередження." - -#: src/libslic3r/PrintConfig.cpp:3809 -msgid "Render with a software renderer" -msgstr "Візуалізувати за допомогою програмного засобу візуалізації" - -#: src/libslic3r/PrintConfig.cpp:3810 -msgid "" -"Render with a software renderer. The bundled MESA software renderer is " -"loaded instead of the default OpenGL driver." -msgstr "" -"Візуалізувати за допомогою програмного засобу візуалізації. Комплектний " -"візуалізатор програмного забезпечення MESA завантажується замість драйвера " -"OpenGL за замовчуванням." - #: src/libslic3r/Zipper.cpp:27 msgid "Error with zip archive" msgstr "Помилка ZIP-архіву" @@ -12841,6 +12831,122 @@ msgstr "Підготовка заповнення" msgid "Generating support material" msgstr "Створення підтримок" +#~ msgid "Ignore non-existent config files" +#~ msgstr "Ігнорувати неіснуючі конфігураційні файли" + +#~ msgid "Do not fail if a file supplied to --load does not exist." +#~ msgstr "Не відмовляти, якщо файл, який подається до --load, не існує." + +#~ msgid "" +#~ "Forward-compatibility rule when loading configurations from config files " +#~ "and project files (3MF, AMF)." +#~ msgstr "" +#~ "Правило прямої сумісності під час завантаження конфігурацій з файлів " +#~ "конфігурації та файлів проекту (3MF, AMF)." + +#~ msgid "" +#~ "This version of PrusaSlicer may not understand configurations produced by " +#~ "newest PrusaSlicer versions. For example, newer PrusaSlicer may extend " +#~ "the list of supported firmware flavors. One may decide to bail out or to " +#~ "substitute an unknown value with a default silently or verbosely." +#~ msgstr "" +#~ "Ця версія PrusaSlicer може не розуміти конфігурацій, створених новітніми " +#~ "версіями PrusaSlicer. Наприклад, новіший PrusaSlicer може розширити " +#~ "список підтримуваних прошивок. Можна вирішити звільнитися або замінити " +#~ "невідоме значення на типове мовчки або вслівно." + +#~ msgid "Load config file" +#~ msgstr "Завантажити файл конфігурації" + +#~ msgid "" +#~ "Load configuration from the specified file. It can be used more than once " +#~ "to load options from multiple files." +#~ msgstr "" +#~ "Завантажити конфігурацію із зазначеного файлу. Його можна використовувати " +#~ "більше одного разу для завантаження опцій з декількох файлів." + +#~ msgid "Output File" +#~ msgstr "Вихідний файл" + +#~ msgid "" +#~ "The file where the output will be written (if not specified, it will be " +#~ "based on the input file)." +#~ msgstr "" +#~ "Файл, в який буде записано вихідні дані (якщо не вказано, він " +#~ "базуватиметься на вхідному файлі)." + +#~ msgid "Single instance mode" +#~ msgstr "Режим одного екземпляру PrusaSlicer" + +#~ msgid "" +#~ "If enabled, the command line arguments are sent to an existing instance " +#~ "of GUI PrusaSlicer, or an existing PrusaSlicer window is activated. " +#~ "Overrides the \"single_instance\" configuration value from application " +#~ "preferences." +#~ msgstr "" +#~ "Якщо увімкнено, аргументи командного рядка надсилаються до існуючого " +#~ "екземпляра графічного інтерфейсу PrusaSlicer, або ж активується існуюче " +#~ "вікно PrusaSlicer. Замінює значення конфігурації \"single_instance\" у " +#~ "налаштуваннях програми." + +#~ msgid "Data directory" +#~ msgstr "Каталог даних" + +#~ msgid "" +#~ "Load and store settings at the given directory. This is useful for " +#~ "maintaining different profiles or including configurations from a network " +#~ "storage." +#~ msgstr "" +#~ "Завантажити та зберегти налаштування у вказаному каталозі. Це корисно для " +#~ "ведення різних профілів або включення конфігурацій із мережевого сховища." + +#~ msgid "Logging level" +#~ msgstr "Рівень журналізації" + +#~ msgid "" +#~ "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" +#~ "trace\n" +#~ "For example. loglevel=2 logs fatal, error and warning level messages." +#~ msgstr "" +#~ "Встановлює чутливість журналювання. 0:fatal, 1:помилка, 2:попередження, 3:" +#~ "info, 4:налагодження, 5:trace\n" +#~ "Наприклад. loglevel=2 журнали фатальних, помилок і повідомлень рівня " +#~ "попередження." + +#~ msgid "Render with a software renderer" +#~ msgstr "Візуалізувати за допомогою програмного засобу візуалізації" + +#~ msgid "" +#~ "Render with a software renderer. The bundled MESA software renderer is " +#~ "loaded instead of the default OpenGL driver." +#~ msgstr "" +#~ "Візуалізувати за допомогою програмного засобу візуалізації. Комплектний " +#~ "візуалізатор програмного забезпечення MESA завантажується замість " +#~ "драйвера OpenGL за замовчуванням." + +#~ msgid "Import SL1 archive" +#~ msgstr "Імпорт SL1-архіву" + +#~ msgid "Load an SL1 archive" +#~ msgstr "Завантажити SL1-архів" + +#~ msgid "" +#~ "You should to change a name of your printer device. It can't be saved." +#~ msgstr "Вам слід змінити назву принтера. Задану назву неможливо зберегти." + +#~ msgid "Save SL1 file as:" +#~ msgstr "Зберегти SL1-файл як:" + +#~ msgid "Connection to Prusa SL1 works correctly." +#~ msgstr "Підключення до Prusa SL1 працює правильно." + +#~ msgid "" +#~ "Picture sizes to be stored into a .gcode and .sl1 files, in the following " +#~ "format: \"XxY, XxY, ...\"" +#~ msgstr "" +#~ "Розміри зображень, які слід зберігати у файлах .gcode та .sl1, у такому " +#~ "форматі: \"XxY, XxY, ...\"" + #~ msgid "About Slic3r" #~ msgstr "Про Slic3r" diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index ea40dfa28..bffb33082 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -3774,58 +3774,58 @@ CLIMiscConfigDef::CLIMiscConfigDef() ConfigOptionDef* def; def = this->add("ignore_nonexistent_config", coBool); - def->label = L("Ignore non-existent config files"); - def->tooltip = L("Do not fail if a file supplied to --load does not exist."); + def->label = "Ignore non-existent config files"; + def->tooltip = "Do not fail if a file supplied to --load does not exist."; def = this->add("config_compatibility", coEnum); - def->label = L("Forward-compatibility rule when loading configurations from config files and project files (3MF, AMF)."); - def->tooltip = L("This version of PrusaSlicer may not understand configurations produced by newest PrusaSlicer versions. " + def->label = "Forward-compatibility rule when loading configurations from config files and project files (3MF, AMF)."; + def->tooltip = "This version of PrusaSlicer may not understand configurations produced by newest PrusaSlicer versions. " "For example, newer PrusaSlicer may extend the list of supported firmware flavors. One may decide to " - "bail out or to substitute an unknown value with a default silently or verbosely."); + "bail out or to substitute an unknown value with a default silently or verbosely."; def->enum_keys_map = &ConfigOptionEnum::get_enum_values(); def->enum_values.push_back("disable"); def->enum_values.push_back("enable"); def->enum_values.push_back("enable_silent"); - def->enum_labels.push_back(L("Bail out on unknown configuration values")); - def->enum_labels.push_back(L("Enable reading unknown configuration values by verbosely substituting them with defaults.")); - def->enum_labels.push_back(L("Enable reading unknown configuration values by silently substituting them with defaults.")); + def->enum_labels.push_back("Bail out on unknown configuration values"); + def->enum_labels.push_back("Enable reading unknown configuration values by verbosely substituting them with defaults."); + def->enum_labels.push_back("Enable reading unknown configuration values by silently substituting them with defaults."); def->set_default_value(new ConfigOptionEnum(ForwardCompatibilitySubstitutionRule::Enable)); def = this->add("load", coStrings); - def->label = L("Load config file"); - def->tooltip = L("Load configuration from the specified file. It can be used more than once to load options from multiple files."); + def->label = "Load config file"; + def->tooltip = "Load configuration from the specified file. It can be used more than once to load options from multiple files."; def = this->add("output", coString); - def->label = L("Output File"); - def->tooltip = L("The file where the output will be written (if not specified, it will be based on the input file)."); + def->label = "Output File"; + def->tooltip = "The file where the output will be written (if not specified, it will be based on the input file)."; def->cli = "output|o"; def = this->add("single_instance", coBool); - def->label = L("Single instance mode"); - def->tooltip = L("If enabled, the command line arguments are sent to an existing instance of GUI PrusaSlicer, " + def->label = "Single instance mode"; + def->tooltip = "If enabled, the command line arguments are sent to an existing instance of GUI PrusaSlicer, " "or an existing PrusaSlicer window is activated. " - "Overrides the \"single_instance\" configuration value from application preferences."); + "Overrides the \"single_instance\" configuration value from application preferences."; /* def = this->add("autosave", coString); - def->label = L("Autosave"); - def->tooltip = L("Automatically export current configuration to the specified file."); + def->label = "Autosave"; + def->tooltip = "Automatically export current configuration to the specified file."; */ def = this->add("datadir", coString); - def->label = L("Data directory"); - def->tooltip = L("Load and store settings at the given directory. This is useful for maintaining different profiles or including configurations from a network storage."); + def->label = "Data directory"; + def->tooltip = "Load and store settings at the given directory. This is useful for maintaining different profiles or including configurations from a network storage."; def = this->add("loglevel", coInt); - def->label = L("Logging level"); - def->tooltip = L("Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" - "For example. loglevel=2 logs fatal, error and warning level messages."); + def->label = "Logging level"; + def->tooltip = "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" + "For example. loglevel=2 logs fatal, error and warning level messages."; def->min = 0; #if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(SLIC3R_GUI) def = this->add("sw_renderer", coBool); - def->label = L("Render with a software renderer"); - def->tooltip = L("Render with a software renderer. The bundled MESA software renderer is loaded instead of the default OpenGL driver."); + def->label = "Render with a software renderer"; + def->tooltip = "Render with a software renderer. The bundled MESA software renderer is loaded instead of the default OpenGL driver."; def->min = 0; #endif /* _MSC_VER */ } diff --git a/src/slic3r/GUI/UpdateDialogs.cpp b/src/slic3r/GUI/UpdateDialogs.cpp index 530814815..d0fe4ed46 100644 --- a/src/slic3r/GUI/UpdateDialogs.cpp +++ b/src/slic3r/GUI/UpdateDialogs.cpp @@ -137,7 +137,7 @@ MsgUpdateConfig::MsgUpdateConfig(const std::vector &updates, bool force_ btn_sizer->Add(btn_ok); btn_sizer->AddSpacer(HORIZ_SPACING); if (force_before_wizard) { - auto* btn_no_install = new wxButton(this, wxID_ANY, "Don't install"); + auto* btn_no_install = new wxButton(this, wxID_ANY, _L("Don't install")); btn_no_install->Bind(wxEVT_BUTTON, [this](wxEvent&) { this->EndModal(wxID_CLOSE); }); btn_sizer->Add(btn_no_install); btn_sizer->AddSpacer(HORIZ_SPACING); From 164b0be064fc19d21384a6a1fc4603cd1a80ed3c Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 30 Jun 2021 16:26:52 +0200 Subject: [PATCH 64/80] Fixed typo in SL1S file mask template. --- src/slic3r/GUI/GUI_App.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 8bc9ec60c..7112e9c68 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -427,7 +427,7 @@ wxString file_wildcards(FileType file_type, const std::string &custom_extension) /* FT_TEX */ "Texture (*.png, *.svg)|*.png;*.PNG;*.svg;*.SVG", - /* FT_PNGZIP */ "Masked SLA files (*.sl1, *sl1s)|*.sl1;*.SL1;*.sl1s;*.SL1S", + /* FT_PNGZIP */ "Masked SLA files (*.sl1, *.sl1s)|*.sl1;*.SL1;*.sl1s;*.SL1S", }; std::string out = defaults[file_type]; From ab5e02f20c4be006c44d98e063f8f12914f9ef1c Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 30 Jun 2021 16:52:44 +0200 Subject: [PATCH 65/80] Fix of the previous commit. --- src/libslic3r/Config.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index cef27a414..55048604f 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -501,11 +501,11 @@ void ConfigBase::set_deserialize(std::initializer_list items this->set_deserialize(item.opt_key, item.opt_value, substitutions_ctxt, item.append); } -static inline bool looks_like_enum_value(const std::string &s) +static inline bool looks_like_enum_value(const std::string &value) { if (value.empty() || value.size() > 64 || ! isalpha(value.front())) return false; - for (const char c : s) + for (const char c : value) if (! (isalnum(c) || c == '_' || c == '-')) return false; return true; From e7a6323470940c23a66efe773ed8ba01e15b28cb Mon Sep 17 00:00:00 2001 From: bubnikv Date: Wed, 30 Jun 2021 18:55:43 +0200 Subject: [PATCH 66/80] Configuration compatibility - implemented substitution and reporting for vectors of bools (including the nullable bools). --- src/libslic3r/Config.cpp | 71 ++++++++++++++++++++-------------------- src/libslic3r/Config.hpp | 47 +++++++++++++++++++++++--- src/slic3r/GUI/GUI.cpp | 21 ++++++++++-- 3 files changed, 98 insertions(+), 41 deletions(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index 55048604f..2917f9c6f 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -501,16 +501,6 @@ void ConfigBase::set_deserialize(std::initializer_list items this->set_deserialize(item.opt_key, item.opt_value, substitutions_ctxt, item.append); } -static inline bool looks_like_enum_value(const std::string &value) -{ - if (value.empty() || value.size() > 64 || ! isalpha(value.front())) - return false; - for (const char c : value) - if (! (isalnum(c) || c == '_' || c == '-')) - return false; - return true; -} - bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, const std::string &value, ConfigSubstitutionContext& substitutions_ctxt, bool append) { t_config_option_key opt_key = opt_key_src; @@ -547,32 +537,43 @@ bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, con ConfigOption *opt = this->option(opt_key, true); assert(opt != nullptr); - bool success = opt->deserialize(value, append); - if (! success && substitutions_ctxt.rule != ForwardCompatibilitySubstitutionRule::Disable && - // Only allow substitutions of an enum value by another enum value or a boolean value with an enum value. - // That means, we expect enum values being added in the future and possibly booleans being converted to enums. - (optdef->type == coEnum || optdef->type == coBool)) - { - // Deserialize failed, try to substitute with a default value. - assert(substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable || substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::EnableSilent); + bool success = false; + bool substituted = false; + if (optdef->type == coBools && substitutions_ctxt.rule != ForwardCompatibilitySubstitutionRule::Disable) { + //FIXME Special handling of vectors of bools, quick and not so dirty solution before PrusaSlicer 2.3.2 release. + auto result = opt->nullable() ? + static_cast(opt)->deserialize_with_substitutions(value, append, true) : + static_cast(opt)->deserialize_with_substitutions(value, append, true); + success = result != ConfigHelpers::DeserializationResult::Failed; + substituted = result == ConfigHelpers::DeserializationResult::Substituted; + } else { + success = opt->deserialize(value, append); + if (! success && substitutions_ctxt.rule != ForwardCompatibilitySubstitutionRule::Disable && + // Only allow substitutions of an enum value by another enum value or a boolean value with an enum value. + // That means, we expect enum values being added in the future and possibly booleans being converted to enums. + (optdef->type == coEnum || optdef->type == coBool) && ConfigHelpers::looks_like_enum_value(value)) { + // Deserialize failed, try to substitute with a default value. + assert(substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable || substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::EnableSilent); + if (optdef->type == coEnum && opt_key == "gcode_flavor" && (value == "marlin2" || value == "marlinfirmware")) + static_cast*>(opt)->value = gcfMarlin; + else if (optdef->type == coBool) + static_cast(opt)->value = ConfigHelpers::enum_looks_like_true_value(value); + else + // Just use the default of the option. + opt->set(optdef->default_value.get()); + success = true; + substituted = true; + } + } - if (optdef->type == coEnum && opt_key == "gcode_flavor" && (value == "marlin2" || value == "marlinfirmware")) - static_cast*>(opt)->value = gcfMarlin; - else if (optdef->type == coBool && looks_like_enum_value(value)) - static_cast(opt)->value = boost::iequals(value, "enabled") || boost::iequals(value, "on"); - else - opt->set(optdef->default_value.get()); - - if (substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable || - substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::EnableSystemSilent) { - // Log the substitution. - ConfigSubstitution config_substitution; - config_substitution.opt_def = optdef; - config_substitution.old_value = value;//std::unique_ptr(opt); - config_substitution.new_value = ConfigOptionUniquePtr(this->option(opt_key, true)->clone()); - substitutions_ctxt.substitutions.emplace_back(std::move(config_substitution)); - } - return true; + if (substituted && (substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::Enable || + substitutions_ctxt.rule == ForwardCompatibilitySubstitutionRule::EnableSystemSilent)) { + // Log the substitution. + ConfigSubstitution config_substitution; + config_substitution.opt_def = optdef; + config_substitution.old_value = value; + config_substitution.new_value = ConfigOptionUniquePtr(opt->clone()); + substitutions_ctxt.substitutions.emplace_back(std::move(config_substitution)); } return success; } diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 1504448b5..a4882d038 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -37,6 +37,30 @@ extern bool unescape_strings_cstyle(const std::string &str, std::vector< extern std::string escape_ampersand(const std::string& str); +namespace ConfigHelpers { + inline bool looks_like_enum_value(std::string value) + { + boost::trim(value); + if (value.empty() || value.size() > 64 || ! isalpha(value.front())) + return false; + for (const char c : value) + if (! (isalnum(c) || c == '_' || c == '-')) + return false; + return true; + } + + inline bool enum_looks_like_true_value(std::string value) { + boost::trim(value); + return boost::iequals(value, "enabled") || boost::iequals(value, "on"); + } + + enum DeserializationResult { + Loaded, + Substituted, + Failed, + }; +}; + // Base for all exceptions thrown by the configuration layer. class ConfigurationError : public Slic3r::RuntimeError { public: @@ -1320,24 +1344,39 @@ public: } return vv; } - - bool deserialize(const std::string &str, bool append = false) override + + ConfigHelpers::DeserializationResult deserialize_with_substitutions(const std::string &str, bool append, bool substitute) { if (! append) this->values.clear(); std::istringstream is(str); std::string item_str; + bool substituted = false; while (std::getline(is, item_str, ',')) { boost::trim(item_str); + unsigned char new_value = 0; if (item_str == "nil") { if (NULLABLE) this->values.push_back(nil_value()); else throw ConfigurationError("Deserializing nil into a non-nullable object"); + } else if (item_str == "1") { + new_value = true; + } else if (item_str == "0") { + new_value = false; + } else if (substitute && ConfigHelpers::looks_like_enum_value(item_str)) { + new_value = ConfigHelpers::enum_looks_like_true_value(item_str); + substituted = true; } else - this->values.push_back(item_str.compare("1") == 0); + return ConfigHelpers::DeserializationResult::Failed; + this->values.push_back(new_value); } - return true; + return substituted ? ConfigHelpers::DeserializationResult::Substituted : ConfigHelpers::DeserializationResult::Loaded; + } + + bool deserialize(const std::string &str, bool append = false) override + { + return this->deserialize_with_substitutions(str, append, false) == ConfigHelpers::DeserializationResult::Loaded; } protected: diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index 4bcb5a940..d397de061 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -271,7 +271,9 @@ static void add_config_substitutions(const ConfigSubstitutions& conf_substitutio const ConfigOptionDef* def = conf_substitution.opt_def; if (!def) continue; - if (def->type == coEnum) { + switch (def->type) { + case coEnum: + { const std::vector& labels = def->enum_labels; const std::vector& values = def->enum_values; int val = conf_substitution.new_value->getInt(); @@ -296,9 +298,24 @@ static void add_config_substitutions(const ConfigSubstitutions& conf_substitutio } else new_val = from_u8(_utf8(labels[val])); + break; } - else if (def->type == coBool) + case coBool: new_val = conf_substitution.new_value->getBool() ? "true" : "false"; + break; + case coBools: + if (conf_substitution.new_value->nullable()) + for (const char v : static_cast(conf_substitution.new_value.get())->values) + new_val += std::string(v == ConfigOptionBoolsNullable::nil_value() ? "nil" : v ? "true" : "false") + ", "; + else + for (const char v : static_cast(conf_substitution.new_value.get())->values) + new_val += std::string(v ? "true" : "false") + ", "; + if (! new_val.empty()) + new_val.erase(new_val.begin() + new_val.size() - 2, new_val.end()); + break; + default: + assert(false); + } changes += "" + bold(_(def->label)) + ": " + format_wxstr(_L("new unknown value %1% was changed to default value %2%"), bold(conf_substitution.old_value), bold(new_val)) + From 3782d6a86485d8d88d8924148c5a9483a5be6e0a Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 1 Jul 2021 08:44:02 +0200 Subject: [PATCH 67/80] Forward compatibility, parameter susbtitution: Substitute vector values (extruder specific) with their default, if the default is a single value vector. Show the "Physical Printers" label in the substitution window. --- src/libslic3r/Config.cpp | 15 ++++++++++++--- src/libslic3r/Config.hpp | 14 ++++++++++---- src/slic3r/GUI/GUI.cpp | 14 +++++++++----- 3 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index 2917f9c6f..96a5a2171 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -541,9 +541,18 @@ bool ConfigBase::set_deserialize_raw(const t_config_option_key &opt_key_src, con bool substituted = false; if (optdef->type == coBools && substitutions_ctxt.rule != ForwardCompatibilitySubstitutionRule::Disable) { //FIXME Special handling of vectors of bools, quick and not so dirty solution before PrusaSlicer 2.3.2 release. - auto result = opt->nullable() ? - static_cast(opt)->deserialize_with_substitutions(value, append, true) : - static_cast(opt)->deserialize_with_substitutions(value, append, true); + bool nullable = opt->nullable(); + ConfigHelpers::DeserializationSubstitution default_value = ConfigHelpers::DeserializationSubstitution::DefaultsToFalse; + if (optdef->default_value) { + // Default value for vectors of booleans used in a "per extruder" context, thus the default contains just a single value. + assert(dynamic_cast*>(optdef->default_value.get())); + auto &values = static_cast*>(optdef->default_value.get())->values; + if (values.size() == 1 && values.front() == 1) + default_value = ConfigHelpers::DeserializationSubstitution::DefaultsToTrue; + } + auto result = nullable ? + static_cast(opt)->deserialize_with_substitutions(value, append, default_value) : + static_cast(opt)->deserialize_with_substitutions(value, append, default_value); success = result != ConfigHelpers::DeserializationResult::Failed; substituted = result == ConfigHelpers::DeserializationResult::Substituted; } else { diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index a4882d038..39c4aa70a 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -54,6 +54,12 @@ namespace ConfigHelpers { return boost::iequals(value, "enabled") || boost::iequals(value, "on"); } + enum DeserializationSubstitution { + Disabled, + DefaultsToFalse, + DefaultsToTrue + }; + enum DeserializationResult { Loaded, Substituted, @@ -1345,7 +1351,7 @@ public: return vv; } - ConfigHelpers::DeserializationResult deserialize_with_substitutions(const std::string &str, bool append, bool substitute) + ConfigHelpers::DeserializationResult deserialize_with_substitutions(const std::string &str, bool append, ConfigHelpers::DeserializationSubstitution substitution) { if (! append) this->values.clear(); @@ -1364,8 +1370,8 @@ public: new_value = true; } else if (item_str == "0") { new_value = false; - } else if (substitute && ConfigHelpers::looks_like_enum_value(item_str)) { - new_value = ConfigHelpers::enum_looks_like_true_value(item_str); + } else if (substitution != ConfigHelpers::DeserializationSubstitution::Disabled && ConfigHelpers::looks_like_enum_value(item_str)) { + new_value = ConfigHelpers::enum_looks_like_true_value(item_str) || substituted == ConfigHelpers::DeserializationSubstitution::DefaultsToTrue; substituted = true; } else return ConfigHelpers::DeserializationResult::Failed; @@ -1376,7 +1382,7 @@ public: bool deserialize(const std::string &str, bool append = false) override { - return this->deserialize_with_substitutions(str, append, false) == ConfigHelpers::DeserializationResult::Loaded; + return this->deserialize_with_substitutions(str, append, ConfigHelpers::DeserializationSubstitution::Disabled) == ConfigHelpers::DeserializationResult::Loaded; } protected: diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index d397de061..b1bcde237 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -329,11 +329,15 @@ void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_su wxString changes; auto preset_type_name = [](Preset::Type type) { - return type == Slic3r::Preset::TYPE_PRINT ? _L("Print settings") : - type == Slic3r::Preset::TYPE_SLA_PRINT ? _L("SLA print settings") : - type == Slic3r::Preset::TYPE_FILAMENT ? _L("Filament") : - type == Slic3r::Preset::TYPE_SLA_MATERIAL ? _L("SLA material") : - type == Slic3r::Preset::TYPE_PRINTER ? _L("Printer") : "" ; + switch (type) { + case Preset::TYPE_PRINT: return _L("Print settings"); + case Preset::TYPE_SLA_PRINT: return _L("SLA print settings"); + case Preset::TYPE_FILAMENT: return _L("Filament"); + case Preset::TYPE_SLA_MATERIAL: return _L("SLA material"); + case Preset::TYPE_PRINTER: return _L("Printer"); + case Preset::TYPE_PHYSICAL_PRINTER: return _L("Physical Printer"); + default: assert(false); return wxString(); + } }; for (const PresetConfigSubstitutions& substitution : presets_config_substitutions) { From 9c7743c1c7c2d1b6bdaf742cd28535fc7fe25ba8 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 1 Jul 2021 16:25:17 +0200 Subject: [PATCH 68/80] Workaround for OSX file picker. Saving SL1S files did not work, the file picker replaced the SL1S extension with SL1. --- src/slic3r/GUI/GUI_App.cpp | 4 +++- src/slic3r/GUI/GUI_App.hpp | 4 +++- src/slic3r/GUI/Plater.cpp | 3 ++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 7112e9c68..620eb127d 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -427,7 +427,9 @@ wxString file_wildcards(FileType file_type, const std::string &custom_extension) /* FT_TEX */ "Texture (*.png, *.svg)|*.png;*.PNG;*.svg;*.SVG", - /* FT_PNGZIP */ "Masked SLA files (*.sl1, *.sl1s)|*.sl1;*.SL1;*.sl1s;*.SL1S", + /* FT_SL1 */ "Masked SLA files (*.sl1, *.sl1s)|*.sl1;*.SL1;*.sl1s;*.SL1S", + // Workaround for OSX file picker, for some reason it always saves with the 1st extension. + /* FT_SL1S */ "Masked SLA files (*.sl1s, *.sl1)|*.sl1s;*.SL1S;*.sl1;*.SL1", }; std::string out = defaults[file_type]; diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index a4bb3642f..165897ab4 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -63,7 +63,9 @@ enum FileType FT_TEX, - FT_PNGZIP, + FT_SL1, + // Workaround for OSX file picker, for some reason it always saves with the 1st extension. + FT_SL1S, FT_SIZE, }; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 38a1b01b9..a15a044dd 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5334,10 +5334,11 @@ void Plater::export_gcode(bool prefer_removable) fs::path output_path; { + std::string ext = default_output_file.extension().string(); wxFileDialog dlg(this, (printer_technology() == ptFFF) ? _L("Save G-code file as:") : _L("Save SL1 / SL1S file as:"), start_dir, from_path(default_output_file.filename()), - GUI::file_wildcards((printer_technology() == ptFFF) ? FT_GCODE : FT_PNGZIP, default_output_file.extension().string()), + GUI::file_wildcards((printer_technology() == ptFFF) ? FT_GCODE : boost::iequals(ext, ".sl1s") ? FT_SL1S : FT_SL1, ext), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if (dlg.ShowModal() == wxID_OK) From 0a2a86dea4f04ec4ceac62da905faaf6ec87805c Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 1 Jul 2021 16:48:38 +0200 Subject: [PATCH 69/80] Improvement in the subtitution information dialog. --- src/libslic3r/Config.hpp | 6 ++-- src/slic3r/GUI/GUI.cpp | 53 ++++++++++++++++++++---------------- src/slic3r/GUI/MsgDialog.cpp | 4 +-- src/slic3r/GUI/MsgDialog.hpp | 2 +- src/slic3r/GUI/Plater.cpp | 2 +- 5 files changed, 36 insertions(+), 31 deletions(-) diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 39c4aa70a..98596577a 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -54,13 +54,13 @@ namespace ConfigHelpers { return boost::iequals(value, "enabled") || boost::iequals(value, "on"); } - enum DeserializationSubstitution { + enum class DeserializationSubstitution { Disabled, DefaultsToFalse, DefaultsToTrue }; - enum DeserializationResult { + enum class DeserializationResult { Loaded, Substituted, Failed, @@ -1371,7 +1371,7 @@ public: } else if (item_str == "0") { new_value = false; } else if (substitution != ConfigHelpers::DeserializationSubstitution::Disabled && ConfigHelpers::looks_like_enum_value(item_str)) { - new_value = ConfigHelpers::enum_looks_like_true_value(item_str) || substituted == ConfigHelpers::DeserializationSubstitution::DefaultsToTrue; + new_value = ConfigHelpers::enum_looks_like_true_value(item_str) || substitution == ConfigHelpers::DeserializationSubstitution::DefaultsToTrue; substituted = true; } else return ConfigHelpers::DeserializationResult::Failed; diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index b1bcde237..b3f32d872 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -5,6 +5,7 @@ #include #include +#include #include #if __APPLE__ @@ -258,7 +259,12 @@ void warning_catcher(wxWindow* parent, const wxString& message) msg.ShowModal(); } -static wxString bold(const wxString& str) +static wxString bold(const wxString& str) +{ + return wxString::Format("%s", str); +}; + +static wxString bold_string(const wxString& str) { return wxString::Format("\"%s\"", str); }; @@ -290,14 +296,17 @@ static void add_config_substitutions(const ConfigSubstitutions& conf_substitutio auto it = std::find(values.begin(), values.end(), key_val.first); if (it == values.end()) break; - new_val = from_u8(_utf8(labels[it - values.begin()])); + auto idx = it - values.begin(); + new_val = wxString("\"") + values[idx] + "\"" + " (" + from_u8(_utf8(labels[idx])) + ")"; break; } - if (new_val.IsEmpty()) - new_val = _L("Undef"); + if (new_val.IsEmpty()) { + assert(false); + new_val = _L("Undefined"); + } } else - new_val = from_u8(_utf8(labels[val])); + new_val = wxString("\"") + values[val] + "\"" + " (" + from_u8(_utf8(labels[val])) + ")"; break; } case coBool: @@ -317,13 +326,21 @@ static void add_config_substitutions(const ConfigSubstitutions& conf_substitutio assert(false); } - changes += "" + bold(_(def->label)) + ": " + - format_wxstr(_L("new unknown value %1% was changed to default value %2%"), bold(conf_substitution.old_value), bold(new_val)) + + changes += format_wxstr("\"%1%\" (%2%): ", def->opt_key, _(def->label)) + + format_wxstr(_L("%1% was substituted with %2%"), bold_string(conf_substitution.old_value), bold(new_val)) + ""; } changes += ""; } +static wxString substitution_message(const wxString& changes) +{ + return + _L("Most likely the configuration was produced by a newer version of PrusaSlicer or by some PrusaSlicer fork.") + " " + + _L("The following values were substituted:") + "\n" + changes + "\n\n" + + _L("Please review the substitutions and adjust them if needed."); +} + void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_substitutions) { wxString changes; @@ -341,37 +358,25 @@ void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_su }; for (const PresetConfigSubstitutions& substitution : presets_config_substitutions) { - changes += "\n\n" + format_wxstr("%1% : %2%", preset_type_name(substitution.preset_type), bold(substitution.preset_name)); + changes += "\n\n" + format_wxstr("%1% : %2%", preset_type_name(substitution.preset_type), bold_string(substitution.preset_name)); if (!substitution.preset_file.empty()) changes += format_wxstr(" (%1%)", substitution.preset_file); add_config_substitutions(substitution.substitutions, changes); } - if (!changes.IsEmpty()) - changes += "\n\n"; - wxString message = format_wxstr( _L("Loading profiles found following incompatibilities:%1%" - " To recover these files, incompatible values were changed to default values.\n" - " But data in files won't be changed until you save them in PrusaSlicer."), changes); - - InfoDialog msg(nullptr, message); + InfoDialog msg(nullptr, _L("Configuration bundle was loaded, however some configuration values were not recognized."), substitution_message(changes)); msg.ShowModal(); } void show_substitutions_info(const ConfigSubstitutions& config_substitutions, const std::string& filename) { wxString changes = "\n"; - add_config_substitutions(config_substitutions, changes); - if (!changes.IsEmpty()) - changes += "\n\n"; - - wxString message = format(_L("Loading %1% file found incompatibilities.\n" - "To recover this file, incompatible values were changed to default values:%2%" - "But data in files won't be changed until you save them in PrusaSlicer."), bold(from_u8(filename)), changes); - - InfoDialog msg(nullptr, message); + InfoDialog msg(nullptr, + format_wxstr(_L("Configuration file \"%1%\" was loaded, however some configuration values were not recognized."), from_u8(filename)), + substitution_message(changes)); msg.ShowModal(); } diff --git a/src/slic3r/GUI/MsgDialog.cpp b/src/slic3r/GUI/MsgDialog.cpp index 742cc2ec1..d063de068 100644 --- a/src/slic3r/GUI/MsgDialog.cpp +++ b/src/slic3r/GUI/MsgDialog.cpp @@ -110,8 +110,8 @@ ErrorDialog::ErrorDialog(wxWindow *parent, const wxString &msg, bool monospaced_ // InfoDialog -InfoDialog::InfoDialog(wxWindow* parent, const wxString& msg) - : MsgDialog(parent, wxString::Format(_L("%s information"), SLIC3R_APP_NAME), _L("Note that")) +InfoDialog::InfoDialog(wxWindow* parent, const wxString &title, const wxString& msg) + : MsgDialog(parent, wxString::Format(_L("%s information"), SLIC3R_APP_NAME), title) , msg(msg) { this->SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW)); diff --git a/src/slic3r/GUI/MsgDialog.hpp b/src/slic3r/GUI/MsgDialog.hpp index dcc6bdca6..85d524a44 100644 --- a/src/slic3r/GUI/MsgDialog.hpp +++ b/src/slic3r/GUI/MsgDialog.hpp @@ -70,7 +70,7 @@ private: class InfoDialog : public MsgDialog { public: - InfoDialog(wxWindow *parent, const wxString &msg); + InfoDialog(wxWindow *parent, const wxString &title, const wxString &msg); InfoDialog(InfoDialog&&) = delete; InfoDialog(const InfoDialog&) = delete; InfoDialog&operator=(InfoDialog&&) = delete; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a15a044dd..37396348b 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5341,7 +5341,7 @@ void Plater::export_gcode(bool prefer_removable) GUI::file_wildcards((printer_technology() == ptFFF) ? FT_GCODE : boost::iequals(ext, ".sl1s") ? FT_SL1S : FT_SL1, ext), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); - if (dlg.ShowModal() == wxID_OK) + if (dlg.ShowModal() == wxID_OK) output_path = into_path(dlg.GetPath()); } From 32ee4bb5232f654c580544b0ec7ea135577e3aaf Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 1 Jul 2021 16:51:15 +0200 Subject: [PATCH 70/80] Updated localization file. --- resources/localization/PrusaSlicer.pot | 419 ++++++++++--------------- 1 file changed, 167 insertions(+), 252 deletions(-) diff --git a/resources/localization/PrusaSlicer.pot b/resources/localization/PrusaSlicer.pot index 1a04d5bc6..915c56d84 100644 --- a/resources/localization/PrusaSlicer.pot +++ b/resources/localization/PrusaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-30 15:03+0200\n" +"POT-Creation-Date: 2021-07-01 16:50+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -507,7 +507,7 @@ msgstr "" msgid "SLA print" msgstr "" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/GUI.cpp:318 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/GUI.cpp:353 #: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/Preset.cpp:1309 msgid "SLA material" msgstr "" @@ -887,7 +887,7 @@ msgid "SLA Technology Printers" msgstr "" #: src/slic3r/GUI/ConfigWizard.cpp:2278 src/slic3r/GUI/DoubleSlider.cpp:2265 -#: src/slic3r/GUI/DoubleSlider.cpp:2285 src/slic3r/GUI/GUI.cpp:245 +#: src/slic3r/GUI/DoubleSlider.cpp:2285 src/slic3r/GUI/GUI.cpp:246 msgid "Notice" msgstr "" @@ -923,7 +923,7 @@ msgstr "" msgid "&Finish" msgstr "" -#: src/slic3r/GUI/ConfigWizard.cpp:2559 src/slic3r/GUI/FirmwareDialog.cpp:151 +#: src/slic3r/GUI/ConfigWizard.cpp:2559 src/slic3r/GUI/FirmwareDialog.cpp:153 #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:248 #: src/slic3r/GUI/ProgressStatusBar.cpp:26 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:656 @@ -1373,31 +1373,31 @@ msgid "" "\"%1%\"" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:150 +#: src/slic3r/GUI/FirmwareDialog.cpp:152 msgid "Flash!" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:152 +#: src/slic3r/GUI/FirmwareDialog.cpp:154 msgid "Flashing in progress. Please do not disconnect the printer!" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:199 +#: src/slic3r/GUI/FirmwareDialog.cpp:201 msgid "Flashing failed" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:282 +#: src/slic3r/GUI/FirmwareDialog.cpp:284 msgid "Flashing succeeded!" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:283 +#: src/slic3r/GUI/FirmwareDialog.cpp:285 msgid "Flashing failed. Please see the avrdude log below." msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:284 +#: src/slic3r/GUI/FirmwareDialog.cpp:286 msgid "Flashing cancelled." msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:332 +#: src/slic3r/GUI/FirmwareDialog.cpp:334 #, possible-c-format msgid "" "This firmware hex file does not match the printer model.\n" @@ -1408,13 +1408,13 @@ msgid "" "Please only continue if you are sure this is the right thing to do." msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:419 src/slic3r/GUI/FirmwareDialog.cpp:454 +#: src/slic3r/GUI/FirmwareDialog.cpp:421 src/slic3r/GUI/FirmwareDialog.cpp:456 #, possible-c-format msgid "" "Multiple %s devices found. Please only connect one at a time for flashing." msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:436 +#: src/slic3r/GUI/FirmwareDialog.cpp:438 #, possible-c-format msgid "" "The %s device was not found.\n" @@ -1422,80 +1422,80 @@ msgid "" "connector ..." msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:548 +#: src/slic3r/GUI/FirmwareDialog.cpp:550 #, possible-c-format msgid "The %s device could not have been found" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:645 +#: src/slic3r/GUI/FirmwareDialog.cpp:651 #, possible-c-format msgid "Error accessing port at %s: %s" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:647 +#: src/slic3r/GUI/FirmwareDialog.cpp:653 #, possible-c-format msgid "Error: %s" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:777 +#: src/slic3r/GUI/FirmwareDialog.cpp:782 msgid "Firmware flasher" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:802 +#: src/slic3r/GUI/FirmwareDialog.cpp:807 msgid "Firmware image:" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:805 +#: src/slic3r/GUI/FirmwareDialog.cpp:810 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:291 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:366 msgid "Browse" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:807 +#: src/slic3r/GUI/FirmwareDialog.cpp:812 msgid "Serial port:" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:809 +#: src/slic3r/GUI/FirmwareDialog.cpp:814 msgid "Autodetected" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:810 +#: src/slic3r/GUI/FirmwareDialog.cpp:815 msgid "Rescan" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:817 +#: src/slic3r/GUI/FirmwareDialog.cpp:822 msgid "Progress:" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:820 +#: src/slic3r/GUI/FirmwareDialog.cpp:825 msgid "Status:" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:821 +#: src/slic3r/GUI/FirmwareDialog.cpp:826 msgid "Ready" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:841 +#: src/slic3r/GUI/FirmwareDialog.cpp:846 msgid "Advanced: Output log" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:852 +#: src/slic3r/GUI/FirmwareDialog.cpp:857 #: src/slic3r/GUI/Mouse3DController.cpp:551 #: src/slic3r/GUI/PrintHostDialogs.cpp:200 msgid "Close" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:902 +#: src/slic3r/GUI/FirmwareDialog.cpp:907 msgid "" "Are you sure you want to cancel firmware flashing?\n" "This could leave your printer in an unusable state!" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:903 +#: src/slic3r/GUI/FirmwareDialog.cpp:908 msgid "Confirmation" msgstr "" -#: src/slic3r/GUI/FirmwareDialog.cpp:906 +#: src/slic3r/GUI/FirmwareDialog.cpp:911 msgid "Cancelling..." msgstr "" @@ -1677,18 +1677,18 @@ msgid "Custom G-codes" msgstr "" #: src/slic3r/GUI/GCodeViewer.cpp:4375 src/slic3r/GUI/GCodeViewer.cpp:4399 -#: src/slic3r/GUI/GUI.cpp:319 src/slic3r/GUI/Plater.cpp:698 +#: src/slic3r/GUI/GUI.cpp:354 src/slic3r/GUI/Plater.cpp:698 #: src/libslic3r/PrintConfig.cpp:117 msgid "Printer" msgstr "" #: src/slic3r/GUI/GCodeViewer.cpp:4377 src/slic3r/GUI/GCodeViewer.cpp:4404 -#: src/slic3r/GUI/GUI.cpp:315 src/slic3r/GUI/Plater.cpp:694 +#: src/slic3r/GUI/GUI.cpp:350 src/slic3r/GUI/Plater.cpp:694 msgid "Print settings" msgstr "" #: src/slic3r/GUI/GCodeViewer.cpp:4380 src/slic3r/GUI/GCodeViewer.cpp:4410 -#: src/slic3r/GUI/GUI.cpp:317 src/slic3r/GUI/Plater.cpp:695 +#: src/slic3r/GUI/GUI.cpp:352 src/slic3r/GUI/Plater.cpp:695 #: src/slic3r/GUI/Tab.cpp:1801 src/slic3r/GUI/Tab.cpp:1802 msgid "Filament" msgstr "" @@ -2356,7 +2356,7 @@ msgstr "" msgid "Are you sure you want to do it?" msgstr "" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:257 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:258 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:621 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:645 #: src/slic3r/GUI/WipeTowerDialog.cpp:45 src/slic3r/GUI/WipeTowerDialog.cpp:366 @@ -2467,32 +2467,46 @@ msgstr "" msgid "Add supports" msgstr "" -#: src/slic3r/GUI/GUI.cpp:295 src/slic3r/GUI/UnsavedChangesDialog.cpp:149 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 -msgid "Undef" +#: src/slic3r/GUI/GUI.cpp:305 +msgid "Undefined" msgstr "" -#: src/slic3r/GUI/GUI.cpp:304 -msgid "new unknown value %1% was changed to default value %2%" +#: src/slic3r/GUI/GUI.cpp:330 +msgid "%1% was substituted with %2%" msgstr "" -#: src/slic3r/GUI/GUI.cpp:316 src/slic3r/GUI/Plater.cpp:696 +#: src/slic3r/GUI/GUI.cpp:339 +msgid "" +"Most likely the configuration was produced by a newer version of PrusaSlicer " +"or by some PrusaSlicer fork." +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:340 +msgid "The following values were substituted:" +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:341 +msgid "Please review the substitutions and adjust them if needed." +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:351 src/slic3r/GUI/Plater.cpp:696 msgid "SLA print settings" msgstr "" -#: src/slic3r/GUI/GUI.cpp:332 -msgid "" -"Loading profiles found following incompatibilities:%1% To recover these " -"files, incompatible values were changed to default values.\n" -" But data in files won't be changed until you save them in PrusaSlicer." +#: src/slic3r/GUI/GUI.cpp:355 src/slic3r/GUI/PhysicalPrinterDialog.cpp:156 +msgid "Physical Printer" msgstr "" -#: src/slic3r/GUI/GUI.cpp:349 +#: src/slic3r/GUI/GUI.cpp:368 msgid "" -"Loading %1% file found incompatibilities.\n" -"To recover this file, incompatible values were changed to default values:" -"%2%But data in files won't be changed until you save them in PrusaSlicer." +"Configuration bundle was loaded, however some configuration values were not " +"recognized." +msgstr "" + +#: src/slic3r/GUI/GUI.cpp:378 +msgid "" +"Configuration file \"%1%\" was loaded, however some configuration values " +"were not recognized." msgstr "" #: src/slic3r/GUI/GUI_App.cpp:247 @@ -2541,7 +2555,7 @@ msgstr "" msgid "Start the application" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:589 +#: src/slic3r/GUI/GUI_App.cpp:591 #, possible-c-format msgid "" "%s has encountered an error. It was likely caused by running out of memory. " @@ -2551,11 +2565,11 @@ msgid "" "The application will now terminate." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:592 +#: src/slic3r/GUI/GUI_App.cpp:594 msgid "Fatal error" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:596 +#: src/slic3r/GUI/GUI_App.cpp:598 msgid "" "PrusaSlicer has encountered a localization error. Please report to " "PrusaSlicer team, what language was active and in which scenario this issue " @@ -2564,248 +2578,248 @@ msgid "" "The application will now terminate." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:599 +#: src/slic3r/GUI/GUI_App.cpp:601 msgid "Critical error" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:747 +#: src/slic3r/GUI/GUI_App.cpp:749 msgid "" "Error parsing PrusaSlicer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error. Your user profiles will " "not be affected." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:753 +#: src/slic3r/GUI/GUI_App.cpp:755 msgid "" "Error parsing PrusaGCodeViewer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:807 +#: src/slic3r/GUI/GUI_App.cpp:809 #, possible-c-format msgid "" "%s\n" "Do you want to continue?" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:809 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 +#: src/slic3r/GUI/GUI_App.cpp:811 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 msgid "Remember my choice" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:844 +#: src/slic3r/GUI/GUI_App.cpp:846 msgid "Loading configuration" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:915 +#: src/slic3r/GUI/GUI_App.cpp:917 msgid "Preparing settings tabs" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1132 +#: src/slic3r/GUI/GUI_App.cpp:1134 msgid "" "You have the following presets with saved options for \"Print Host upload\"" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1136 +#: src/slic3r/GUI/GUI_App.cpp:1138 msgid "" "But since this version of PrusaSlicer we don't show this information in " "Printer Settings anymore.\n" "Settings will be available in physical printers settings." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1138 +#: src/slic3r/GUI/GUI_App.cpp:1140 msgid "" "By default new Printer devices will be named as \"Printer N\" during its " "creation.\n" "Note: This name can be changed later from the physical printers settings" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1141 src/slic3r/GUI/PhysicalPrinterDialog.cpp:691 +#: src/slic3r/GUI/GUI_App.cpp:1143 src/slic3r/GUI/PhysicalPrinterDialog.cpp:691 msgid "Information" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1154 src/slic3r/GUI/GUI_App.cpp:1165 +#: src/slic3r/GUI/GUI_App.cpp:1156 src/slic3r/GUI/GUI_App.cpp:1167 msgid "Recreating" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1170 +#: src/slic3r/GUI/GUI_App.cpp:1172 msgid "Loading of current presets" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1175 +#: src/slic3r/GUI/GUI_App.cpp:1177 msgid "Loading of a mode view" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1251 +#: src/slic3r/GUI/GUI_App.cpp:1253 msgid "Choose one file (3MF/AMF):" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1263 +#: src/slic3r/GUI/GUI_App.cpp:1265 msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1275 +#: src/slic3r/GUI/GUI_App.cpp:1277 msgid "Choose one file (GCODE/.GCO/.G/.ngc/NGC):" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1286 +#: src/slic3r/GUI/GUI_App.cpp:1288 msgid "Changing of an application language" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1409 +#: src/slic3r/GUI/GUI_App.cpp:1411 msgid "Select the language" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1409 +#: src/slic3r/GUI/GUI_App.cpp:1411 msgid "Language" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1558 +#: src/slic3r/GUI/GUI_App.cpp:1560 msgid "modified" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1607 +#: src/slic3r/GUI/GUI_App.cpp:1609 #, possible-c-format msgid "Run %s" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1611 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "&Configuration Snapshots" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1611 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "Inspect / activate configuration snapshots" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1612 +#: src/slic3r/GUI/GUI_App.cpp:1614 msgid "Take Configuration &Snapshot" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1612 +#: src/slic3r/GUI/GUI_App.cpp:1614 msgid "Capture a configuration snapshot" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1613 +#: src/slic3r/GUI/GUI_App.cpp:1615 msgid "Check for updates" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1613 +#: src/slic3r/GUI/GUI_App.cpp:1615 msgid "Check for configuration updates" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1616 +#: src/slic3r/GUI/GUI_App.cpp:1618 msgid "&Preferences" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1622 +#: src/slic3r/GUI/GUI_App.cpp:1624 msgid "Application preferences" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1627 src/slic3r/GUI/wxExtensions.cpp:685 +#: src/slic3r/GUI/GUI_App.cpp:1629 src/slic3r/GUI/wxExtensions.cpp:685 msgid "Simple" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1627 +#: src/slic3r/GUI/GUI_App.cpp:1629 msgid "Simple View Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1629 src/slic3r/GUI/wxExtensions.cpp:687 +#: src/slic3r/GUI/GUI_App.cpp:1631 src/slic3r/GUI/wxExtensions.cpp:687 msgctxt "Mode" msgid "Advanced" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1629 +#: src/slic3r/GUI/GUI_App.cpp:1631 msgid "Advanced View Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1630 src/slic3r/GUI/wxExtensions.cpp:688 +#: src/slic3r/GUI/GUI_App.cpp:1632 src/slic3r/GUI/wxExtensions.cpp:688 msgid "Expert" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1630 +#: src/slic3r/GUI/GUI_App.cpp:1632 msgid "Expert View Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1635 +#: src/slic3r/GUI/GUI_App.cpp:1637 msgid "Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1635 +#: src/slic3r/GUI/GUI_App.cpp:1637 #, possible-c-format msgid "%s View Mode" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1638 +#: src/slic3r/GUI/GUI_App.cpp:1640 msgid "&Language" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1641 +#: src/slic3r/GUI/GUI_App.cpp:1643 msgid "Flash printer &firmware" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1641 +#: src/slic3r/GUI/GUI_App.cpp:1643 msgid "Upload a firmware image into an Arduino based printer" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1657 +#: src/slic3r/GUI/GUI_App.cpp:1659 msgid "Taking configuration snapshot" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1657 +#: src/slic3r/GUI/GUI_App.cpp:1659 msgid "Snapshot name" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1695 +#: src/slic3r/GUI/GUI_App.cpp:1697 msgid "Failed to activate configuration snapshot." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1745 +#: src/slic3r/GUI/GUI_App.cpp:1747 msgid "Language selection" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1747 +#: src/slic3r/GUI/GUI_App.cpp:1749 msgid "" "Switching the language will trigger application restart.\n" "You will lose content of the plater." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1749 +#: src/slic3r/GUI/GUI_App.cpp:1751 msgid "Do you want to proceed?" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1776 +#: src/slic3r/GUI/GUI_App.cpp:1778 msgid "&Configuration" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1807 +#: src/slic3r/GUI/GUI_App.cpp:1809 msgid "The preset(s) modifications are successfully saved" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1828 +#: src/slic3r/GUI/GUI_App.cpp:1830 msgid "The uploads are still ongoing" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1828 +#: src/slic3r/GUI/GUI_App.cpp:1830 msgid "Stop them and continue anyway?" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:1831 +#: src/slic3r/GUI/GUI_App.cpp:1833 msgid "Ongoing uploads" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:2059 src/slic3r/GUI/Tab.cpp:3249 +#: src/slic3r/GUI/GUI_App.cpp:2061 src/slic3r/GUI/Tab.cpp:3249 msgid "It's impossible to print multi-part object(s) with SLA technology." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:2060 +#: src/slic3r/GUI/GUI_App.cpp:2062 msgid "Please check and fix your object list." msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:2061 src/slic3r/GUI/Jobs/SLAImportJob.cpp:212 +#: src/slic3r/GUI/GUI_App.cpp:2063 src/slic3r/GUI/Jobs/SLAImportJob.cpp:212 #: src/slic3r/GUI/Plater.cpp:2361 src/slic3r/GUI/Tab.cpp:3251 msgid "Attention!" msgstr "" -#: src/slic3r/GUI/GUI_App.cpp:2078 +#: src/slic3r/GUI/GUI_App.cpp:2080 msgid "Select a gcode file:" msgstr "" @@ -3791,11 +3805,11 @@ msgid "Load Config from ini/amf/3mf/gcode and merge" msgstr "" #: src/slic3r/GUI/KBShortcutsDialog.cpp:79 src/slic3r/GUI/Plater.cpp:771 -#: src/slic3r/GUI/Plater.cpp:6074 src/libslic3r/PrintConfig.cpp:3639 +#: src/slic3r/GUI/Plater.cpp:6075 src/libslic3r/PrintConfig.cpp:3639 msgid "Export G-code" msgstr "" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6075 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6076 msgid "Send G-code" msgstr "" @@ -4891,7 +4905,7 @@ msgid "Save zip file as:" msgstr "" #: src/slic3r/GUI/MainFrame.cpp:1406 src/slic3r/GUI/Plater.cpp:3017 -#: src/slic3r/GUI/Plater.cpp:5602 src/slic3r/GUI/Tab.cpp:1582 +#: src/slic3r/GUI/Plater.cpp:5603 src/slic3r/GUI/Tab.cpp:1582 #: src/slic3r/GUI/Tab.cpp:4122 msgid "Slicing" msgstr "" @@ -4992,72 +5006,68 @@ msgstr "" msgid "%s information" msgstr "" -#: src/slic3r/GUI/MsgDialog.cpp:114 -msgid "Note that" -msgstr "" - -#: src/slic3r/GUI/NotificationManager.hpp:471 +#: src/slic3r/GUI/NotificationManager.cpp:41 msgid "3D Mouse disconnected." msgstr "" -#: src/slic3r/GUI/NotificationManager.hpp:474 +#: src/slic3r/GUI/NotificationManager.cpp:44 msgid "Configuration update is available." msgstr "" -#: src/slic3r/GUI/NotificationManager.hpp:474 +#: src/slic3r/GUI/NotificationManager.cpp:44 msgid "See more." msgstr "" -#: src/slic3r/GUI/NotificationManager.hpp:476 +#: src/slic3r/GUI/NotificationManager.cpp:46 msgid "New version is available." msgstr "" -#: src/slic3r/GUI/NotificationManager.hpp:476 +#: src/slic3r/GUI/NotificationManager.cpp:46 msgid "See Releases page." msgstr "" -#: src/slic3r/GUI/NotificationManager.hpp:479 +#: src/slic3r/GUI/NotificationManager.cpp:49 msgid "" "You have just added a G-code for color change, but its value is empty.\n" "To export the G-code correctly, check the \"Color Change G-code\" in " "\"Printer Settings > Custom G-code\"" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:515 -#: src/slic3r/GUI/NotificationManager.cpp:523 +#: src/slic3r/GUI/NotificationManager.cpp:533 +#: src/slic3r/GUI/NotificationManager.cpp:541 msgid "More" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:890 -#: src/slic3r/GUI/NotificationManager.cpp:1170 +#: src/slic3r/GUI/NotificationManager.cpp:908 +#: src/slic3r/GUI/NotificationManager.cpp:1188 msgid "Export G-Code." msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:936 +#: src/slic3r/GUI/NotificationManager.cpp:954 msgid "Open Folder." msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:975 +#: src/slic3r/GUI/NotificationManager.cpp:993 msgid "Eject drive" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:1089 -#: src/slic3r/GUI/NotificationManager.cpp:1105 -#: src/slic3r/GUI/NotificationManager.cpp:1116 +#: src/slic3r/GUI/NotificationManager.cpp:1107 +#: src/slic3r/GUI/NotificationManager.cpp:1123 +#: src/slic3r/GUI/NotificationManager.cpp:1134 msgid "ERROR:" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:1094 -#: src/slic3r/GUI/NotificationManager.cpp:1109 -#: src/slic3r/GUI/NotificationManager.cpp:1124 +#: src/slic3r/GUI/NotificationManager.cpp:1112 +#: src/slic3r/GUI/NotificationManager.cpp:1127 +#: src/slic3r/GUI/NotificationManager.cpp:1142 msgid "WARNING:" msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:1173 +#: src/slic3r/GUI/NotificationManager.cpp:1191 msgid "Slicing finished." msgstr "" -#: src/slic3r/GUI/NotificationManager.cpp:1215 +#: src/slic3r/GUI/NotificationManager.cpp:1233 msgid "Exporting finished." msgstr "" @@ -5130,10 +5140,6 @@ msgstr "" msgid "This printer will be shown in the presets list as" msgstr "" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:156 -msgid "Physical Printer" -msgstr "" - #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:163 msgid "Type here the name of your printer device" msgstr "" @@ -5315,12 +5321,12 @@ msgstr "" msgid "Around object" msgstr "" -#: src/slic3r/GUI/Plater.cpp:757 src/slic3r/GUI/Plater.cpp:6075 +#: src/slic3r/GUI/Plater.cpp:757 src/slic3r/GUI/Plater.cpp:6076 msgid "Send to printer" msgstr "" #: src/slic3r/GUI/Plater.cpp:772 src/slic3r/GUI/Plater.cpp:3017 -#: src/slic3r/GUI/Plater.cpp:5605 +#: src/slic3r/GUI/Plater.cpp:5606 msgid "Slice now" msgstr "" @@ -5820,44 +5826,44 @@ msgstr "" msgid "Cut by Plane" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5337 +#: src/slic3r/GUI/Plater.cpp:5338 msgid "Save G-code file as:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5337 +#: src/slic3r/GUI/Plater.cpp:5338 msgid "Save SL1 / SL1S file as:" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5484 +#: src/slic3r/GUI/Plater.cpp:5485 #, possible-c-format msgid "STL file exported to %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5501 +#: src/slic3r/GUI/Plater.cpp:5502 #, possible-c-format msgid "AMF file exported to %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5504 +#: src/slic3r/GUI/Plater.cpp:5505 #, possible-c-format msgid "Error exporting AMF file %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5533 +#: src/slic3r/GUI/Plater.cpp:5534 #, possible-c-format msgid "3MF file exported to %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:5538 +#: src/slic3r/GUI/Plater.cpp:5539 #, possible-c-format msgid "Error exporting 3MF file %s" msgstr "" -#: src/slic3r/GUI/Plater.cpp:6074 +#: src/slic3r/GUI/Plater.cpp:6075 msgid "Export" msgstr "" -#: src/slic3r/GUI/Plater.cpp:6169 +#: src/slic3r/GUI/Plater.cpp:6170 msgid "Paste From Clipboard" msgstr "" @@ -7320,6 +7326,12 @@ msgstr "" msgid "Material Settings" msgstr "" +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:149 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 +msgid "Undef" +msgstr "" + #: src/slic3r/GUI/UnsavedChangesDialog.cpp:537 msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "" @@ -7502,6 +7514,10 @@ msgstr "" msgid "Install" msgstr "" +#: src/slic3r/GUI/UpdateDialogs.cpp:140 +msgid "Don't install" +msgstr "" + #: src/slic3r/GUI/UpdateDialogs.cpp:157 src/slic3r/GUI/UpdateDialogs.cpp:219 #, possible-c-format msgid "%s incompatibility" @@ -11618,107 +11634,6 @@ msgstr "" msgid "Scale to fit the given volume." msgstr "" -#: src/libslic3r/PrintConfig.cpp:3777 -msgid "Ignore non-existent config files" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3778 -msgid "Do not fail if a file supplied to --load does not exist." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3781 -msgid "" -"Forward-compatibility rule when loading configurations from config files and " -"project files (3MF, AMF)." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3782 -msgid "" -"This version of PrusaSlicer may not understand configurations produced by " -"newest PrusaSlicer versions. For example, newer PrusaSlicer may extend the " -"list of supported firmware flavors. One may decide to bail out or to " -"substitute an unknown value with a default silently or verbosely." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3789 -msgid "Bail out on unknown configuration values" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3790 -msgid "" -"Enable reading unknown configuration values by verbosely substituting them " -"with defaults." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3791 -msgid "" -"Enable reading unknown configuration values by silently substituting them " -"with defaults." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3795 -msgid "Load config file" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3796 -msgid "" -"Load configuration from the specified file. It can be used more than once to " -"load options from multiple files." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3799 -msgid "Output File" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3800 -msgid "" -"The file where the output will be written (if not specified, it will be " -"based on the input file)." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3804 -msgid "Single instance mode" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3805 -msgid "" -"If enabled, the command line arguments are sent to an existing instance of " -"GUI PrusaSlicer, or an existing PrusaSlicer window is activated. Overrides " -"the \"single_instance\" configuration value from application preferences." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3816 -msgid "Data directory" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3817 -msgid "" -"Load and store settings at the given directory. This is useful for " -"maintaining different profiles or including configurations from a network " -"storage." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3820 -msgid "Logging level" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3821 -msgid "" -"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:" -"trace\n" -"For example. loglevel=2 logs fatal, error and warning level messages." -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3827 -msgid "Render with a software renderer" -msgstr "" - -#: src/libslic3r/PrintConfig.cpp:3828 -msgid "" -"Render with a software renderer. The bundled MESA software renderer is " -"loaded instead of the default OpenGL driver." -msgstr "" - #: src/libslic3r/Zipper.cpp:27 msgid "Error with zip archive" msgstr "" From 0d03cc4cbefa043f0bb2735e0b21503419a6919a Mon Sep 17 00:00:00 2001 From: bubnikv Date: Thu, 1 Jul 2021 16:52:32 +0200 Subject: [PATCH 71/80] Bumped up version to 2.3.2-beta. Changed profile path to Prusa-beta. --- src/slic3r/GUI/GUI_App.cpp | 2 +- version.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 620eb127d..cc34248e4 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -714,7 +714,7 @@ void GUI_App::init_app_config() { // Profiles for the alpha are stored into the PrusaSlicer-alpha directory to not mix with the current release. // SetAppName(SLIC3R_APP_KEY); - SetAppName(SLIC3R_APP_KEY "-alpha"); + SetAppName(SLIC3R_APP_KEY "-beta"); // SetAppDisplayName(SLIC3R_APP_NAME); // Set the Slic3r data directory at the Slic3r XS module. diff --git a/version.inc b/version.inc index 9fb89fb07..a02ece0dc 100644 --- a/version.inc +++ b/version.inc @@ -3,7 +3,7 @@ set(SLIC3R_APP_NAME "PrusaSlicer") set(SLIC3R_APP_KEY "PrusaSlicer") -set(SLIC3R_VERSION "2.3.2-alpha0") +set(SLIC3R_VERSION "2.3.2-beta") set(SLIC3R_BUILD_ID "PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN") set(SLIC3R_RC_VERSION "2,3,2,0") set(SLIC3R_RC_VERSION_DOTS "2.3.2.0") From 1a249edc7a14dc537ab70bc6dfd67237ccf1f209 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Fri, 2 Jul 2021 08:57:36 +0200 Subject: [PATCH 72/80] Adjusted wording of the config substitution dialog. --- src/slic3r/GUI/GUI.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp index b3f32d872..5f88be734 100644 --- a/src/slic3r/GUI/GUI.cpp +++ b/src/slic3r/GUI/GUI.cpp @@ -338,7 +338,7 @@ static wxString substitution_message(const wxString& changes) return _L("Most likely the configuration was produced by a newer version of PrusaSlicer or by some PrusaSlicer fork.") + " " + _L("The following values were substituted:") + "\n" + changes + "\n\n" + - _L("Please review the substitutions and adjust them if needed."); + _L("Review the substitutions and adjust them if needed."); } void show_substitutions_info(const PresetsConfigSubstitutions& presets_config_substitutions) From e316fbaaf2f76e95dfc706627ebff4b535796b72 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Fri, 2 Jul 2021 10:21:57 +0200 Subject: [PATCH 73/80] Updated 1.3.0 description. --- resources/profiles/PrusaResearch.idx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx index 3f43334c3..d941b14bd 100644 --- a/resources/profiles/PrusaResearch.idx +++ b/resources/profiles/PrusaResearch.idx @@ -1,5 +1,5 @@ min_slic3r_version = 2.3.2-alpha0 -1.3.0 Added SL1S profiles. +1.3.0 Added SL1S SPEED profiles. min_slic3r_version = 2.3.0-rc1 1.2.7 Updated "Prusament PC Blend Carbon Fiber" profile for Prusa MINI. 1.2.6 Added filament profile for "Prusament PC Blend Carbon Fiber". From 72cc9c2a6c5317cb974bf6cc1099c2166eb22b8c Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Mon, 5 Jul 2021 16:07:12 +0200 Subject: [PATCH 74/80] Updated localization dictionaries --- resources/localization/cs/PrusaSlicer.mo | Bin 295751 -> 298747 bytes resources/localization/cs/PrusaSlicer_cs.po | 777 +++++++++++++++---- resources/localization/de/PrusaSlicer.mo | Bin 304709 -> 307817 bytes resources/localization/de/PrusaSlicer_de.po | 769 +++++++++++++++---- resources/localization/en/PrusaSlicer.mo | Bin 12365 -> 12345 bytes resources/localization/es/PrusaSlicer.mo | Bin 303645 -> 306796 bytes resources/localization/es/PrusaSlicer_es.po | 808 ++++++++++++++++---- resources/localization/fr/PrusaSlicer.mo | Bin 312845 -> 316018 bytes resources/localization/fr/PrusaSlicer_fr.po | 780 +++++++++++++++---- resources/localization/it/PrusaSlicer.mo | Bin 299072 -> 302149 bytes resources/localization/it/PrusaSlicer_it.po | 767 +++++++++++++++---- resources/localization/ko/PrusaSlicer.mo | Bin 247956 -> 247915 bytes resources/localization/nl/PrusaSlicer.mo | Bin 286933 -> 286892 bytes resources/localization/pl/PrusaSlicer.mo | Bin 296282 -> 299253 bytes resources/localization/pl/PrusaSlicer_pl.po | 773 +++++++++++++++---- resources/localization/pt_br/PrusaSlicer.mo | Bin 299485 -> 299444 bytes resources/localization/ru/PrusaSlicer.mo | Bin 402533 -> 402492 bytes resources/localization/tr/PrusaSlicer.mo | Bin 198645 -> 198604 bytes resources/localization/zh_cn/PrusaSlicer.mo | Bin 191580 -> 191539 bytes resources/localization/zh_tw/PrusaSlicer.mo | Bin 167761 -> 167720 bytes 20 files changed, 3783 insertions(+), 891 deletions(-) diff --git a/resources/localization/cs/PrusaSlicer.mo b/resources/localization/cs/PrusaSlicer.mo index 18981be4802672690cb540448e87856c24dd3c7a..b52481cc74bab6b70389caedfe0ecfbb06865c90 100644 GIT binary patch delta 56456 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 PTaM1{&Bf!rf*t<{_PV|~ diff --git a/resources/localization/cs/PrusaSlicer_cs.po b/resources/localization/cs/PrusaSlicer_cs.po index 0d23d1257..0fe8b8f56 100644 --- a/resources/localization/cs/PrusaSlicer_cs.po +++ b/resources/localization/cs/PrusaSlicer_cs.po @@ -5,11 +5,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: PhraseApp (phraseapp.com)\n" +"X-Generator: Phrase (phrase.com)\n" #: src/slic3r/GUI/Tab.cpp:4124 -msgid "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\nTo enable \"%1%\", please switch off \"%2%\"" -msgstr "\"%1%\" je deaktivováno, protože \"%2%\" je zapnuto v kategorii \"%3%\".\nChcete-li povolit \"%1%\",, vypněte \"%2%\"" +msgid "" +"\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" +"To enable \"%1%\", please switch off \"%2%\"" +msgstr "" +"\"%1%\" je deaktivováno, protože \"%2%\" je zapnuto v kategorii \"%3%\".\n" +"Chcete-li povolit \"%1%\",, vypněte \"%2%\"" #: src/libslic3r/PrintConfig.cpp:249 src/libslic3r/PrintConfig.cpp:828 #: src/libslic3r/PrintConfig.cpp:1148 src/libslic3r/PrintConfig.cpp:1327 @@ -28,6 +32,10 @@ msgstr "%1% Přednastavení" msgid "%1% printer was active at the time the target Undo / Redo snapshot was taken. Switching to %1% printer requires reloading of %1% presets." msgstr "%1% tiskárna byla aktivní v době, kdy byly pořízeny kroky Zpět / Vpřed. Přepnutí na tiskárnu %1% vyžaduje opětovné načtení předvoleb %1%." +#: src/slic3r/GUI/GUI.cpp:330 +msgid "%1% was substituted with %2%" +msgstr "%2% bylo nahrazeno za %1%" + #: src/slic3r/GUI/MainFrame.cpp:1585 msgid "%1% was successfully sliced." msgstr "%1% byl úspěšně naslicován." @@ -63,8 +71,12 @@ msgstr "%d přednastavení úspěšně importováno." #: src/slic3r/GUI/GUI_App.cpp:718 #, possible-c-format -msgid "%s\nDo you want to continue?" -msgstr "%s\nChcete pokračovat?" +msgid "" +"%s\n" +"Do you want to continue?" +msgstr "" +"%s\n" +"Chcete pokračovat?" #: src/slic3r/GUI/MainFrame.cpp:917 src/slic3r/GUI/MainFrame.cpp:1316 #, possible-c-format @@ -108,8 +120,14 @@ msgstr "Došlo k chybě v programu %s" #: src/slic3r/GUI/GUI_App.cpp:528 #, possible-c-format -msgid "%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n\nThe application will now terminate." -msgstr "%s zaznamenal chybu. Bylo to pravděpodobně způsobeno nedostatkem paměti. Pokud jste si jisti, že máte v systému dostatek paměti RAM, může to být také chyba programu a v takovém případě bychom byli rádi, kdybyste nám to nahlásili.\n\nAplikace se nyní ukončí." +msgid "" +"%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n" +"\n" +"The application will now terminate." +msgstr "" +"%s zaznamenal chybu. Bylo to pravděpodobně způsobeno nedostatkem paměti. Pokud jste si jisti, že máte v systému dostatek paměti RAM, může to být také chyba programu a v takovém případě bychom byli rádi, kdybyste nám to nahlásili.\n" +"\n" +"Aplikace se nyní ukončí." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:62 #, possible-c-format @@ -126,10 +144,27 @@ msgstr "%s nemá k dispozici žádné aktualizace konfigurace." msgid "%s incompatibility" msgstr "Není kompatibilní s %s" +#: src/slic3r/GUI/MsgDialog.cpp:114 +#, possible-c-format +msgid "%s information" +msgstr "%s informace" + #: src/slic3r/GUI/UpdateDialogs.cpp:270 #, possible-c-format -msgid "%s now uses an updated configuration structure.\n\nSo called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\nAn inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n\nPlease proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." -msgstr "%s nyní používá aktualizovanou konfigurační strukturu.\n\nByly uvedeny takzvaná \"Systémová přednastavení\", která obsahují výchozí nastavení pro rozličné tiskárny. Tato systémová přednastavení nemohou být upravena, místo toho si nyní uživatel může vytvořit svá vlastní přednastavení tím, že zdědí nastavení z jednoho ze systémových přednastavení.\nNově vytvořené přednastavení může buď zdědit určitou hodnotu od svého předchůdce nebo ji přepsat upravenou hodnotou.\n\nPři nastavování nových předvoleb postupujte podle pokynů v %s a vyberte, zda chcete povolit automatické přednastavené aktualizace." +msgid "" +"%s now uses an updated configuration structure.\n" +"\n" +"So called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\n" +"An inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n" +"\n" +"Please proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." +msgstr "" +"%s nyní používá aktualizovanou konfigurační strukturu.\n" +"\n" +"Byly uvedeny takzvaná \"Systémová přednastavení\", která obsahují výchozí nastavení pro rozličné tiskárny. Tato systémová přednastavení nemohou být upravena, místo toho si nyní uživatel může vytvořit svá vlastní přednastavení tím, že zdědí nastavení z jednoho ze systémových přednastavení.\n" +"Nově vytvořené přednastavení může buď zdědit určitou hodnotu od svého předchůdce nebo ji přepsat upravenou hodnotou.\n" +"\n" +"Při nastavování nových předvoleb postupujte podle pokynů v %s a vyberte, zda chcete povolit automatické přednastavené aktualizace." #: src/slic3r/GUI/GUI_App.cpp:1512 #, possible-c-format @@ -138,8 +173,18 @@ msgstr "%s Režim zobrazení" #: src/slic3r/GUI/UpdateDialogs.cpp:151 #, possible-c-format -msgid "%s will now start updates. Otherwise it won't be able to start.\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "%s nyní spustí aktualizaci. Jinak nebude moci být spuštěn.\n\nNejprve bude vytvořen kompletní snímek konfigurace a v případě problému s novou verzí lze provést obnovu.\n\nAktualizované balíčky konfigurace:" +msgid "" +"%s will now start updates. Otherwise it won't be able to start.\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"%s nyní spustí aktualizaci. Jinak nebude moci být spuštěn.\n" +"\n" +"Nejprve bude vytvořen kompletní snímek konfigurace a v případě problému s novou verzí lze provést obnovu.\n" +"\n" +"Aktualizované balíčky konfigurace:" #: src/slic3r/GUI/MainFrame.cpp:933 src/slic3r/GUI/MainFrame.cpp:937 #: src/slic3r/GUI/MainFrame.cpp:1329 @@ -765,8 +810,12 @@ msgid "AMF file exported to %s" msgstr "Soubor AMF byl exportován do %s" #: src/slic3r/GUI/GLCanvas3D.cpp:638 -msgid "An object outside the print area was detected.\nResolve the current problem to continue slicing." -msgstr "Byl detekován objekt mimo tiskovou oblast.\nPro pokračování ve slicování vyřešte tento problém." +msgid "" +"An object outside the print area was detected.\n" +"Resolve the current problem to continue slicing." +msgstr "" +"Byl detekován objekt mimo tiskovou oblast.\n" +"Pro pokračování ve slicování vyřešte tento problém." #: src/slic3r/GUI/GLCanvas3D.cpp:633 msgid "An object outside the print area was detected." @@ -819,8 +868,12 @@ msgid "Are you sure you want to %1% the selected preset?" msgstr "Opravdu chcete %1% vybrané přednastavení?" #: src/slic3r/GUI/FirmwareDialog.cpp:902 -msgid "Are you sure you want to cancel firmware flashing?\nThis could leave your printer in an unusable state!" -msgstr "Opravdu chcete ukončit nahrávání firmware?\nTiskárna může zůstat v nefunkčním stavu!" +msgid "" +"Are you sure you want to cancel firmware flashing?\n" +"This could leave your printer in an unusable state!" +msgstr "" +"Opravdu chcete ukončit nahrávání firmware?\n" +"Tiskárna může zůstat v nefunkčním stavu!" #: src/slic3r/GUI/DoubleSlider.cpp:2122 src/slic3r/GUI/DoubleSlider.cpp:2142 msgid "Are you sure you want to continue?" @@ -1010,12 +1063,20 @@ msgid "BACK ARROW" msgstr "ŠIPKA ZPĚT" #: src/slic3r/GUI/Tab.cpp:3727 -msgid "BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick to reset all settings for the current option group to the last saved preset." -msgstr "Ikona ŠIPKY ZPĚT indikuje, že došlo ke změně nastavení, které není shodné s naposledy uloženým přednastavením pro aktuální skupinu nastavení.\nKlikněte pro reset všech nastavení pro aktuální skupinu nastavení na naposledy uložené přednastavení." +msgid "" +"BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click to reset all settings for the current option group to the last saved preset." +msgstr "" +"Ikona ŠIPKY ZPĚT indikuje, že došlo ke změně nastavení, které není shodné s naposledy uloženým přednastavením pro aktuální skupinu nastavení.\n" +"Klikněte pro reset všech nastavení pro aktuální skupinu nastavení na naposledy uložené přednastavení." #: src/slic3r/GUI/Tab.cpp:3741 -msgid "BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\nClick to reset current value to the last saved preset." -msgstr "Ikona ŠIPKY ZPĚT indikuje, že se hodnota změnila a není shodná s naposledy uloženým přednastavením.\nKlikněte pro reset současné hodnoty na naposledy uložené přednastavení." +msgid "" +"BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\n" +"Click to reset current value to the last saved preset." +msgstr "" +"Ikona ŠIPKY ZPĚT indikuje, že se hodnota změnila a není shodná s naposledy uloženým přednastavením.\n" +"Klikněte pro reset současné hodnoty na naposledy uložené přednastavení." #: src/slic3r/GUI/Preferences.cpp:72 msgid "Background processing" @@ -1215,16 +1276,24 @@ msgid "buffer too small" msgstr "buffer je příliš malý" #: src/slic3r/GUI/GUI_App.cpp:1152 -msgid "But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\nSettings will be available in physical printers settings." -msgstr "Ale od této verze PrusaSliceru již nebudeme tyto informace zobrazovat v Nastavení tiskárny.\nNastavení bude k dispozici v nastavení fyzických tiskáren." +msgid "" +"But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\n" +"Settings will be available in physical printers settings." +msgstr "" +"Ale od této verze PrusaSliceru již nebudeme tyto informace zobrazovat v Nastavení tiskárny.\n" +"Nastavení bude k dispozici v nastavení fyzických tiskáren." #: src/slic3r/GUI/ButtonsDescription.cpp:16 msgid "Buttons And Text Colors Description" msgstr "Barvy pro textové popisky a tlačítka" #: src/slic3r/GUI/GUI_App.cpp:1084 -msgid "By default new Printer devices will be named as \"Printer N\" during its creation.\nNote: This name can be changed later from the physical printers settings" -msgstr "Ve výchozím stavu budou při vytváření nové tiskárny pojmenovány jako „Printer N“.\nPoznámka: Tento název lze později změnit v nastavení fyzických tiskáren" +msgid "" +"By default new Printer devices will be named as \"Printer N\" during its creation.\n" +"Note: This name can be changed later from the physical printers settings" +msgstr "" +"Ve výchozím stavu budou při vytváření nové tiskárny pojmenovány jako „Printer N“.\n" +"Poznámka: Tento název lze později změnit v nastavení fyzických tiskáren" #: src/slic3r/GUI/PresetHints.cpp:222 msgid "by the print profile maximum" @@ -1266,16 +1335,32 @@ msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible msgstr "Nelze vypočítat šířku extrudování pro %1%: Proměnná \"%2%\" není dostupná." #: src/slic3r/GUI/GUI_ObjectList.cpp:3400 -msgid "Cannot insert a new layer range after the current layer range.\nCurrent layer range overlaps with the next layer range." -msgstr "Nelze vložit nový rozsah vrstev za aktuální rozsah vrstev.\nAktuální rozsah vrstev se překrývá s dalším rozsahem vrstev." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"Current layer range overlaps with the next layer range." +msgstr "" +"Nelze vložit nový rozsah vrstev za aktuální rozsah vrstev.\n" +"Aktuální rozsah vrstev se překrývá s dalším rozsahem vrstev." #: src/slic3r/GUI/GUI_ObjectList.cpp:3391 -msgid "Cannot insert a new layer range after the current layer range.\nThe next layer range is too thin to be split to two\nwithout violating the minimum layer height." -msgstr "Nelze vložit nový rozsah vrstev za aktuální rozsah vrstev.\nDalší rozsah vrstev je příliš tenký na to, aby byl rozdělen na dva\nbez porušení minimální výšky vrstvy." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"The next layer range is too thin to be split to two\n" +"without violating the minimum layer height." +msgstr "" +"Nelze vložit nový rozsah vrstev za aktuální rozsah vrstev.\n" +"Další rozsah vrstev je příliš tenký na to, aby byl rozdělen na dva\n" +"bez porušení minimální výšky vrstvy." #: src/slic3r/GUI/GUI_ObjectList.cpp:3395 -msgid "Cannot insert a new layer range between the current and the next layer range.\nThe gap between the current layer range and the next layer range\nis thinner than the minimum layer height allowed." -msgstr "Nelze vložit nový rozsah vrstev mezi aktuální a následující rozsah vrstev.\nMezera mezi aktuálním rozsahem vrstev a dalším rozsahem vrstev\nje tenčí, než je minimální povolená výška vrstvy." +msgid "" +"Cannot insert a new layer range between the current and the next layer range.\n" +"The gap between the current layer range and the next layer range\n" +"is thinner than the minimum layer height allowed." +msgstr "" +"Nelze vložit nový rozsah vrstev mezi aktuální a následující rozsah vrstev.\n" +"Mezera mezi aktuálním rozsahem vrstev a dalším rozsahem vrstev\n" +"je tenčí, než je minimální povolená výška vrstvy." #: src/slic3r/GUI/SavePresetDialog.cpp:137 msgid "Cannot overwrite a system profile." @@ -1587,6 +1672,14 @@ msgstr "Průvodce &nastavením" msgid "Configuration Assistant" msgstr "Průvodce nastavení tiskárny" +#: src/slic3r/GUI/GUI.cpp:368 +msgid "Configuration bundle was loaded, however some configuration values were not recognized." +msgstr "Byl načten konfigurační balík, ale některé konfigurační hodnoty nebyly rozpoznány." + +#: src/slic3r/GUI/GUI.cpp:378 +msgid "Configuration file \"%1%\" was loaded, however some configuration values were not recognized." +msgstr "Byl načten konfigurační soubor \"%1%\", ale některé konfigurační hodnoty nebyly rozpoznány." + #: src/libslic3r/PrintConfig.cpp:1424 msgid "Configuration notes" msgstr "Konfigurační poznámky" @@ -1651,10 +1744,18 @@ msgstr "Připojení k OctoPrint pracuje správně." msgid "Connection to printers connected via the print host failed." msgstr "Připojení k tiskárnám připojených prostřednictvím tiskového serveru se nezdařilo." +#: src/slic3r/Utils/OctoPrint.cpp:185 +msgid "Connection to Prusa SL1 / SL1S works correctly." +msgstr "Připojení k tiskárně Prusa SL1 /SL1S funguje správně." + #: src/slic3r/Utils/OctoPrint.cpp:185 msgid "Connection to Prusa SL1 works correctly." msgstr "Připojení k tiskárně Prusa SL1 funguje správně." +#: src/slic3r/Utils/OctoPrint.cpp:229 +msgid "Connection to PrusaLink works correctly." +msgstr "Připojení k PrusaLinku funguje správně." + #: src/libslic3r/PrintConfig.cpp:2051 msgid "Contact Z distance" msgstr "Mezera mezi podpěrami a objektem v ose Z" @@ -1724,16 +1825,38 @@ msgid "Copy Version Info" msgstr "Zkopírovat číslo verze" #: src/slic3r/Utils/PresetUpdater.cpp:84 -msgid "Copying of file %1% to %2% failed.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "Kopírování souboru %1% do %2% se nezdařilo.\nChybová zpráva: %3%\nTato chyba nastala ve funkci: %4%" +msgid "" +"Copying of file %1% to %2% failed.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"Kopírování souboru %1% do %2% se nezdařilo.\n" +"Chybová zpráva: %3%\n" +"Tato chyba nastala ve funkci: %4%" #: src/slic3r/Utils/PresetUpdater.cpp:91 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file after copying.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "Kopírování souboru %1% do %2% se nezdařilo. Pro kopírování z/do cílového souboru nemáte dostatečná oprávnění.\nChybová zpráva: %3%\nTato chyba nastala ve funkci: %4%" +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file after copying.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"Kopírování souboru %1% do %2% se nezdařilo. Pro kopírování z/do cílového souboru nemáte dostatečná oprávnění.\n" +"Chybová zpráva: %3%\n" +"Tato chyba nastala ve funkci: %4%" #: src/slic3r/Utils/PresetUpdater.cpp:70 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file before copying.\nError message : %3%\nThis error happend during %4% phase." -msgstr "Kopírování souboru %1% do %2% se nezdařilo. Pro kopírování z/do cílového souboru nemáte dostatečná oprávnění.\nChybová zpráva: %3%\nTato chyba nastala ve funkci: %4%" +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file before copying.\n" +"Error message : %3%\n" +"This error happend during %4% phase." +msgstr "" +"Kopírování souboru %1% do %2% se nezdařilo. Pro kopírování z/do cílového souboru nemáte dostatečná oprávnění.\n" +"Chybová zpráva: %3%\n" +"Tato chyba nastala ve funkci: %4%" + +#: src/slic3r/Utils/PresetUpdater.cpp:65 +msgid "Copying of file %1% to %2% failed: %3%" +msgstr "Kopírování souboru %1% do %2% selhalo: %3%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:156 msgid "Copying of the temporary G-code has finished but the exported code couldn't be opened during copy check. The output G-code is at %1%.tmp." @@ -1748,8 +1871,12 @@ msgid "Copying of the temporary G-code to the output G-code failed" msgstr "Kopírování dočasného G-codu do výstupního G-codu selhalo" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:163 -msgid "Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\nError message: %1%" -msgstr "Kopírování dočasného G-codu do výstupního G-codu se nezdařilo. Není SD karta chráněná proti zápisu?\nChybová hláška: %1%" +msgid "" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\n" +"Error message: %1%" +msgstr "" +"Kopírování dočasného G-codu do výstupního G-codu se nezdařilo. Není SD karta chráněná proti zápisu?\n" +"Chybová hláška: %1%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:147 msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." @@ -1800,6 +1927,10 @@ msgstr "Nelze se spojit s OctoPrintem" msgid "Could not connect to Prusa SLA" msgstr "Nelze se připojit k Prusa SLA" +#: src/slic3r/Utils/OctoPrint.cpp:235 +msgid "Could not connect to PrusaLink" +msgstr "Nelze se připojit k PrusaLinku" + #: src/slic3r/Utils/Http.cpp:73 msgid "Could not detect system SSL certificate store. PrusaSlicer will be unable to establish secure network connections." msgstr "Úložiště systémových certifikátů SSL se nepodařilo zjistit. PrusaSlicer nebude schopen navázat zabezpečené síťové připojení." @@ -2353,8 +2484,14 @@ msgstr "Nepřeuspořádávejte modely před sloučením a tím ponecháním jeji #: src/slic3r/GUI/Field.cpp:288 #, possible-c-format -msgid "Do you mean %s%% instead of %s %s?\nSelect YES if you want to change this value to %s%%, \nor NO if you are sure that %s %s is a correct value." -msgstr "Myslíte %s%% namísto %s %s?\nVyberte ANO, pokud chcete změnit tuto hodnotu na %s%%,\nnebo NE, pokud jste si jisti, že %s %s je správná hodnota." +msgid "" +"Do you mean %s%% instead of %s %s?\n" +"Select YES if you want to change this value to %s%%, \n" +"or NO if you are sure that %s %s is a correct value." +msgstr "" +"Myslíte %s%% namísto %s %s?\n" +"Vyberte ANO, pokud chcete změnit tuto hodnotu na %s%%,\n" +"nebo NE, pokud jste si jisti, že %s %s je správná hodnota." #: src/slic3r/GUI/DoubleSlider.cpp:2138 msgid "Do you want to delete all saved tool changes?" @@ -2388,6 +2525,10 @@ msgstr "neobsahuje platný G-code." msgid "Don't arrange" msgstr "Neuspořádávat" +# Don't install +msgid "Don't install" +msgstr "Neinstalovat" + #: src/slic3r/GUI/UpdateDialogs.cpp:71 msgid "Don't notify about new releases any more" msgstr "Neupozorňovat na nové verze" @@ -2542,7 +2683,7 @@ msgstr "Vkládání M73 P[počet vytištěných procent] R[zbývající čas v m #: src/libslic3r/PrintConfig.cpp:1217 msgid "Emit to G-code" -msgstr "Emitivat do G-codu" +msgstr "Emitovat do G-codu" #: src/libslic3r/GCode.cpp:622 msgid "Empty layers detected, the output would not be printable." @@ -2583,7 +2724,7 @@ msgstr "Povolit rotace (pomalé)" #: src/slic3r/GUI/Preferences.cpp:207 msgid "Enable support for legacy 3DConnexion devices" -msgstr "Povit podporu pro starší zařízení 3DConnexion" +msgstr "Povolit podporu pro starší zařízení 3DConnexion" #: src/libslic3r/PrintConfig.cpp:2009 msgid "Enable support material generation." @@ -2621,11 +2762,11 @@ msgstr "Vynucení švu" #: src/libslic3r/PrintConfig.cpp:2066 msgid "Enforce support for the first" -msgstr "Zesílit podpěry pro prvních" +msgstr "Vynutit podpěry pro prvních" #: src/libslic3r/PrintConfig.cpp:2073 msgid "Enforce support for the first n layers" -msgstr "Vynucení podpěr pro prvních n vrstev" +msgstr "Vynutit podpěry pro prvních n vrstev" #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:47 msgid "Enforce supports" @@ -3161,6 +3302,10 @@ msgstr "Vrstvy počátečního osvitu" msgid "failed finding central directory" msgstr "selhalo nalezení kořenového adresáře" +#: src/slic3r/GUI/Plater.cpp:2399 +msgid "Failed loading file \"%1%\" due to an invalid configuration." +msgstr "Načtení souboru \"%1%\" se nezdařilo z důvodu neplatné konfigurace." + #: src/slic3r/Utils/FixModelByWin10.cpp:235 msgid "Failed loading the input model." msgstr "Načtení vstupního modelu se nezdařilo." @@ -3512,16 +3657,26 @@ msgstr "Pouze pro vynucené podpěry" #. TRN Description for "WHITE BULLET" #: src/slic3r/GUI/Tab.cpp:3702 -msgid "for the left button: indicates a non-system (or non-default) preset,\nfor the right button: indicates that the settings hasn't been modified." -msgstr "na levé straně: indikuje nesystémové (jiné než výchozí) přednastavení,\nna pravé straně: indikuje, že nastavení nebylo změněno." +msgid "" +"for the left button: indicates a non-system (or non-default) preset,\n" +"for the right button: indicates that the settings hasn't been modified." +msgstr "" +"na levé straně: indikuje nesystémové (jiné než výchozí) přednastavení,\n" +"na pravé straně: indikuje, že nastavení nebylo změněno." #: src/slic3r/GUI/ConfigManipulation.cpp:135 -msgid "For the Wipe Tower to work with the soluble supports, the support layers\nneed to be synchronized with the object layers." -msgstr "U čistící věže pokud pracujte s rozpustnými materiály, je třeba\nsynchronizovat vrstvy podpěr s vrstvami objektů." +msgid "" +"For the Wipe Tower to work with the soluble supports, the support layers\n" +"need to be synchronized with the object layers." +msgstr "" +"U čistící věže pokud pracujte s rozpustnými materiály, je třeba\n" +"synchronizovat vrstvy podpěr s vrstvami objektů." #: src/libslic3r/Print.cpp:1422 msgid "For the Wipe Tower to work with the soluble supports, the support layers need to be synchronized with the object layers." -msgstr "U čistící věže pokud pracujte s rozpustnými materiály, je třeba\nsynchronizovat vrstvy podpěr s vrstvami objektů." +msgstr "" +"U čistící věže pokud pracujte s rozpustnými materiály, je třeba\n" +"synchronizovat vrstvy podpěr s vrstvami objektů." #: src/libslic3r/PrintConfig.cpp:3028 msgid "Force pad around object everywhere" @@ -3572,8 +3727,12 @@ msgid "G-code" msgstr "G-code" #: src/slic3r/GUI/DoubleSlider.cpp:1146 -msgid "G-code associated to this tick mark is in a conflict with print mode.\nEditing it will cause changes of Slider data." -msgstr "G-code na této značce je v rozporu s tiskovým režimem.\nEditace způsobí změny v posuvníku." +msgid "" +"G-code associated to this tick mark is in a conflict with print mode.\n" +"Editing it will cause changes of Slider data." +msgstr "" +"G-code na této značce je v rozporu s tiskovým režimem.\n" +"Editace způsobí změny v posuvníku." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:165 msgid "G-code file exported to %1%" @@ -3963,8 +4122,12 @@ msgid "Hostname, IP or URL" msgstr "Název serveru, IP nebo URL" #: src/slic3r/GUI/Tab.cpp:210 -msgid "Hover the cursor over buttons to find more information \nor click this button." -msgstr "Pro více informací přejeďte kurzorem nad tlačítky\nnebo na tlačítko klikněte." +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" +"Pro více informací přejeďte kurzorem nad tlačítky\n" +"nebo na tlačítko klikněte." #: src/libslic3r/PrintConfig.cpp:2976 msgid "How far should the pad extend around the contained geometry" @@ -4030,8 +4193,12 @@ msgid "If enabled, all printing extruders will be primed at the front edge of th msgstr "Pokud je tato možnost povolena, všechny tiskové extrudery na začátku tisku vytlačí na předním okraji podložky malé množství materiálu." #: src/slic3r/GUI/ConfigWizard.cpp:1164 -msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\nIf not enabled, the Reload from disk command will ask to select each file using an open file dialog." -msgstr "Pokud je povoleno, v případě vyžádání, umožňuje funkci „Znovu načíst z disku“ automaticky vyhledat a načíst soubory.\nPokud není povoleno, funkce „Znovu načíst z disku“ požádá o zadání cest ke každému souboru pomocí dialogového okna." +msgid "" +"If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\n" +"If not enabled, the Reload from disk command will ask to select each file using an open file dialog." +msgstr "" +"Pokud je povoleno, v případě vyžádání, umožňuje funkci „Znovu načíst z disku“ automaticky vyhledat a načíst soubory.\n" +"Pokud není povoleno, funkce „Znovu načíst z disku“ požádá o zadání cest ke každému souboru pomocí dialogového okna." #: src/slic3r/GUI/Preferences.cpp:91 msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked." @@ -4238,6 +4405,10 @@ msgstr "Import opraveného 3MF souboru selhal" msgid "Import profile only" msgstr "Importovat pouze profil" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Import SL1 / SL1S archive" +msgstr "Importovat SL1 / SL1S archiv" + #: src/slic3r/GUI/MainFrame.cpp:1050 msgid "Import SL1 archive" msgstr "Importovat SL1 archiv" @@ -4309,8 +4480,12 @@ msgstr "Zvětšit / zmenšit oblast úprav" #. TRN Description for "UNLOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3695 -msgid "indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." -msgstr "indikuje, že některá nastavení byla změněna a nejsou shodná se systémovými (výchozími) hodnotami pro danou skupinu nastavení.\nKlikněte na ikonu ODEMKNUTÉHO ZÁMKU pro reset všech nastavení aktuální skupiny nastavení na systémové (nebo výchozí) hodnoty." +msgid "" +"indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." +msgstr "" +"indikuje, že některá nastavení byla změněna a nejsou shodná se systémovými (výchozími) hodnotami pro danou skupinu nastavení.\n" +"Klikněte na ikonu ODEMKNUTÉHO ZÁMKU pro reset všech nastavení aktuální skupiny nastavení na systémové (nebo výchozí) hodnoty." #. TRN Description for "LOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3691 @@ -4319,8 +4494,12 @@ msgstr "indikuje, že nastavení jsou stejná jako systémové (výchozí) hodno #. TRN Description for "BACK ARROW" #: src/slic3r/GUI/Tab.cpp:3707 -msgid "indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick the BACK ARROW icon to reset all settings for the current option group to the last saved preset." -msgstr "indikuje, že došlo ke změně nastavení, které není shodné s naposledy uloženým přednastavením pro aktuální skupinu nastavení.\nKlikněte na ikonu ŠIPKY ZPĚT pro reset všech nastavení pro aktuální skupinu nastavení na naposledy uložené přednastavení." +msgid "" +"indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click the BACK ARROW icon to reset all settings for the current option group to the last saved preset." +msgstr "" +"indikuje, že došlo ke změně nastavení, které není shodné s naposledy uloženým přednastavením pro aktuální skupinu nastavení.\n" +"Klikněte na ikonu ŠIPKY ZPĚT pro reset všech nastavení pro aktuální skupinu nastavení na naposledy uložené přednastavení." #: src/slic3r/GUI/ConfigManipulation.cpp:210 #: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 @@ -4383,8 +4562,12 @@ msgstr "Výška první vrstvy" #: src/slic3r/GUI/Field.cpp:269 #, possible-c-format -msgid "Input value is out of range\nAre you sure that %s is a correct value and that you want to continue?" -msgstr "Vstupní hodnota je mimo povolený rozsah\nJste si jisti, že %s je správná hodnota a že chcete pokračovat?" +msgid "" +"Input value is out of range\n" +"Are you sure that %s is a correct value and that you want to continue?" +msgstr "" +"Vstupní hodnota je mimo povolený rozsah\n" +"Jste si jisti, že %s je správná hodnota a že chcete pokračovat?" #: src/slic3r/GUI/Field.cpp:252 src/slic3r/GUI/Field.cpp:1370 msgid "Input value is out of range" @@ -4398,6 +4581,10 @@ msgstr "Zkontrolovat / aktivovat zálohy konfigurace" msgid "install" msgstr "instralovat" +#: src/slic3r/GUI/UpdateDialogs.cpp:136 +msgid "Install" +msgstr "Instralovat" + #: src/slic3r/GUI/ObjectDataViewModel.cpp:62 #: src/slic3r/GUI/ObjectDataViewModel.cpp:218 #, possible-c-format @@ -4552,13 +4739,23 @@ msgstr "Přechod do výšky" #: src/slic3r/GUI/DoubleSlider.cpp:1223 #, possible-c-format -msgid "Jump to height %s\nor Set ruler mode" -msgstr "Přechod do výšky %s\nnebo Nastavení režimu pravítka" +msgid "" +"Jump to height %s\n" +"or Set ruler mode" +msgstr "" +"Přechod do výšky %s\n" +"nebo Nastavení režimu pravítka" #: src/slic3r/GUI/DoubleSlider.cpp:1220 #, possible-c-format -msgid "Jump to height %s\nSet ruler mode\nor Set extruder sequence for the entire print" -msgstr "Přechod do výšky %s\nNastavení režimu pravítka\nnebo Nastavení sekvence extruderů pro celý tisk" +msgid "" +"Jump to height %s\n" +"Set ruler mode\n" +"or Set extruder sequence for the entire print" +msgstr "" +"Přechod do výšky %s\n" +"Nastavení režimu pravítka\n" +"nebo Nastavení sekvence extruderů pro celý tisk" #: src/slic3r/GUI/DoubleSlider.cpp:1071 src/slic3r/GUI/DoubleSlider.cpp:1852 msgid "Jump to move" @@ -4756,6 +4953,10 @@ msgstr "Načíst model" msgid "Load an model saved with imperial units" msgstr "Načíst jako model v imperiálních jednotkách" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Load an SL1 / Sl1S archive" +msgstr "Načíst SL1 / SL1S archiv" + #: src/slic3r/GUI/MainFrame.cpp:1058 msgid "Load an SL1 archive" msgstr "Načíst SL1 archiv" @@ -5483,7 +5684,7 @@ msgstr "cena/láhev" #: src/libslic3r/PrintConfig.cpp:798 msgid "money/kg" -msgstr "korun/kg" +msgstr "cena/kg" #: src/libslic3r/PrintConfig.cpp:461 msgid "Monotonic" @@ -5494,6 +5695,10 @@ msgstr "Monotónní" msgid "More" msgstr "Více" +#: src/slic3r/GUI/GUI.cpp:339 +msgid "Most likely the configuration was produced by a newer version of PrusaSlicer or by some PrusaSlicer fork." +msgstr "Konfiguraci pravděpodobně vytvořila novější verze programu PrusaSlicer nebo nějaký fork PrusaSliceru." + #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 msgid "Mouse wheel" msgstr "Kolečko myši" @@ -5604,8 +5809,14 @@ msgid "Multiple Extruders" msgstr "Více Extruderů" #: src/slic3r/GUI/Plater.cpp:2372 -msgid "Multiple objects were loaded for a multi-material printer.\nInstead of considering them as multiple objects, should I consider\nthese files to represent a single object having multiple parts?" -msgstr "Bylo nahráno více objektů pro multi materiálovou tiskárnu.\nMají být vloženy jako jeden objekt obsahující více částí, \nnamísto vložení několika objektů?" +msgid "" +"Multiple objects were loaded for a multi-material printer.\n" +"Instead of considering them as multiple objects, should I consider\n" +"these files to represent a single object having multiple parts?" +msgstr "" +"Bylo nahráno více objektů pro multi materiálovou tiskárnu.\n" +"Mají být vloženy jako jeden objekt obsahující více částí, \n" +"namísto vložení několika objektů?" #: src/libslic3r/PrintConfig.cpp:3638 msgid "Multiply copies by creating a grid." @@ -5661,6 +5872,10 @@ msgstr "Nový Projekt" msgid "New project, clear plater" msgstr "Nový projekt, odstranit modely na podložce" +#: src/slic3r/GUI/GUI.cpp:304 +msgid "new unknown value %1% was changed to default value %2%" +msgstr "nová neznámá hodnota %1% byla změněna na výchozí hodnotu %2%" + #: src/slic3r/GUI/UnsavedChangesDialog.cpp:609 msgid "New Value" msgstr "Nová hodnota" @@ -5748,6 +5963,10 @@ msgstr "Nenalezeno:" msgid "Note" msgstr "Poznámka" +#: src/slic3r/GUI/MsgDialog.cpp:114 +msgid "Note that" +msgstr "Mějte na paměti, že" + #: src/slic3r/GUI/Tab.cpp:3408 msgid "Note, that selected preset will be deleted from this/those printer(s) too." msgstr "Upozorňujeme, že vybrané přednastavené bude odstraněno také z těchto tiskáren." @@ -5757,8 +5976,14 @@ msgid "Note, that this/those printer(s) will be deleted after deleting of the se msgstr "Upozorňujeme, že tato/tyto tiskárny budou odstraněny po odstranění vybraného přednastavení." #: src/slic3r/GUI/Tab.cpp:2039 -msgid "Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n\nA new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." -msgstr "Poznámka: Všechna nastavení z této sekce jsou přesunuta do nastavení Fyzické tiskárny (viz changelog).\n\nNový profil Fyzické tiskárny lze vytvořit kliknutím na ikonu „ozubeného kolečka“ vpravo od pole se seznamem profilů tiskáren a výběrem položky „Přidat fyzickou tiskárnu“. Editor fyzické tiskárny se otevře po kliknutí na ikonu „ozubeného kolečka“ na kartě Nastavení tiskárny. Profily fyzických tiskáren se ukládají do adresáře PrusaSlicer/physical_printer directory." +msgid "" +"Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n" +"\n" +"A new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." +msgstr "" +"Poznámka: Všechna nastavení z této sekce jsou přesunuta do nastavení Fyzické tiskárny (viz changelog).\n" +"\n" +"Nový profil Fyzické tiskárny lze vytvořit kliknutím na ikonu „ozubeného kolečka“ vpravo od pole se seznamem profilů tiskáren a výběrem položky „Přidat fyzickou tiskárnu“. Editor fyzické tiskárny se otevře po kliknutí na ikonu „ozubeného kolečka“ na kartě Nastavení tiskárny. Profily fyzických tiskáren se ukládají do adresáře PrusaSlicer/physical_printer directory." #: src/slic3r/Utils/AstroBox.cpp:92 msgid "Note: AstroBox version at least 1.1.0 is required." @@ -6082,6 +6307,10 @@ msgstr "Otevřít stránku pro stahování Prusa 3D ovladačů ve vašem prohlí msgid "Open the software releases page in your browser" msgstr "Otevřít stránku s verzemi tohoto softwaru ve vašem prohlížeči" +#: src/slic3r/GUI/UpdateDialogs.cpp:89 +msgid "Opening Configuration Wizard" +msgstr "Otevírání průvodce nastavením" + #: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:220 src/slic3r/GUI/Plater.cpp:3961 msgid "Optimize orientation" msgstr "Optimalizovat orientaci" @@ -6371,6 +6600,10 @@ msgstr "Fyzické tiskárny" msgid "Pick another vendor supported by %s" msgstr "Vyberte si jiného výrobce, který je podporováný programem %s" +#: src/libslic3r/PrintConfig.cpp:67 +msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" +msgstr "Velikosti obrázků budou uloženy do souborů .gcode / .sl1 / .sl1s, v následujícím formátu: \"XxY, XxY, ...\"" + #: src/libslic3r/PrintConfig.cpp:67 msgid "Picture sizes to be stored into a .gcode and .sl1 files, in the following format: \"XxY, XxY, ...\"" msgstr "Velikosti obrázků, které mají být uloženy do souborů .gcode a .sl1, v následujícím formátu: „XxY, XxY, ...“" @@ -6421,6 +6654,10 @@ msgstr "Zkontrolujte a opravte seznam objektů." msgid "Please check your object list before preset changing." msgstr "Před změnou nastavení zkontrolujte prosím seznam objektů." +#: src/slic3r/GUI/GUI.cpp:341 +msgid "Please review the substitutions and adjust them if needed." +msgstr "Zkontrolujte nahrazené hodnoty a v případě potřeby je upravte." + #: src/slic3r/GUI/Plater.cpp:3089 msgid "Please select the file to reload" msgstr "Vyberte soubor, který chcete znovu načíst" @@ -6521,15 +6758,23 @@ msgid "Press to activate selection rectangle" msgstr "Stiskem aktivujete obdélníkový výběr" #: src/slic3r/GUI/KBShortcutsDialog.cpp:155 -msgid "Press to select multiple objects\nor move multiple objects with mouse" -msgstr "Stisknutím vyberte více objektů\nnebo přesuňte více objektů pomocí myši" +msgid "" +"Press to select multiple objects\n" +"or move multiple objects with mouse" +msgstr "" +"Stisknutím vyberte více objektů\n" +"nebo přesuňte více objektů pomocí myši" #: src/slic3r/GUI/KBShortcutsDialog.cpp:221 #: src/slic3r/GUI/KBShortcutsDialog.cpp:222 #: src/slic3r/GUI/KBShortcutsDialog.cpp:231 #: src/slic3r/GUI/KBShortcutsDialog.cpp:232 -msgid "Press to speed up 5 times while moving thumb\nwith arrow keys or mouse wheel" -msgstr "5× zrychlíte pohyb posuvníku pomocí\nšipek nebo kolečkem myši" +msgid "" +"Press to speed up 5 times while moving thumb\n" +"with arrow keys or mouse wheel" +msgstr "" +"5× zrychlíte pohyb posuvníku pomocí\n" +"šipek nebo kolečkem myši" #: src/slic3r/GUI/KBShortcutsDialog.cpp:212 src/slic3r/GUI/Plater.cpp:4052 #: src/slic3r/GUI/Tab.cpp:2559 @@ -6731,8 +6976,14 @@ msgid "PrusaSlicer GUI initialization failed" msgstr "Inicializace grafického uživatelského rozhraní PrusaSliceru se nezdařila" #: src/slic3r/GUI/GUI_App.cpp:586 -msgid "PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n\nThe application will now terminate." -msgstr "V aplikaci PrusaSlicer došlo k chybě v lokalizaci. Nahlaste PrusaSlicer týmu, jaký jazyk byl aktivní a ve kterém scénáři k tomuto problému došlo. Děkujeme.\n\nAplikace bude nyní ukončena." +msgid "" +"PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n" +"\n" +"The application will now terminate." +msgstr "" +"V aplikaci PrusaSlicer došlo k chybě v lokalizaci. Nahlaste PrusaSlicer týmu, jaký jazyk byl aktivní a ve kterém scénáři k tomuto problému došlo. Děkujeme.\n" +"\n" +"Aplikace bude nyní ukončena." #: src/slic3r/GUI/AboutDialog.cpp:285 msgid "PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community." @@ -6742,9 +6993,19 @@ msgstr "PrusaSlicer je založen na Slic3r od Alessandra Ranellucciho a RepRap ko msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "PrusaSlicer se zavírá: Neuložené změny" +#: src/slic3r/GUI/UpdateDialogs.cpp:90 +msgid "" +"PrusaSlicer is not using the newest configuration available.\n" +"Configuration Wizard may not offer the latest printers, filaments and SLA materials to be installed. " +msgstr "" +"PrusaSlicer nepoužívá nejnovější dostupnou konfiguraci.\n" +"Průvodce konfigurací proto nemusí k instalaci nabízet nejnovější tiskárny, filamenty a SLA materiály." + #: src/slic3r/GUI/OpenGLManager.cpp:259 #, possible-c-format -msgid "PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \nwhile OpenGL version %s, render %s, vendor %s was detected." +msgid "" +"PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" +"while OpenGL version %s, render %s, vendor %s was detected." msgstr "PrusaSlicer vyžaduje grafický ovladač s funkčním OpenGL 2.0. Zatímco byla detekována verze OpenGL %s, render %s, výrobce %s." #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 @@ -6756,8 +7017,14 @@ msgid "PrusaSlicer will remember your action." msgstr "PrusaSlicer si vaši akci zapamatuje." #: src/slic3r/GUI/ConfigWizard.cpp:1174 -msgid "PrusaSlicer's user interfaces comes in three variants:\nSimple, Advanced, and Expert.\nThe Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." -msgstr "Uživatelské rozhraní PrusaSlicer je k dispozici ve třech variantách:\nJednoduché, pokročilé a expertní.\nJednoduchý režim zobrazuje pouze nejčastěji používaná nastavení relevantní pro běžný 3D tisk. Další dva nabízejí detailnější doladění a proto jsou vhodné pro pokročilé a expertní uživatele." +msgid "" +"PrusaSlicer's user interfaces comes in three variants:\n" +"Simple, Advanced, and Expert.\n" +"The Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." +msgstr "" +"Uživatelské rozhraní PrusaSlicer je k dispozici ve třech variantách:\n" +"Jednoduché, pokročilé a expertní.\n" +"Jednoduchý režim zobrazuje pouze nejčastěji používaná nastavení relevantní pro běžný 3D tisk. Další dva nabízejí detailnější doladění a proto jsou vhodné pro pokročilé a expertní uživatele." #: src/slic3r/GUI/UnsavedChangesDialog.cpp:668 msgid "PrusaSlicer: Don't ask me again" @@ -6841,8 +7108,14 @@ msgid "Ramming customization" msgstr "Přizpůsobení rapidní extruze" #: src/slic3r/GUI/WipeTowerDialog.cpp:41 -msgid "Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n\nThis is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." -msgstr "Rapidní extruze označuje rychlé vytlačení filamentu těsně před jeho výměnou za jiný v multi material tiskárně s jedním extruderem. Účelem je správně vytvarovat konec vysouvaného filamentu tak, aby neblokoval zasunutí nového filamentu a také mohl být sám později opětovně zasunut. Tento proces je důležitý a rozdílné materiály mohou pro získání optimálního tvaru vyžadovat různé rychlosti extruze. Z tohoto důvodu jsou objemové průtoky při rapidní extruzi uživatelsky upravitelné.\n\nToto nastavení je určeno pro pokročilé uživatele, nesprávné nastavení velmi pravděpodobně povede k zaseknutí filamentu, vybroušení filamentu podávacím kolečkem, atd." +msgid "" +"Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n" +"\n" +"This is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." +msgstr "" +"Rapidní extruze označuje rychlé vytlačení filamentu těsně před jeho výměnou za jiný v multi material tiskárně s jedním extruderem. Účelem je správně vytvarovat konec vysouvaného filamentu tak, aby neblokoval zasunutí nového filamentu a také mohl být sám později opětovně zasunut. Tento proces je důležitý a rozdílné materiály mohou pro získání optimálního tvaru vyžadovat různé rychlosti extruze. Z tohoto důvodu jsou objemové průtoky při rapidní extruzi uživatelsky upravitelné.\n" +"\n" +"Toto nastavení je určeno pro pokročilé uživatele, nesprávné nastavení velmi pravděpodobně povede k zaseknutí filamentu, vybroušení filamentu podávacím kolečkem, atd." #: src/slic3r/GUI/WipeTowerDialog.cpp:91 msgid "Ramming line spacing" @@ -7470,6 +7743,10 @@ msgstr "Uložit projekt (3mf)" msgid "Save project as (3mf)" msgstr "Uložit projekt jako (3mf)" +#: src/slic3r/GUI/Plater.cpp:5337 +msgid "Save SL1 / SL1S file as:" +msgstr "Uložit SL1 / SL1S soubor jako:" + #: src/slic3r/GUI/Plater.cpp:4975 msgid "Save SL1 file as:" msgstr "Uložit SL1 soubor jako:" @@ -7674,8 +7951,14 @@ msgid "Select what kind of support do you need" msgstr "Vyberte typ podpěr, které potřebujete" #: src/slic3r/GUI/DoubleSlider.cpp:2135 -msgid "Select YES if you want to delete all saved tool changes, \nNO if you want all tool changes switch to color changes, \nor CANCEL to leave it unchanged." -msgstr "Vyberte ANO, pokud chcete odstranit všechny uložené změny nástroje,\nNE, pokud chcete, aby se všechny změny nástroje přepnout na změny barev,\nnebo ZRUŠIT pro ponechání beze změny." +msgid "" +"Select YES if you want to delete all saved tool changes, \n" +"NO if you want all tool changes switch to color changes, \n" +"or CANCEL to leave it unchanged." +msgstr "" +"Vyberte ANO, pokud chcete odstranit všechny uložené změny nástroje,\n" +"NE, pokud chcete, aby se všechny změny nástroje přepnout na změny barev,\n" +"nebo ZRUŠIT pro ponechání beze změny." #: src/slic3r/GUI/Selection.cpp:191 msgid "Selection-Add" @@ -7920,8 +8203,12 @@ msgid "Set upper thumb to current slider thumb" msgstr "Aktivovat horní ukazatel aktivního posuvníku" #: src/libslic3r/PrintConfig.cpp:3714 -msgid "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\nFor example. loglevel=2 logs fatal, error and warning level messages." -msgstr "Zvolte úroveň logování: 0:fatalní chyby, 1:chyby, 2:varování, 3:info, 4:ladění, 5:trasování\nNapříklad. loglevel=2 zaznamenává fatální chyby, chyby a varovné zprávy." +msgid "" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +"For example. loglevel=2 logs fatal, error and warning level messages." +msgstr "" +"Zvolte úroveň logování: 0:fatalní chyby, 1:chyby, 2:varování, 3:info, 4:ladění, 5:trasování\n" +"Například. loglevel=2 zaznamenává fatální chyby, chyby a varovné zprávy." #: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1969 msgid "Settings" @@ -8147,8 +8434,14 @@ msgid "Single Extruder Multi Material" msgstr "MultiMaterial tisk s jedním extrudérem" #: src/slic3r/GUI/Tab.cpp:2101 -msgid "Single Extruder Multi Material is selected, \nand all extruders must have the same diameter.\nDo you want to change the diameter for all extruders to first extruder nozzle diameter value?" -msgstr "Je zvolená Multi Materiálová tiskárna s jedním extruderem,\na proto všechny extrudery musí mít stejný průměr.\nChcete nastavit průměry všech extruderových trysek podle průměru prvního extruderu?" +msgid "" +"Single Extruder Multi Material is selected, \n" +"and all extruders must have the same diameter.\n" +"Do you want to change the diameter for all extruders to first extruder nozzle diameter value?" +msgstr "" +"Je zvolená Multi Materiálová tiskárna s jedním extruderem,\n" +"a proto všechny extrudery musí mít stejný průměr.\n" +"Chcete nastavit průměry všech extruderových trysek podle průměru prvního extruderu?" #: src/slic3r/GUI/Tab.cpp:2476 msgid "Single extruder multimaterial parameters" @@ -8413,8 +8706,12 @@ msgstr "Některé příkazy G/M-code, včetně řízení teplot a další, nejso #: src/slic3r/GUI/Plater.cpp:2309 #, possible-c-format -msgid "Some object(s) in file %s looks like saved in inches.\nShould I consider them as a saved in inches and convert them?" -msgstr "Některé objekty v souboru %s se zdá, že jsou uložené v palcích.\nMám je považovat za uložené v palcích a převést je?" +msgid "" +"Some object(s) in file %s looks like saved in inches.\n" +"Should I consider them as a saved in inches and convert them?" +msgstr "" +"Některé objekty v souboru %s se zdá, že jsou uložené v palcích.\n" +"Mám je považovat za uložené v palcích a převést je?" #: src/slic3r/GUI/GLCanvas3D.cpp:636 msgid "Some objects are not visible." @@ -8623,8 +8920,29 @@ msgid "Start the application" msgstr "Spusťit aplikaci" #: src/slic3r/GUI/GUI_App.cpp:386 -msgid "Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n%2%.\n\nThis directory did not exist yet (maybe you run the new version for the first time).\nHowever, an old %1% configuration directory was detected in \n%3%.\n\nConsider moving the contents of the old directory to the new location in order to access your profiles, etc.\nNote that if you decide to downgrade %1% in future, it will use the old location again.\n\nWhat do you want to do now?" -msgstr "Počínaje %1% 2.3 se konfigurační adresář v systému Linux změnil (podle specifikace XDG Base Directory) na %2%.\n\nTento adresář ještě neexistoval (možná používáte novou verzi poprvé).\nByl však zjištěn starý konfigurační adresář %1% v\n%3%.\n\nZvažte přesunutí obsahu starého adresáře do nového umístění za účelem přístupu k vašim profilům atd.\nPamatujte, že pokud se v budoucnu rozhodnete %1% downgradovat, použije znovu staré umístění.\n\nCo chcete udělat?" +msgid "" +"Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n" +"%2%.\n" +"\n" +"This directory did not exist yet (maybe you run the new version for the first time).\n" +"However, an old %1% configuration directory was detected in \n" +"%3%.\n" +"\n" +"Consider moving the contents of the old directory to the new location in order to access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old location again.\n" +"\n" +"What do you want to do now?" +msgstr "" +"Počínaje %1% 2.3 se konfigurační adresář v systému Linux změnil (podle specifikace XDG Base Directory) na %2%.\n" +"\n" +"Tento adresář ještě neexistoval (možná používáte novou verzi poprvé).\n" +"Byl však zjištěn starý konfigurační adresář %1% v\n" +"%3%.\n" +"\n" +"Zvažte přesunutí obsahu starého adresáře do nového umístění za účelem přístupu k vašim profilům atd.\n" +"Pamatujte, že pokud se v budoucnu rozhodnete %1% downgradovat, použije znovu staré umístění.\n" +"\n" +"Co chcete udělat?" #: src/slic3r/GUI/PrintHostDialogs.cpp:149 msgid "Status" @@ -8792,8 +9110,12 @@ msgid "Supports stealth mode" msgstr "Podporuje tichý režim" #: src/slic3r/GUI/ConfigManipulation.cpp:158 -msgid "Supports work better, if the following feature is enabled:\n- Detect bridging perimeters" -msgstr "Podpěry fungují lépe, pokud je povolena funkce:\n- Detekovat perimetry přemostění" +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters" +msgstr "" +"Podpěry fungují lépe, pokud je povolena funkce:\n" +"- Detekovat perimetry přemostění" #: src/slic3r/GUI/Preferences.cpp:104 msgid "Suppress \" - default - \" presets" @@ -8853,12 +9175,22 @@ msgid "Switching Presets: Unsaved Changes" msgstr "Přepnutí na jiné přednastavení: Neuložené změny" #: src/slic3r/GUI/GUI_App.cpp:1608 -msgid "Switching the language will trigger application restart.\nYou will lose content of the plater." -msgstr "Přepnutím jazyka se aplikace restartuje.\nZtratíte obsah scény." +msgid "" +"Switching the language will trigger application restart.\n" +"You will lose content of the plater." +msgstr "" +"Přepnutím jazyka se aplikace restartuje.\n" +"Ztratíte obsah scény." #: src/slic3r/GUI/WipeTowerDialog.cpp:365 -msgid "Switching to simple settings will discard changes done in the advanced mode!\n\nDo you want to proceed?" -msgstr "Přepnutím do jednoduchého nastavení ztratíte změny provedené v pokročilém režimu!\n\nOpravdu chcete pokračovat?" +msgid "" +"Switching to simple settings will discard changes done in the advanced mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" +"Přepnutím do jednoduchého nastavení ztratíte změny provedené v pokročilém režimu!\n" +"\n" +"Opravdu chcete pokračovat?" #: src/slic3r/GUI/Tab.cpp:1332 msgid "symbolic profile name" @@ -8936,7 +9268,9 @@ msgstr "Zařízení %s nebylo nalezeno" #: src/slic3r/GUI/FirmwareDialog.cpp:436 #, possible-c-format -msgid "The %s device was not found.\nIf the device is connected, please press the Reset button next to the USB connector ..." +msgid "" +"The %s device was not found.\n" +"If the device is connected, please press the Reset button next to the USB connector ..." msgstr "Zařízení %s nebylo nalezeno. Pokud je zařízení připojeno, stiskněte tlačítko Reset vedle USB konektoru ..." #: src/slic3r/GUI/Tab.cpp:1238 @@ -8944,7 +9278,10 @@ msgid "The current custom preset will be detached from the parent system preset. msgstr "Aktuální vlastní přednastavení bude odděleno od rodičovského systémového přednastavení." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:925 -msgid "The currently manipulated object is tilted (rotation angles are not multiples of 90°).\nNon-uniform scaling of tilted objects is only possible in the World coordinate system,\nonce the rotation is embedded into the object coordinates." +msgid "" +"The currently manipulated object is tilted (rotation angles are not multiples of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate system,\n" +"once the rotation is embedded into the object coordinates." msgstr "Momentálně upravovaný objekt je pootočený (rotační úhly nejsou násobky 90°). Nejednotné škálování nakloněných objektů je ve světových koordinátech možné pouze tehdy, když je informace o rotacích zapsána do koordinátů daného objektu." #: src/libslic3r/PrintConfig.cpp:2890 @@ -9029,6 +9366,10 @@ msgstr "Následující modely SLA tiskáren nemají vybrané žádné materiály msgid "the following suffix is not allowed:" msgstr "následující přípona není povolená:" +#: src/slic3r/GUI/GUI.cpp:340 +msgid "The following values were substituted:" +msgstr "Byly nahrazeny následující hodnoty:" + #: src/libslic3r/PrintConfig.cpp:3035 msgid "The gap between the object bottom and the generated pad in zero elevation mode." msgstr "Mezera mezi spodkem objektu a generovanou podložkou v režimu nulového nadzvednutí." @@ -9102,8 +9443,14 @@ msgid "The percentage of smaller pillars compared to the normal pillar diameter msgstr "Procentuální velikost menších podpěrných pilířů oproti průměru normálních pilířů. Menší pilíře jsou použity v problematických místech, kam se normální nevejdou." #: src/libslic3r/PrintConfig.cpp:2567 -msgid "The percentage of the bed area. \nIf the print area exceeds the specified value, \nthen a slow tilt will be used, otherwise - a fast tilt" -msgstr "Procentuálně vyjádřená zabraná tisková plocha.\nPokud tisk zabere více než je zadaná hodnota,\nbude použit pomalý náklon. V ostatních případech bude použit rychlý náklon" +msgid "" +"The percentage of the bed area. \n" +"If the print area exceeds the specified value, \n" +"then a slow tilt will be used, otherwise - a fast tilt" +msgstr "" +"Procentuálně vyjádřená zabraná tisková plocha.\n" +"Pokud tisk zabere více než je zadaná hodnota,\n" +"bude použit pomalý náklon. V ostatních případech bude použit rychlý náklon" #: src/slic3r/GUI/Tab.cpp:3430 msgid "The physical printer(s) below is based on the preset, you are going to delete." @@ -9150,12 +9497,22 @@ msgid "The selected object couldn't be split because it contains only one part." msgstr "Vybraný objekt nemůže být rozdělen, protože obsahuje pouze jednu část." #: src/slic3r/GUI/MainFrame.cpp:1003 -msgid "The selected project is no longer available.\nDo you want to remove it from the recent projects list?" -msgstr "Vybraný projekt již není k dispozici.\nChcete ho odstranit ze seznamu posledních projektů?" +msgid "" +"The selected project is no longer available.\n" +"Do you want to remove it from the recent projects list?" +msgstr "" +"Vybraný projekt již není k dispozici.\n" +"Chcete ho odstranit ze seznamu posledních projektů?" #: src/slic3r/GUI/DoubleSlider.cpp:1121 -msgid "The sequential print is on.\nIt's impossible to apply any custom G-code for objects printing sequentually.\nThis code won't be processed during G-code generation." -msgstr "Sekvenční tisk je zapnutý.\nNení možné použít jakýkoliv vlastní G-kód pro objekty tisknuté sekvenčně.\nBěhem generování G-kódu nebude tento kód zpracován." +msgid "" +"The sequential print is on.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Sekvenční tisk je zapnutý.\n" +"Není možné použít jakýkoliv vlastní G-kód pro objekty tisknuté sekvenčně.\n" +"Během generování G-kódu nebude tento kód zpracován." #: src/slic3r/GUI/ConfigWizard.cpp:1187 msgid "The size of the object can be specified in inches" @@ -9175,8 +9532,22 @@ msgstr "Rychlost retrakce (toto nastavení platí pouze pro motor extruderu)." #: src/slic3r/GUI/ConfigManipulation.cpp:80 #, possible-c-format -msgid "The Spiral Vase mode requires:\n- one perimeter\n- no top solid layers\n- 0% fill density\n- no support material\n- Ensure vertical shell thickness enabled\n- Detect thin walls disabled" -msgstr "Režim Spiral Vase vyžaduje:\n- jeden perimetr\n- žádné horní plné vrstvy\n- 0% hustota výplně\n- bez podpěrného materiálu\n- aktivní volbu „Zajistit tloušťku svislých stěn“\n- neaktivní volbu „Detekce tenkých stěn“" +msgid "" +"The Spiral Vase mode requires:\n" +"- one perimeter\n" +"- no top solid layers\n" +"- 0% fill density\n" +"- no support material\n" +"- Ensure vertical shell thickness enabled\n" +"- Detect thin walls disabled" +msgstr "" +"Režim Spiral Vase vyžaduje:\n" +"- jeden perimetr\n" +"- žádné horní plné vrstvy\n" +"- 0% hustota výplně\n" +"- bez podpěrného materiálu\n" +"- aktivní volbu „Zajistit tloušťku svislých stěn“\n" +"- neaktivní volbu „Detekce tenkých stěn“" #: src/libslic3r/Print.cpp:1270 msgid "The Spiral Vase option can only be used when printing single material objects." @@ -9214,20 +9585,35 @@ msgid "The vertical distance between object and support material interface. Sett msgstr "Vertikální vzdálenost mezi objektem a podpěrami. Nastavením tohoto parametru na hodnotu 0 se také zabrání tomu, aby Slic3r použil parametry průtoku a rychlosti pro mosty při tisku první vrstvy objektu." #: src/slic3r/GUI/Tab.cpp:2731 -msgid "The Wipe option is not available when using the Firmware Retraction mode.\n\nShall I disable it in order to enable Firmware Retraction?" -msgstr "Možnost Očistit není k dispozici při použití režimu retrakcí z firmwaru.\n\nMám ji deaktivovat, aby bylo možné povolit retrakce z firmwaru?" +msgid "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Shall I disable it in order to enable Firmware Retraction?" +msgstr "" +"Možnost Očistit není k dispozici při použití režimu retrakcí z firmwaru.\n" +"\n" +"Mám ji deaktivovat, aby bylo možné povolit retrakce z firmwaru?" #: src/libslic3r/Print.cpp:1294 msgid "The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." msgstr "Čistíví Věž v současné době nepodporuje volumetric E (use_volumetric_e = 0)." #: src/slic3r/GUI/ConfigManipulation.cpp:114 -msgid "The Wipe Tower currently supports the non-soluble supports only\nif they are printed with the current extruder without triggering a tool change.\n(both support_material_extruder and support_material_interface_extruder need to be set to 0)." -msgstr "Čistící věž v současné době podporuje pouze nerozpustné podpěry\npokud jsou vytištěny s aktuálním extrudérem bez spuštění výměny nástroje.\n(jak extruder pro tisk podpor tak extruder pro tisk kontaktních podpěr je třeba nastavit na 0)." +msgid "" +"The Wipe Tower currently supports the non-soluble supports only\n" +"if they are printed with the current extruder without triggering a tool change.\n" +"(both support_material_extruder and support_material_interface_extruder need to be set to 0)." +msgstr "" +"Čistící věž v současné době podporuje pouze nerozpustné podpěry\n" +"pokud jsou vytištěny s aktuálním extrudérem bez spuštění výměny nástroje.\n" +"(jak extruder pro tisk podpor tak extruder pro tisk kontaktních podpěr je třeba nastavit na 0)." #: src/libslic3r/Print.cpp:1426 msgid "The Wipe Tower currently supports the non-soluble supports only if they are printed with the current extruder without triggering a tool change. (both support_material_extruder and support_material_interface_extruder need to be set to 0)." -msgstr "Čistící věž v současné době podporuje pouze nerozpustné podpěry\npokud jsou vytištěny s aktuálním extrudérem bez spuštění výměny nástroje.\n(jak extruder pro tisk podpor tak extruder pro tisk kontaktních podpěr je třeba nastavit na 0)." +msgstr "" +"Čistící věž v současné době podporuje pouze nerozpustné podpěry\n" +"pokud jsou vytištěny s aktuálním extrudérem bez spuštění výměny nástroje.\n" +"(jak extruder pro tisk podpor tak extruder pro tisk kontaktních podpěr je třeba nastavit na 0)." #: src/libslic3r/Print.cpp:1296 msgid "The Wipe Tower is currently not supported for multimaterial sequential prints." @@ -9274,16 +9660,28 @@ msgid "There are unprintable objects. Try to adjust support settings to make the msgstr "Nacházejí se zde netisknutelné objekty. Zkuste upravit nastavení podpěr tak, aby bylo možné objekty vytisknout." #: src/slic3r/GUI/DoubleSlider.cpp:1155 -msgid "There is a color change for extruder that has not been used before.\nCheck your settings to avoid redundant color changes." -msgstr "Dochází zde ke změně barvy u extruderu, který dosud nebyl použit.\nZkontrolujte nastavení, abyste se vyhnuli redundantním změnám barev." +msgid "" +"There is a color change for extruder that has not been used before.\n" +"Check your settings to avoid redundant color changes." +msgstr "" +"Dochází zde ke změně barvy u extruderu, který dosud nebyl použit.\n" +"Zkontrolujte nastavení, abyste se vyhnuli redundantním změnám barev." #: src/slic3r/GUI/DoubleSlider.cpp:1149 -msgid "There is a color change for extruder that won't be used till the end of print job.\nThis code won't be processed during G-code generation." -msgstr "Dochází zde ke změně barvy u extruderu, který již do konce tisku nebude použit.\nTento kód nebude během generování G-kódu zpracován." +msgid "" +"There is a color change for extruder that won't be used till the end of print job.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Dochází zde ke změně barvy u extruderu, který již do konce tisku nebude použit.\n" +"Tento kód nebude během generování G-kódu zpracován." #: src/slic3r/GUI/DoubleSlider.cpp:1152 -msgid "There is an extruder change set to the same extruder.\nThis code won't be processed during G-code generation." -msgstr "Je zde změna extruderu na ten samý extruder.\nBěhem generování G-codu nebude tento kód zpracován." +msgid "" +"There is an extruder change set to the same extruder.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Je zde změna extruderu na ten samý extruder.\n" +"Během generování G-codu nebude tento kód zpracován." #: src/libslic3r/GCode.cpp:604 msgid "There is an object with no extrusions on the first layer." @@ -9295,8 +9693,12 @@ msgid "This %s version: %s" msgstr "Tento %s verze: %s" #: src/slic3r/GUI/Tab.cpp:1244 -msgid "This action is not revertable.\nDo you want to proceed?" -msgstr "Tato akce je nevratná.\nChcete pokračovat?" +msgid "" +"This action is not revertable.\n" +"Do you want to proceed?" +msgstr "" +"Tato akce je nevratná.\n" +"Chcete pokračovat?" #: src/libslic3r/PrintConfig.cpp:199 msgid "This code is inserted between objects when using sequential printing. By default extruder and bed temperature are reset using non-wait command; however if M104, M109, M140 or M190 are detected in this custom code, Slic3r will not add temperature commands. Note that you can use placeholder variables for all Slic3r settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want." @@ -9371,13 +9773,30 @@ msgid "This file cannot be loaded in a simple mode. Do you want to switch to an msgstr "Tento soubor nelze načíst v jednoduchém režimu. Chcete přepnout do pokročilého režimu?" #: src/slic3r/GUI/Plater.cpp:2319 -msgid "This file contains several objects positioned at multiple heights.\nInstead of considering them as multiple objects, should I consider\nthis file as a single object having multiple parts?" -msgstr "Tento soubor obsahuje několik objektů umístěných v různých výškách. Mají být vloženy jako jeden objekt obsahující více částí,\nnamísto vložení několika objektů?" +msgid "" +"This file contains several objects positioned at multiple heights.\n" +"Instead of considering them as multiple objects, should I consider\n" +"this file as a single object having multiple parts?" +msgstr "" +"Tento soubor obsahuje několik objektů umístěných v různých výškách. Mají být vloženy jako jeden objekt obsahující více částí,\n" +"namísto vložení několika objektů?" #: src/slic3r/GUI/FirmwareDialog.cpp:332 #, possible-c-format -msgid "This firmware hex file does not match the printer model.\nThe hex file is intended for: %s\nPrinter reported: %s\n\nDo you want to continue and flash this hex file anyway?\nPlease only continue if you are sure this is the right thing to do." -msgstr "Tento hex soubor s firmware neodpovídá modelu tiskárny.\nSoubor hex je určen pro: %s\nTiskárna oznámila: %s\n\nChcete i přesto pokračovat a nahrát do tiskárny hex soubor?\nPokračujte prosím, pouze pokud jste si jisti, že je to správný soubor." +msgid "" +"This firmware hex file does not match the printer model.\n" +"The hex file is intended for: %s\n" +"Printer reported: %s\n" +"\n" +"Do you want to continue and flash this hex file anyway?\n" +"Please only continue if you are sure this is the right thing to do." +msgstr "" +"Tento hex soubor s firmware neodpovídá modelu tiskárny.\n" +"Soubor hex je určen pro: %s\n" +"Tiskárna oznámila: %s\n" +"\n" +"Chcete i přesto pokračovat a nahrát do tiskárny hex soubor?\n" +"Pokračujte prosím, pouze pokud jste si jisti, že je to správný soubor." #: src/libslic3r/PrintConfig.cpp:348 msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." @@ -9469,8 +9888,12 @@ msgid "This matrix describes volumes (in cubic milimetres) required to purge the msgstr "Tato matice popisuje objemy (v kubických milimetrech) nutné k vyčištění nového filamentu na čistící věži pro danou dvojici nástrojů." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:928 -msgid "This operation is irreversible.\nDo you want to proceed?" -msgstr "Tato operace je nevratná.\nChcete pokračovat?" +msgid "" +"This operation is irreversible.\n" +"Do you want to proceed?" +msgstr "" +"Tato operace je nevratná.\n" +"Chcete pokračovat?" #: src/libslic3r/PrintConfig.cpp:1550 msgid "This option sets the number of perimeters to generate for each layer. Note that Slic3r may increase this number automatically when it detects sloping surfaces which benefit from a higher number of perimeters if the Extra Perimeters option is enabled." @@ -9538,8 +9961,16 @@ msgstr "Tento vektor ukládá potřebné objemy pro změnu z/na každý extruder #: src/slic3r/GUI/UpdateDialogs.cpp:216 #, possible-c-format -msgid "This version of %s is not compatible with currently installed configuration bundles.\nThis probably happened as a result of running an older %s after using a newer one.\n\nYou may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." -msgstr "Tato verze %s není kompatibilní se současně nainstalovanými balíčky nastavení.\nTato situace nejspíše nastala spuštěním starší verze %s po používání novější verze.\n\nMůžete buď ukončit %s a zkusit to znovu s novou verzí, nebo můžete znovu spustit výchozí konfiguraci. Před instalací kompatibilního nastavení s touto verzí %s dojde k vytvoření zálohy současné konfigurace." +msgid "" +"This version of %s is not compatible with currently installed configuration bundles.\n" +"This probably happened as a result of running an older %s after using a newer one.\n" +"\n" +"You may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." +msgstr "" +"Tato verze %s není kompatibilní se současně nainstalovanými balíčky nastavení.\n" +"Tato situace nejspíše nastala spuštěním starší verze %s po používání novější verze.\n" +"\n" +"Můžete buď ukončit %s a zkusit to znovu s novou verzí, nebo můžete znovu spustit výchozí konfiguraci. Před instalací kompatibilního nastavení s touto verzí %s dojde k vytvoření zálohy současné konfigurace." #: src/libslic3r/PrintConfig.cpp:2601 msgid "This will apply a gamma correction to the rasterized 2D polygons. A gamma value of zero means thresholding with the threshold in the middle. This behaviour eliminates antialiasing without losing holes in polygons." @@ -9764,8 +10195,12 @@ msgstr "Typ:" #: src/slic3r/GUI/OpenGLManager.cpp:275 #, possible-c-format -msgid "Unable to load the following shaders:\n%s" -msgstr "Nelze načíst následující shadery: \n%s" +msgid "" +"Unable to load the following shaders:\n" +"%s" +msgstr "" +"Nelze načíst následující shadery: \n" +"%s" #: src/slic3r/GUI/Plater.cpp:3233 msgid "Unable to reload:" @@ -9777,6 +10212,10 @@ msgstr "Nelze znovu načíst:" msgid "Undef" msgstr "Nedefinováno" +#: src/slic3r/GUI/GUI.cpp:305 +msgid "Undefined" +msgstr "Nedefinováno" + #: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" msgstr "nedefinovaná chyba" @@ -9834,12 +10273,18 @@ msgid "UNLOCKED LOCK" msgstr "ODEMČENÝ ZÁMEK" #: src/slic3r/GUI/Tab.cpp:3719 -msgid "UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick to reset all settings for current option group to the system (or default) values." +msgid "" +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or default) values." msgstr "Ikona ODEMKNUTÉHO ZÁMKU indikuje, že některá nastavení byla změněna a nejsou shodná se systémovými (výchozími) hodnotami pro danou skupinu nastavení. Klikněte pro reset všech nastavení aktuální skupiny nastavení na systémové hodnoty." #: src/slic3r/GUI/Tab.cpp:3734 -msgid "UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\nClick to reset current value to the system (or default) value." -msgstr "Ikona ODEMKNUTÉHO ZÁMKU indikuje, že se hodnota změnila a není shodná se systémovou (nebo výchozí) hodnotou.\nKlikněte pro reset současné hodnoty na systémovou hodnotu." +msgid "" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\n" +"Click to reset current value to the system (or default) value." +msgstr "" +"Ikona ODEMKNUTÉHO ZÁMKU indikuje, že se hodnota změnila a není shodná se systémovou (nebo výchozí) hodnotou.\n" +"Klikněte pro reset současné hodnoty na systémovou hodnotu." #: src/slic3r/GUI/KBShortcutsDialog.cpp:173 msgid "Unselect gizmo or clear selection" @@ -10122,7 +10567,9 @@ msgid "View mode" msgstr "Režim zobrazení" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:666 -msgid "Visit \"Preferences\" and check \"%1%\"\nto be asked about unsaved changes again." +msgid "" +"Visit \"Preferences\" and check \"%1%\"\n" +"to be asked about unsaved changes again." msgstr "Pro zrušení zapamatování jděte do Nastaneví a zaškrtněte \"%1%\"." #: src/libslic3r/PrintConfig.cpp:3553 @@ -10368,8 +10815,18 @@ msgid "World coordinates" msgstr "Světové souřadnice" #: src/slic3r/GUI/UpdateDialogs.cpp:92 -msgid "Would you like to install it?\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "Přejete si spustit instalaci?\n\nNejprve bude provedena kompletní záloha nastavení. V případě problémů s novou verzí ji bude možné kdykoliv obnovit.\n\nAktualizované balíčky nastavení:" +msgid "" +"Would you like to install it?\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"Přejete si spustit instalaci?\n" +"\n" +"Nejprve bude provedena kompletní záloha nastavení. V případě problémů s novou verzí ji bude možné kdykoliv obnovit.\n" +"\n" +"Aktualizované balíčky nastavení:" #: src/slic3r/GUI/GUI_App.cpp:1802 msgid "Would you like to stop uploads and close the program?" @@ -10457,12 +10914,20 @@ msgid "You cannot use non-uniform scaling mode for multiple objects/parts select msgstr "Nemůžete použít nestejnoměrnou změnu měřítka pro více vybraných objektů/částí" #: src/slic3r/GUI/NotificationManager.hpp:459 -msgid "You have just added a G-code for color change, but its value is empty.\nTo export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" -msgstr "Právě jste přidali G-code pro změnu barvy, ale jeho obsah je prázdný.\nChcete-li exportovat G-code správně, zkontrolujte „G-code pro změnu barvy“ v „Nastavení tiskárny> Vlastní G-code“" +msgid "" +"You have just added a G-code for color change, but its value is empty.\n" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" +msgstr "" +"Právě jste přidali G-code pro změnu barvy, ale jeho obsah je prázdný.\n" +"Chcete-li exportovat G-code správně, zkontrolujte „G-code pro změnu barvy“ v „Nastavení tiskárny> Vlastní G-code“" #: src/slic3r/GUI/SavePresetDialog.cpp:277 -msgid "You have selected physical printer \"%1%\" \nwith related printer preset \"%2%\"" -msgstr "Vybrali jste fyzickou tiskárnu \"%1%\"\ns tiskovým přednastavením \"%2%\"" +msgid "" +"You have selected physical printer \"%1%\" \n" +"with related printer preset \"%2%\"" +msgstr "" +"Vybrali jste fyzickou tiskárnu \"%1%\"\n" +"s tiskovým přednastavením \"%2%\"" #: src/slic3r/GUI/GUI_App.cpp:1078 msgid "You have the following presets with saved options for \"Print Host upload\"" @@ -10481,10 +10946,14 @@ msgstr "Je nutné nainstalovat aktualizaci konfigurace." msgid "You need to restart %s to make the changes effective." msgstr "Chcete-li provést změny, musíte restartovat aplikaci %s." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:611 msgid "You should change the name of your printer device." msgstr "Měli byste změnit název tiskového zařízení." +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +msgid "You should to change a name of your printer device. It can't be saved." +msgstr "Měli byste změnit název tiskového zařízení. Nemůže být uloženo." + #: src/slic3r/GUI/GUI_ObjectList.cpp:3884 #, possible-c-format msgid "You started your selection with %s Item." @@ -10523,12 +10992,24 @@ msgid "Z offset" msgstr "Odsazení Z" #: src/slic3r/GUI/ConfigManipulation.cpp:59 -msgid "Zero first layer height is not valid.\n\nThe first layer height will be reset to 0.01." -msgstr "Nulová výška první vrstvy není platná.\n\nVýška první vrstvy bude resetována na 0.01." +msgid "" +"Zero first layer height is not valid.\n" +"\n" +"The first layer height will be reset to 0.01." +msgstr "" +"Nulová výška první vrstvy není platná.\n" +"\n" +"Výška první vrstvy bude resetována na 0.01." #: src/slic3r/GUI/ConfigManipulation.cpp:47 -msgid "Zero layer height is not valid.\n\nThe layer height will be reset to 0.01." -msgstr "Nulová výška vrstvy není platná.\n\nVýška vrstvy bude resetována na 0.01." +msgid "" +"Zero layer height is not valid.\n" +"\n" +"The layer height will be reset to 0.01." +msgstr "" +"Nulová výška vrstvy není platná.\n" +"\n" +"Výška vrstvy bude resetována na 0.01." #: src/libslic3r/PrintConfig.cpp:2831 msgid "Zig-Zag" @@ -10552,8 +11033,12 @@ msgid "Zoom to Bed" msgstr "Pohled na tiskovou plochu" #: src/slic3r/GUI/KBShortcutsDialog.cpp:176 -msgid "Zoom to selected object\nor all objects in scene, if none selected" -msgstr "Pohled na označený objekt, nebo na všechny objekty ve scéně,\npokud není vybraný žádný objekt" +msgid "" +"Zoom to selected object\n" +"or all objects in scene, if none selected" +msgstr "" +"Pohled na označený objekt, nebo na všechny objekty ve scéně,\n" +"pokud není vybraný žádný objekt" #: src/libslic3r/PrintConfig.cpp:241 src/libslic3r/PrintConfig.cpp:816 #: src/libslic3r/PrintConfig.cpp:1748 src/libslic3r/PrintConfig.cpp:1758 diff --git a/resources/localization/de/PrusaSlicer.mo b/resources/localization/de/PrusaSlicer.mo index 7a7120cdf4e0bed5d5f68f719cbf6e2c13010f71..411f1f8bc03870b176d3cd74869efe68ecb516b2 100644 GIT binary patch delta 56574 zcmXusbzl|8+Q;!dCnvaDaS|lKHMqOGySo*47AH`g;8GllyGxPcMJ`aJ#fw|9Vg=ss zZ)e{7&u3=N?#|3J&&(b|%KhzZq9=bRa&ILH%yRhO?U;^}8k5v?oNRF&C(dHEI?nF@ zIZkWbgFZ}k$#G&~8k~TcQTJ`Np2rf@pJP_ccG+>_VFUaT+haof14A9hbskelMMJDB zjuRWhFbU?xWLOayo6`d0U?&X0ewYSlV+`Dmdd>kngxB$JocD(r$ndLqS!)?6~MyFl^HQ)-iy}4~~i}7ji zYTJj{_K_Hq{+$UFG_#rZgC(}U23ZMb2S&rAs0f|5pZ|dx(0%I@)WBY$?sNV!*T+L$ zm(m)78gLl8`XDC-%`^fP>ay1AsI_Wn>zz>p?SqMN1ggU*)WBBS`WEXE45IxK>b|R} z2>p%f@5^7Tzt%d|O~?5G)1gLI5cgt9JcysME$+ERcrndw$7zP`Fc%(1-TxZ3#xd`h z=cGpEMn+rDf$6B{N43|#H}u{h4gq<9$>fv1=Ozo2$U zy1R6WSuriv#Prw$HPGqSUt9{QXgG`t{Y}h_k1!Gw+%pfFhkDRKREIZF_r1h480)@? zP-e_ReG+QvcA}Q*Bx+!P+4e^mLf!pDLD`*>y`nYBhsxGcwq6UDQ*Vyh(f7baC@1Q= zf~X~|h?+n%)Eald^f(Ol+$Go*H=qWT;-Pn+>*S!Ik(NPSSPvE2)));3pgI_CorzlG zHK+&evz|wV_CB`8FQ{B<{>TitJ?g$5sNFFVlaPPTR0=(Pj!3OwjGEwN)Dq6e%=GW9vmacx-nG6&Mdl0Y z0db!>P9Y4zoY)v!Vk9bO9%D>Q_}p=-U@BBZI-q7e9QB+@mMjO7fgrOP!Ilyanb+ML?i(!2a=-(ni)G|5!Cf7P!ZdRy6yV7HT!A6D6BFQ7R0oey*Ew&@gOg$os<}`DYL1t&6VArs zZ|%8(n($MXf|BViDr6rp5&GVlj*?h2q1p?euB(g+Xibbkb`%ridDKAeV}5*V+q3*@CRQAE zUujH;l~B)Zf(+1gI@u3?L=9jRZo}!Q4$6OUoB%dP4YUR7ft^tU`O&ry#Rb&IqjDm{ zN8bHd5%rwA*azREcmF5d&-(vJK@CGuGZ~Ev@k~^Qi%=t8gOzY6_Q&tI82f*AoL@2N z7qg50z)aLXVIxfUpIL%|7(#t4YVB8HH2QZoQOJTju?XHlg)-GwGoae2HEnI}Z5@p{ zX^+A*coa2(yOb+4BnTX2b1-8D_x)oE=e$;+`8#R#!s0e&QZTn!qYdT8g_jzj;j=Hcqs^iwE zNc6-cI1&}9*{GRpw;sS0)Q_VgdI$BKK#;jUIch)!P`OnHm0QhR3dt#SM6JmP)C^}^ zH=;T|jt%ioY>N2;rh}=d&zEB;?nWKuH&D;}ikfNSV4u_8?>Hft2ggM>OW^K~>GR%F zk5D6zAIs-`!^wx4srSNMIN#P!Ti;?)+Ed5&c?VM?Tt>Ys&cJwae9n1Xikf+^xIXVd znv8l|&cb5a|5qvKWJ?my%qSc+@}j6v*GBFCo~Whhi+bQVTVH0~j?HO5j*~EBe4qCY z*@9uzizo1Te_&~c)2P41qT2s%LZ8!{hJAPvb0#ut^Z~UrzQiVJQlbVDh6-smEQN(o z1096QfjPFm1=CVLZ+&Tvo5b{&9kbKF^D~9KcowVScf5|(lKPy&7?#ZEos6xlJyBUd z92L1Swm!$!7hwqPn^C*#B5Jop`@w9(A8-lvwCF0!4^hxs|BgC>|Fs4uH_4U6ngvVo zc?ndKx)_9WP!U;xiohDw?l^*a{u$JBucNa6F>2s%lC%HymI_Yc^ZpPS7Y|U+in{SJ zs-u5VOA#-n&pYG8Q8{uHXW?~BhdopIoF_OH_4%OGX2w%d`+hct;4;+qJer#QuOss+ z4eIa_Dpc=L9Y;%JK2M9&?)b(9a`*|qp!Q(MIEX)$*#trj1ld%Klz;~#Q(ubSp z6+vBJ6U$?y^&Bd~Niw5GlAeOLUv5+~HAbyX7u0qcf!>;-4xl-xh%H3TbSJjPi>NHm zm&M#y5_Mu$MlEGi%#ZCbH_k^_Aw5GuUP8U6|HNi^5A_}|nbka~7b?p~qt5;*sAN5j z+MYL21OFE_kT}`Q%P2W&sfwcdX=LlIva$blmJg$$6wX84cmtI*4^cCWlii&8;n(OqY(nM2{v2kB&Y&g`oYUk)91N!(f{JV<)V6Glx^G-g*XLBFFpCDQ-CfjLenPzs z!*ekpI;x8MsW;5+^Zs0)B#%k9!l;O}L(QxwYN-aGw&xhs%V!yC0H;t(aRYT=-FGP{ zdxP?t?ePO@WTmkz*20Dug&FZVMqt8xrd|QlQ}2q3GZrx^RVKvkP2BIP}9<`>kPy^kMy6=RoU$fq~ z?JrSZZoi|Fxj-@VoZ3?Rza<5&ZFf|NXP`pA5ewq)wmrDGc^8CYCE9DDcF8Bc8R3zG>X6T|`yE9O`=nQJ0Pf|fN91!|ZGBu2Go zLM=f)boKqc6$OR99qOpwppxzss^fd8 zqH*zQp&p0>&_(Uz52&U2 z50!lWdgi*MsQXf*m%ON#Rsma&LQQCyOF_xB4V4S8P#yKGZywMeJ5V2m3gr{)chrNE zHZXrY&wxXy*F_ENJZeCft&gxK_0On?RcUCBe78P@Tr>Bhx{C)KXN!oa9IyR4$BcY_fhj>htxeT-j+oiCMM(Z&1j_2fg|w@osPI!F`q#pn30!l z?sIPQLFE?QNIgqSpYwov@m4;kCuV4EmSQHJq5c`QOOCfOU#rKoH3Qm<4Qc-uD`Jgy z#@RTH`YmjSJ=^=7n_BbB6i(yT4nC&|4(sT1HsCdUjN>|)tnJy^{Cr?L>gD9?;&Xn( zVmKE4UCqx8B5?)vHr;&AIE>!i=hVU}I2doECe)+{IX9ldX$teOPEVh+2cP3oT=k=| zQZHsmM4n}foqxCaMn-q00Wy6eE5tVD*`mz6Y;b0nc zAWT4I?Q-i*)QzW5=fDHZi(l>Mx%-=4QWkZ7)I^;h?NG@!48w3LDi?O5cF}2Dztf-n zuWWrsLmmtaFf%HEy0AFv!F5ps?1UQNDAd4ap|?@%XS+`(obDX|XqT&UOQDAaZHQ1@*`UB4IgE;)hPu4ga= zFJn%8kC!mx5c4OjkI2i-b;5?4?Cy-3(MD8A_o8y+FxJ2esDmlpFwp#Q*C{&{d|peAF7{oI8gil1_kZcy2DLYu0w@#59&cjQ5~Gc9C#ab=Eo&>H1oum z7ei1)xQ;CB9#L@({1Ou((t+TBw zQER*1dfxif8vK))KnRZKx^lP;&!V>Lh)L$BY~wHs^-UP2{ePW;lFpgz<8P#RU7{`+ ziOTMEm=_PB*63f-vLh-2qfyUWhH-d%o<&9S`c!g={+(A8 zGGqK{CV2{>B2oqQz)q+Kj6gkjEvn<=s3d%Wx-RZ?v%NB5HtH3y8ums_@DS=CI*yvy zWpowN#}sr!&f!eO$P&17^(m(U!izPgKqeS`ty34Sth%SpiaW-s9n*>I@Y??dK572)=%>)f6cG{RN(gI{g^G%6y0qt-HLzFE5j)-Y6iF)WXjQ8Sy0 zO3JmUgXuIX)X^81fu}|#V<<8p*U3ylA&#&YlthiN94bULup!RFyKJA=sO@-Zk@@pN zw8cIzhgxDT+Gk<}9z`YVM^uO3tieB<6E+T}(*93FLHoHdYAGt?NNk3i@fIp+rY&^Kk>##!9PAcF#u*a2skshpZPd6ZQM3NX1-Zp3?*?QtyJ^1lF+swM~xE zpk%sfKX{6o@qeg@#Q(+ALr}?;4;7)hr~!7g^#Q2+enRd0#i)*UptAi0DiYspJ^fnO zBu(SBX5UXh-LMLkwY#x6{*LD`_BykzZlGp(4|Qi8>at68HbuLm+hYwAI^DnA{*qhAA6Qe#4#jKbI^?+umfwe(Jq92yR38?er zG%CbbupZt;?S=xI&3&cN`}u!e3QDpTsFC(WCCNzaj4QD<#@}L=rWa~Jk+wb;b<%CJ z_2;ON2W>TP(}bvcaa2xJ#W1Xc`L+KCQBVjsVF*4&%`Emd6SB0{aMX>tQ8R34ZG+*| zyQ4xr3l-`Os0i#t?V2N)8SkMc9D6(aUpJ(tkP9QQEw;nVKgt!ts?>*}mhu#)$BXFw856Zj;_hPqYb~?xG9Tndbx;|#6pc|y*%cL$ z!Po^SqXzyF6^R79&9+K~x;`^184IEYPz`l7*F)t%7u()TbR3Qvcm!$yR-{ zLDWc3pdxV*_08r!>b30KXF?u=+Se8EB#yw^Sb4u0zye%G{V0yZ4hPIcUZ8Tx^&RAO z=_6#QBx!!g=d8qGs2OGW)pV2(6_LiM?+d+Ap`B#gqfpmxKrQJ3)Dj&NdnEi$1Fj_jx#@}SnNIEMQPB`Q)wj+)RCRwo*7QvP{1nc0RsHDsJn;B?fYkAZ_YNMXl29@<4 zQ5{c29qn^a*KNd9^zR&^pqc$?KllfAgYUQrVLVh)hG9l5gPE`+D%mEZl5rtwX*OXk zJcWu#$`fX-Ls1=9LT`7WtB$);P*#pWCD{~I1lFS-ydSgTdDH_wqXroJq#0Op)KW#D zW>^JvU2D{C>5V$zCZh&)64l@Nlk9(u(v@ zu-3&Kw2!uK!7%E#QArr>j4>^$p8}`>mOR7$*T`$ppa*wAB~N$M2>YNyJQ5YDX{gAo zwCy`k$$HGTUqE$u2X+5PRIWrjYa)>l^?7zwdpVbaB2W{xuUn%=HUf2oPRAN}6V*}n z-_24KLgheP)PN_T9yk@t;(XM(a0~U#C;2&Ze@)bqHbot1ZVw8Y`6$%PCRpd8lIa)J zxo{LU!275W`p=v1jIphStnE<)nSpxlBGmmWP&so9714{P-F5CzP^g>>W@PbDAqqvk zBnqQK-vBk@uBZpOsK`x1ZQI4D18NOwhKDgPUPe7H`bG0iDIIEiWMGm*@PieOpPM4F@S8;n}YNc=(jKZ=4z zydIT|hcGK%L2V!BlIb`Vsyzp4%^RU2(E|10u9yc0+4gm)CEJa9?p4(Geu1Si_GR|J zZmdp0Hbu>}GiuF7q0Z`MsI^>+ioh1sfRCcC{{z**D-6ZpE9UcX)Y23|MW7t&{?@3- z^tr_Cbsz>& zAB)>HOzoYvfQY(DT4}SW7Kx*je6i%48xx>J03?3^eyTjOYp*6ABtM42-FhP zLnZf6)N_}hs|W9)ppMU?lH(S7S&h0d@Y2j6jkORKpuH{@#)+s7j-hhsIqLrZPyu$IQe?kqk{A<%e z3)J=-j|%ldTVIMgqIaT}>dtHSzaIFI1|{Je)Kd7~m>c6^OX`Vn4EDhaB-cmGOTFYf z^Pt|SH6Dlx@l4c!cA<9H1ysatU@lDf-h7uV?NZPHqA)rxK`p@=)Qoqc26O_oM3=ET zK15v?@vphA3~HuzQMu6w)v;?opMcuF^HIsU`~N>bL_rTah02Ais1Bdn`UliLkM+T1 zZwTu1VyFRD#-i8+-{WkojFUc^uWWyyIl{h!|N_d?kKm4qE_y}zxGN6mOP>VR5~dfgYNucb=ef;R7m3V?;9@ zrbG=aH|l^YhkAZ%)b%~0@!wx-+qg6oVPx}B2gH@=es7Jwp=OXFhTq#xB~b%wgvqcY zs)OOE0nR{ey9KBjZ^wps8bdIBOlFK_F%uq*>Dn34pe+4>nsL%tes3E^phnyjHM35r zT{0LofXS$iR-pc@w-=k^O>B=vWBa||5nqaWZmu}yc{NbaY3fqYjC!C#Gz>M6`RFAP zE}(u4)lsXs<^lat0~n3k_w!Lp_%oKm)u>(b82e&^cz*A1!^UC_>V@O`y=~}5Qg}hb z732Vwohe(whj=TSKkn#Aw@63Rf->-HP!9H^7j z@BJqk3$XOZ73 zAs>VjsV~H$7@o@SeSL3>+UHA9OY$2w#SE#BWr%Thmu z zHGZ6;{$`=Ogu-VEI*}G+HW&Vm^QmXZ;&;m6LClH1tbXt9mK)PiuZOv@FBZg=sN}tg z>+uT?z%|)8=`bX_-}~Y;LIOLq4E1Pa-5_?>RJ0}EsNoMvA)Lp}IMEP!h;3*NT% zn7RDU43?l2KBxUsZojh=f8{@Mn@{_IyzB-{6k#G-H$S1L{wFFY0tMOskrdh#B=mgn z46{=oRM_vl!&R7^_60>uQf)74lJYgip?!2Qztb3}6*o)qw1nULLQlil5MB=zN}lPptNlhq|~EA_$H3v-k+A^aJ8QcqFd zgn9y2q3)}|L>O2#WScpID*C-hr>JDM>2g$L-7J;;&Swg(@gO#<;&(1!s;YkPm(iZ1 za-(83zjGA_;XSNf-S2$Eh#G!pCg!VYmgoeQr2Y*j_<5Jq;()@Fb^P8BrGBqRk}|Ng z_5J!KHP^}A!0(Ks;R;^i#%7JoNtU-U?bM54EIf<>Jc}{$qOJdl8t@%Fhg+JMlX65; z<7`|``+AJPTFuP!#$pWb{ZC;kAIw9YWLcV<(2qd9eCDA#-hp~;?nRy5hcOObMjh36 zQE$T+sAT)>o)+u}({K^d`l`R7ax* zFbDO(wOAUrVKIDyH2B2*mpa;k!QiPb@!C!N}||Kn4bLxbLat1%Rh zVM=_6y201ZgzN{@dpk4gfi)|HlBmpwwtjQrtfGb z)W@ZuP>w;Z>1@ZGrMIAYNETanD+k>3R;`*SRIr0H#2XG z4XF=Ah4upK#w)1n@1VX^{)>u4(gEi4^r$7tfx509>K)Ss3Ar=Iw(mr@6Afo6=t21h znq;hp7pZr^{8(s^xv>W-CzhbvH=&m30p`NbI1{rDHlH6voq+F9Iq(siVWuHw_lz3C z{?A9luQccce1}6Ze5l{~jw`UZ9On1_lgoRkmrK#%Cb@>-dg>>!D)wVLSH{DrnZ_Pr zlC(H#z#UNiEW`?UegqdPi<6D?dw)q>66;WpLgmCGEQ_I|%sJ2=TT&l}wecn@8FP&` z_ZPxS)F-2o?hn+`-Lm!jsOz7h4x)E11!b=@#w14>)b^-^39%+7#@47%_d{*NiPrh3 zU9lE*g6=~dIM*-{zD9*UFxCtx59+$YsGM*cP|#WbBkIQCsHB-=+c%&FvJW+|-%;D~ zGHM2IFa*D$wsE>~X23;JNm&z>GtE!~?}{Nf1c`*}ETj;VhLxy}Hlap-7%vj@7eF1om2eWaL@mK{`}u2R_c}q5nh^Uhn1U{dgX%aT>H!&%FD_0| ze2OKoBW9W4cdp@dR7AQ=G@Bb4Aex{qawNm_1t~7{fPC1Z9j{yvhflHy~qDT)$gI! z?wPHBM17<2O)_g<2sNW}s16#SI&6*_P)AhK_C!TuG%7Mtr~_;{s=tksn7?k=PJ@zg zKk9*}Q8!++-a}>WTh!Vmm}~}^$eIrIob0H9MWF7lfC_a(%!1u9BhEoZbpK@bzeaY5 z2HkKDm8G{)9lk09U zVV8ntehL+utEdj{p>p68YNQFLnxixcZlj(YN8(vjL~2Yk1F3~askcRK$MEUqk7{MH zmfEodZbwDNeM?~qg_twU1Lk5j>g!MsxQfb!x2U9ZW|{#eMGZJRDq;mO6IR6Z*d3J< z(=Zh0V2 zQ0;|K4=iKb>!Fgf8){%9P&qakb=?BgYk32DfB(0Ig0lS(YAydl9VpLjd$dJnrWx=8 z?K$x>e#ahod9nFJXW5_4SFkClBnw(%o?8aBOIo5P)*Ch9!AtD^A5BA68h%2p-A;Sq z5%kUjRH!eaLi(5e{2pq+Pq8L`#t^Ks)J&i&W}!Y7wFH|mJN|}Y_+}~lUl*iUX1;Wm z#SrQpZ9NjT1nV&$9>B%;8gt;Z<>p5%2T@D%5HsL6)IpPeh52K8Mb!6+!>EqGSkt>J zO=v2kUcb#SGxoy}T#QVWEl zIdM9A@Bd#ZETZ9tZ5X)5TsQ+Yqs^#&e-cCRCTdrFLv6pfznJ}<12wan=$(Y90Y{;> z-zFT2$5A;@cC9xN*Qsg>PCHbG!!Q(Q;XEJv8MSt`*PEGi#N5;ep|X1|>b_m5BlkR( z!^>C&Q*1C1YKL0t`KSmS!<5?pZz*U-@iv-dN`qS49H?#7)Y{WJ8nvC~*!oIrO??k) zjZiKH{DERwg3C5fRU(?FTx3U4>i(mTl`KNT!7kE-%vSH ze5+aW4yXYQKy9nBsO>hze!djvQQvAmueQxZv_5)&|JRj*LOC2Y(w}U74r<%2z=F65 zm*FEUj}y0>AE{nI4Ji8#^CzbIsQL`lfcBvVbPSaCRy^LUOLrL zq3?{^PQ$PQE=48NV^qYx+s~8iGTB}T)p0{q zY)ajC()>`lIVuu!u`a$uoup+>nb5aGogY)NB%VX>-~Www+JrI*R^x+EtcX3Z2JXbt z7<|SIq#|l2z0fn!_UM`3;%w6@i)jZrgi zj|$-+)OA1G&v&7g;HYiCjJobQYI`O6-3%Zl>b^{wuU-gOYC@ zDyg=jUXO>Y*HOFVEoy1voHO-o*o=BPY=uivOXxpuB9k0-faO4aAE=G`yg#a+NiKz0 zLHr>RNmysa|IEv$;}!E0j9IAAp1|7p&bC+h!zANC%uD-L%#ROH14?z(B;`O{PJJTI z#GKd6kMWOSdg|`{>*kC;fO`2HM`e5L8)l@HP?2bX3fVvm!6?+(z5_L*gQy2yMxB%& ztcm_K-+*%9dfHdxDy;XHx4T^a5oo`&g@#-=&0n3|MJ3&WTjsA?o?Bq3^Gp{N1nLmfOdZM_}p!6Q)j|BTw_JJB03 z>iVmgAD^SPW%`%wf89{wr8#h#qdMq?x?!?)8S0$ah2eM^3*djKb0Oa=bA2_`b*)iJ zIUM!Q7>kfk%-?KtmIR-aKFfR;T_e zmd1Gh`n})#sfF6dZ?GbUeegTOum`Th=U5zPd^C}{fFaZ$q27WqKIv!1?7xZ>D$y_# zwI+X|M*a+SfP6!}jB z;v#CvpP{P@5`Qxz%a2Nq(x~=!SR2QoB61BC@@J?ArTcDnOJV$pdVSR2mfuBP|Ct{% z=*W%h3-TgW2}7vYMJ+*JUy%9l|F_Yg2cJgW_zl})LVu7K(tfCKK(nleusj_-!2sq8 z1bG9F2oCao?%x2ll#!@po@47vFogOh)WLKin1BCB9e$-j`#nLlAn%OMgsRs@ue-xurQJd9w#FR>N%3@$H!{iV_vyiLR6 z*g;-$4387!ZLis=}agEtg1Fes1un%6w)bWBGog=SN14iuG@+SD zS=0m?qbAhRw7X6Z3RYAd58h$he?=WM=TXV|0JTeEBr*dmgL-fS)DpBqJ#QxJ zzGb$)+j_#b|ABS1|DRLPjU^MCT#SEX2kk*Wn3?B69WeD!Z^OQ*Bpqk# z3s6Vz1}uc9QIQNv9^}1z;-QY{w5SMWLs!XCgo0+=2z8+JMz#NhTKiv6FORJlfd^3! zc#C@J_*0kxr9i#qvZ3xPYU|}t2UJy+b|1NUxiAlou~($Lv?f& z8{kXSl9f+smZC3e+wDgs@mo|!@lu)lGNRroMX@uxZ80jBVx(dJE2P=dm~5?z8d+V` z4BMd&o<67uEJ7vQFQ|d-LM_3sr~zL=Meqe`0MXK#0i{OuQxFyDhByv;xfHaPA5jmA zmCoFl4mIQas5PsG`n)kJls!<%Hqf@;uvZ2~5Slv1l=F-pt zwXHtj2+R{|POPn{{Te;JnQ=VS68(T0SU4(T5w^WNDnj*9In)*vk&##j=cB%=y+B?< zt`jGNIhi6*BWz^tW1WI}z%QtQ96?3m6e>cuuspuU{8%)j`MehfQy+(l*d&~Yv#}J0 zW>SCbzcv(R(=g1MB+RV&I&4Y%6+DXh!-Je4{DhjxS5ybJGMij!fI7h1qXs%2C*Twe z!Q@%Yb}WpFU^(>u{hxXi6tXU;x6(jVM=Mbm{(_pp9=wZ3Q4v|0m4W!!j;NzLVRkcs zOsFNPh)Uu{sGR7Cir6sJ{ZZ)s{BMJ8_!Sk}>!_u8iMk=o4{nXR zZUAZ`Q&1f*#2mQJ)~}-?_ZT&?qB+_B`X*B~r`gxjP&Yh6wI|JG9@qr6y*i;DJOVYt zsi;sd!7aENb>cP7ZQ9#mBI;djeK;!n$D*DyJ-2J#<4b7Jh?3?pX2LSm^W$6`h+6A} zc})jDU~TH@QM;foDqiMuz7EIX->Cb$=CjFZ9p_T$#0LvdGYUkQlPxJ0rCtuz z!3b37CZm?%4r;(pQA_X{^>Rs&->hwQR3tiJZE~a+YKe{(FuUyr>T~xS1&usrL9@mg zu@vN@!; z_-SZ}Ik5?T#tE2-k&h|LOmS_oAg3(uEl#%Mw-Q0#e>ae*RFL<}s-saq(@k5N31EdX z=CwS&tT`VpU}v72tXz=y^MMiASo{Avg%x~|uY8dA2Z(E^0W_#U67itg6@$Fr-D*@R z$hlAZX-rM~#>zq7-+rB`66F2Ui$$uMoY;x_JJ}f3g1rCmAZGO-@4x*%fhV|sca0$L zCm|zhvh?)tjrs0tiFlYY2R5d$Z1DM z)9Ul~!}kq>oQ1S!Z)Dc?6lSJ=8S~;-)XOJ#V{=YaK{pc(-6-V38K~`Y1a+WXL9Nvj zRPy+n7*n9`%Z>Weas#Z2y-{cWLDWm_FI0ywZF`KS=Ke6uLwoV2?0-GDCk;xXai|U# zqLOk4M&Jch@&z|D-+p7EI?983nbbt>h90OBbU5l`p3_?9;6lx$*m>w6PCU_7v zfU7PA9i@*^M{jUTGn164eV!GwU75#ALw zuz9GZ-Hn>iIn+e2Axq{uFHFJtin=gvyCCmxt1@5@>IYCW&)(i-b#c@{DxqFBHL(yj zN6maT>cm`(TEcax=RU)5^mQ-;$%4V!|M|QEf7gRr>yp+6sHEzS3i&YGJ{xtGZ$J%f zoAns#`YX2n0F|Wwq6VC#qd7@ap`Q06cGLc!KtW0KFY3YHt-+nl%wnU~t{iH{wNPhw z3tR7u>UaRE!||wrt;8a@6Sw1QRL842n|Ht=^#1+N`xLZox^^)K##~e+4x;wP1Mzh=IT8mmQcsI|U6)1enx?3M^+eq_88hILuIzu!=$O6mf2h~zL+g9g zOak4^TQVs=q&^%QVf*f8Ef1oS>LhB7Z=wbe+`~*D4QfJRsQq8uwm0hGn(fh=2Ax#x zQCaI+7h^i=2T&otiJHj^)C^+xH0DBGR~JLD50=9y)N`*}-&*7TXxhVF3VKj!YkTVi z>ju;rei60JKHK)}z08u;LUk|s2MFs zEx}RiW$Od$zo>{s?_&(JmbbRUP(B}xzu-#LTeW6iZ>e3UK|k|$YL5|IFc)*<@2HNy z;e3qW-(>Sz)Dk?vk{C3=EMZwxdqva?+oL*;MCHO-48bGT`$56ZC0V*Pi2AhavLOrlNhGBCI!7-Q@SE3?v4K<(-sOyprF-LDP)XCZnW6-~I zf`XFk0&2V5LEZQcwdRS28p~PxV?x^3U@qK?+NMuY2hCg5QTy4}1H()X#YXiLfqHG1 zLsx6uih^b|!hSFp^HJZ9I(Qyi-&vjE<{XHFqxn1`>U@}m8ptABUxnJv8&TWx04kXu zpprhG%l=m(FWXQDM+4N_4MFYK#i+O64%CgeQP~}1ggFV*pdysb+T1$TdKeYax2Si8Avn@plnCiz<6A?iI*@BLh(&B$AzPQp>BfsVKJ#i*rO zj)QOq>h+#$jCtKwLk(mcDl$`D3OWH7qmI(`sISkvFcke`O?yUEJr^pJwNdvCLhb+Y z)}^R5-iJ-`3@RDJ$C;loRlthWd!v%w-Ah3;xr9odYp9XkMm^{yYHh!vc0si9eCfm# z*bRqcO+T+!EKR-WMDwHDVOWm(T`Z1aKbfB!wnOFAZsfVHbBu!CdS_7`{127=4^W{D znq-zDDbA%HhJWB8)LA}zvWd(V>`eUb`x{|S z`ghveh8g&Y`XcOvb7q<^mrj(4OaWATWmHF7@i-pEu{d#-IcO5hHUln*8bEn#V^r>R z$A&lyy`TTTunqC&m>W8xl4A%e7ot$xZaHeEyHO85hq~?_X2dVH9x~T_UKn+*R7c&{ z9(C{xK|OEIT=u_`WIYW!2VP?-OghiJ3mTxZ_a{_`Yf%q6h-L9I`h5IoWxm-~DHoW1 zodIc)rG z@2Ht3Uu?E%dei{3qO!aQ>b_wZz$n!2nuog1-9ZedM`iR=U309barou4l8By(3tqp8@Yt(&_s0c4XMQ|;KYX9%1pnZ7*b)kQy z$%T|yk$MFjfm3i4#$RQA@-YL8P!C#d22uixQm=^m;xZa@;AU)xx2$E?nCsV|t59sA zprm?$N{(-+wM_ksX-|&|T~X8ktD%;rovjbR!PKYPdaSi366sNq&4IeUFe<65p>m<; zTK2!T&j1><=9BFQvrz}cV$}B8hC1tiM`iP4)LMT>t!?6UX3g`WI;w$Miq@!{>W0dp zp{S*tg6i+UI+yQm93aPO&`2MxHzRzD>L}R;GtwNW&-0`9d1=%GYoH?53N?`7s16pP zmgX$}jnOxnAKyL4V$@4+3iAFxB!;>a7Sd2@vzgHY)B`?YUj~+Wi+$kMAm$n#75KvlI%5WA8O5x%CUl|iBw0uYwDo)`+xl@DEmjF zE?kJ&a4RZXZ=tf@x6jNh1!krmZmoq8)CXY!+=xo92N(}uqC)-^Ti_4-O+@-*Chh+b z6qIbMPy;xCy5SOP#xGC<`G(5o&;w?`c`z&WDyZGi5B2#3)SAyjCFKs(Qd~ww`i*T5 z9Ay9NHJX8fwo6CU1-((*ZwzY9=iyphjas5QhfD|?<3#GiQ1{39)kGpO=BHi>mCVDf z8!#93zfd_B=P>(Uh3tn-NUEV`(f~E$E~pM8QQ0~b6`=*Fh;2c=tWMhc1M7dNB~5(9 zT%R4)PZ`uwwm}Ve@DcWZD21^!=s~Md9Ueo?{0!>G>!=PtVIxd%)FfYL)LLIb<-{#4 zh|!Ok=afVxZw2gxjj<^n!Dg7&{mq1Y2x_e-+xlYEKsKYYdYAPWDgqZ#S^Nk?F!pgX zkn9*vJ-@ZNbu8*R8&DJ5YunwEw&5RC=)a*Nk?4d;rd+6jl|+TE7AiSA+4?B!d{hTp zQAv0RweQcPmhw6(f*-Ij#yjbKXXM}irw~L#chn8NP)Rrh)!}4RHm}60co>zOaZj10 zOOIOXa;OfPqdM%1%KjOc54WHq_W-q|UoeB-|EW%!2bM&gO!Y7;_CyU}K5774u^gVm zOqlqL>9{azMs-jVn1q_ZY*a+oU}fBI+oPQ|OP3tIfB&nPZD@!!xNrz+jZULNdJQ$= z2dIvNe>X>IHdKz}Lv>gL6@hA~C2Wg|#0b=Vi%}6chT2Ux(EI-Xkb>4U#yJzR^cX_D zG~UEEs7RDLZ)}9>=top!#$#z*ZrdNAlJh^TfFT#m^E#rgkHiAF;zE%5_y7K+p(G6- zPzO@Mi{^|Uf||iuEQ(LDIEMYtgti@O-~+8QP)oQTb>9ip$@u^kp%|CU1X5b_USj_% zd8*K$k+sDTbnOL8P@&w7T8b;EwZ4bi*Qqa?mr5>FXd|#9RzdB88K{nzp_Xbp>YcC; zl^dsB3cB!?{op0)L0?hZF7Xv(M${7IM`d+&Yd2H`e!?8M5*2|4aYs_ngZH5xe92z$#ZXP-v`1ecloIoR=iInaoOMAU-`PurU#6ahG-AX2n#@OOX1R$?htsF3n(1dOhW-!sZHjtMEti5u)&Vv1N!D4Y$Sg)hU?(cXCsAv8 z4V5D=P)Ql>qq!~{YDtS@IjoJ^U9(ZU;nXMA98-Tbx#ljUptsYn*al;LVK;C?cbrIl z{C{Q!iN2bj>!m~`;c(QNE4-dC&xsOui0I!F)*crTgiIGK7BHpBG60dFZ> z45mKK)@NH+V|2x0Hw7J;zoPc#@n zMm={s>i+Ynncu;1{D$7||A$2nIHmpkNCowP!7(*54i4)C)X6m+^`M_o`+Bqe{1P^z z{wM0Xh*$wH`O2UMSQ~X;ThtQuwe_FS)q@sNP_`dJW$kHHh_7QCmLMp0z}uc3;sm@k zpMg5@_MlGAYp9OjpgMHonvN2oB9jG`?RilVse~P{ZQKC=|8Epd(=ZiZV=f#S&pcoY z>Zm-4+9l61Hzta29$Xgn;A*IWw80P@YTFl~w)ZydhOclqHcJrjeg)&t1pNP>se{Ob z0dHHaM{S?Os8C%&<-~K$gDDf4NL9n#)ElDKIzeJ%8dOBHq7JI+s3om~Rj@H;#T7Uf z&$|@PQK+B9gd}6qfOmHPgsBMqZPZ_veMuJZehtT;oL#~74Y3DaLd~d5ih%d)HHT5z zUpZyKX^X2c3S*@*^`EgP^`O)N?`O?!9|{^-_cQ_L5$?7wNo&?RGM!1TO;~}?V}t~} zUns7LyQpUj4R|NtU)Y&?mh>i9X5td+hfw#m$`J5g&#O^O_!j$V|7Xk?@cwQ0`BR(heI^kHiqXgTv4l7VzG3F6uP=wvq`JA!&pSPtV=WaLg{&VcuKJm0W9^?|tp-dC!F z*opc_YwO%5r%s~=a0@$P{5%1ti_YQ!6g1O&sI@7QH{iWK*J6I^Bl88E*0>AjV~U7? z_mj}=)(@!dS|q@9krd3)G^sV z6N^*di_`EU>b#gxH^48C@x=tcWAu6f@86J)UO(Xd+WjK@nf3||0^WZa^$;Vd4{yl! zWB}W6BlQGs8&)$bT;4?8R>A?&=tD+Hpa~E&=`}TV{sW zs6Xz?w&Q}s-2%=>>i2q>m(rg-1KwAz`>2y|?vLh#TZuaB*P~9p9rzIU;$2+YivtZu z_cs2Fr?vn0QP7OX^$B=?D!qa+so%wg_zXv3WM8u+vHJzQKMm(abyx>uVN+BG9WXwQ z!UQ7hwo)$4qzy z)8iLZsM8KJuiYZ3gQ^}z$B8%>XP~|pWE&pv{&-&)^%fn3I(OC$Xa8#ef6<@|A6nmG zPU?QPX9(uO5?BZIo}Z5TBC!s&6vr_&-auvh2h_LZk|WF)ntGU&dRx>)2ccfWb4PID zDhfww=!9KHnhq{uBI++tH#(!t+9yLrCMT-Bylroa8bBY^+D=2A6Z25t9}ZwYe1>}Y zv>qMs{$w@FrJx6$#B_KIHL`E0kY^cVvc4v2E&HRcAB76_TuhEjP|3Lm6{(A;gDb&U zb6pM8nm52f*cMBpdy|45m~Nc8Fh6RIiem`&MBO+IHLyjfj!xRo@1P>$8*gTw9JQ38 z*adUpJe-e%F(T4TWD_z0_CJMKd~g)i!8z+EtVBKIgn;)i9(6~ZgrO77H=)=+F>oJW zEKmnm|4Hm`yfT@ypX(A$HA#2`zfo^G&77c3rU$%#h@{U9Ej|119}3a9V9rc4vc*`L z`dU&v1(uZ@aqE7X$Bzzo{|>nP}C zI&VLSGuwO@%!JxzlTiD94eGn#Zq(Wynq#)>S5&qam}_3gRZ;b^sF%)s)VXrre%^Op zz~N+fHlnKsZK0s-e}$?yns08LjRmQn!37w!z=ZH;RD^afH23)znUk(7cBcIx-oea^ z1K#h5#{8K-M^NvHo`xY#VnU|Ry z=!S~WVeExBQQvxNE;mQ*HtazC05-ymE6kD&L!F4@RNR2ofCIaNBlRJf|4lfDl?OOsN|@L z+D4sF+pRxpO{bs+x*XNfX4L&hF%-|D2J#YhemJYmi5G@S!t$u?UJvzlbh}W{gNC58 zcM9r(+b|~XM;)2RQ6qnV8i;?5IUjyNMWhgFDe9n3ydJ0y7osAt&Uy|PQh$v>+W%92 zF%Ou5B)793wH-I2)@TQ6fO}C7`W^lF59;3sdy509XIV#xsV_s_e`>vn)CJU1+(ga% z1?mV6+Mqi7uONjAG*m~0J_^;r22=z#qe8wHwG=0;w^7%9uzp6J7hh5LCEsY4Bt2>( z3S}<7VE_tzmJujKF7*M`w=U3!5h4{_H^Jdf|a_*SlP($Si!x+%C(YXqxVRb z-^l)p5okuB2sR$eMZq^9d9ThTSoz_y87tSoNvvE0cd*jnBepa)%_i@~TLUW>X((1M z#zd?<3Kn4HkRQa##!g@bcVQEcf7#hD1muU%YXt;s_BKp~l_Qe}E0dSR3UNcMocmC$ z3~a;75fCYk!{4MZ_2;DX4Gy0qvjUPciExOFGM<0ol-1;H#+xh?As;w)CuD4-FR=`) zOF|j}b}+;R(O|juZ{4X2J9q9JnqnW}?Ii3Z8ZM-mk% z{!ajT#oQ42Z#ZM|_zOJ7uUQft2w4>Q9M~>kPcx*2xQp0hIo2xIh(FVHY5ery8yT;^ z0mwk2I?bChj~gev$3qy9U#_<^>}&wy`u31ieD=61PT)X#Z%;yLJ<91@i4p~Z6q&s%3=H60M z9sdDj0jQm|PcGot(ZS&P_J;o@r-&s^AzTM-gDz#dJCOZN^CtMeKz5LU4k>9Fza#R8 z(v8r8b!nKnifgY!^1URcU>&{%2)={Dw3#|?--)K5XqJy;eHvcWMpm`)0Qr`cPr@HA zGxbrTZ}CM6L)1Yrhsp6rkW63bdOzIqr(HyTV3;`dm&(u#`ImhELOz0>S!AF%H3ex% zE@v2#?ASiK3t96pH=g-?iJyy_1>k!KnM!@Izv=K_DaQ!SEd%?E{B-b_=(US@PVPUS zq&Wp&>h9ztwFwkF(flTze2$Vz(OSi>z;*ze1-qWQzoTZvEBKu7!;)c&Ev%JYN>V#mSF zhvzu_!^!o*9zpZUdl6;=V_1kR(j6_v7NS`pjn~D_WYCrnT_kR1-B|{bHCCh){&ehA z1_;NO7n=C04?~i{Cr`;m?&61&YlF=#zke6;J5)R=F(ia0sqruC0Ap!Vfb~gl+H}XS zrWx4pSU1o?E<)^+LW(O*tUJT-Elh^+u8kqa&;OYeey_#y)Tky+M>1h;bSH(m*pW~6 z<98%pi+BZUB1qJM^lxf-BgOO!hq*7YlQix|?00M`u>3(yQw}|qfz-{RW*_myu@uz; zm4B0o@y}I9P}lAC(Zi^_(m7w>A9?Va%6IV ztK!8Znl3GYK$+eZ96>lm~h^((3AkH3Lj3-G^_ zFVFfc>rwE|(A|6{7_=#v@#NS)KOk^^#Z861gnIB-X~9>lbJE;N>_?8kCA2N;0Nr6I zzK9w7Gc|lwj3Mc0BEO9OiMokj!pg7ZB2bv(z~8_rWPJY`f#VWIwzCtF{7Sq+?Ran4 zWP^AQ7$^AakiKLmB5%R*PMc{r*1`H7_8ao)!LMSddkp+7v5neCY6=r)|4a>VswVhm zB-4)+{XoH6a`_=GNa1h9n$viU6d)a0C$J8XyfNks6w- z3tvM@Xy$Oh{pm8n;S`#~s-xYs7@r*QB?MG5q z8&3BgLKE+#Oy+_R@;)zF@C`f_rC|rluW1x;SFRp~u zY1E9u(ps#1rb(7 zHJK06`uHay5oyd&-LacAFR`;a_&yr!2iKeWo#3u8NLljZ(Awlg4uRcEZFbh1;XY^# z#QFc5WNVV0DK0}Y4p3ua4|KQkyWf4C9@h}Q+{%(1=p(tx={?rU#} zsS>$B)`#FPM@YlE$jS|MA2O{0f>5c!&r?I7Nq*b{BqhMF%} zzk(z)x&;3O`W@ss*?9qcJ54S4ANkDFQ>+#c4^tX(O2{LO|aFUscy4B0`^82p@o zd{UMCVN_%&%Ii;t^aN8=>mLCJlZS@-M0V$;|nG0ND%z z@&b`a3lgQ7bhjR|bh_imte4T?YaMKklKw<~g8G$ca1gb@Q$Yt#1%Cr#ZPAl(Y#`S~ zxsCg8D2aGqKqf$36c5x!wIIJw<88WYd68ni=HB7w0XtjQC!`qhP?Lq4y>QF>JiBxl z$*n;H$%(Lko)9YWc}O})z)#9>zV5Tb$y(5YK@XtSAr?tVZZCC>&=WK<)3`1we}3zY zZfY6WR`iJUmKgumq3(n{{_ByDFAbYWI5WWxN}QJBB$_Tq%cJt46p^afjx>s(;d-EybSOOAh9c^1Q85zIs#MzAv&a0&UW^8CLd;Ie2pg0=N9<--4iLSD!;xyU(L z_tV^E)+h1z>3T54LBvF!>yUlHza(~-+#(%N@?(ju0h5*u@gXTwcmL=AffVJ3)J4;! z_zSeKi0(uP=0TVaOhaPxS!aYqgqM1ZZ^fAD*Q_iYNi_R`*jM1P=#ZVTeA>s5#BfYG zEh+@*J`&$6FqZgy_4E53z7)i>3y!8DbNq5;)$glENAmI>aC)%v>X*o=|7^&({!IP! zur*S`KOh-GlRE5RJ^p;1Hm?>Y5p#pxj`GniQ#IXykXNE+3b-%96laL**fHoG{M2B7 zrsiihH4QzKlKw?0`b>%U0z9ccFZ-LOQ6w)s56}UMk{5BZ9z-LNufXSGfFbxp$S+|t z%QUwh+-qX;vfD7?_2KMGEC}9_!YTWg7m`CsT*h8tsx8XBMP zE*n}*hi$+BYauNGX=b!1ek8HV)Q7RI0cTchZt7=|6DfmD%&n6S(?*i0ia!@yi3VSw zdB9}GicF@co%*$~$-xfQ+LwZ(=~)^b(m|!>0z)QfpFR>m?8LIk_b)sK7=(7E=p#fQ z+4&@hd9%XQ0{=CI-)r$2ZM23aBA>CIP2CZ2B35uab$4m;6X00J`WzUK9w{%9`wF=? z$!66#lu6FPG?+4h`VI6pWiL*}2v8y+utl)0hCTxG7|a=TC!O0eeM59Qn7ORKq-K~- zkrK=>FNNtKb|F3F<#ZAG#9}^hiGO+5#$T0E*EA2JT@c<>qBsgg+`8^fekueWnl;5X zW3Vmc#-W|S9j5jX7+$V7Bn*F|a@+!Q3O^;Az9jeHEjXdTA}A_J(jik*_yS^)Bak;^ zeV<%Q3I}_`pZ=BCU?xkbJw|h?l@F;E8#G-zQ)^A*Hm{}U7OFK`2cw5 z!TSQ-V&aJxbwVL%NTPr^$XfIUyL(4bdj=?sKLYG73QOV_A@64Gz!y2IwhT=tDd!yc zeDWJSMNpBgVArAJySG*YI6;o9Dn3TK#%lrl?U`U1B}r^FM`7bd1`WRbvR!V8+O6uxYjE2FW^1HIYPd;?EW6GbbT>!%#JJ zfW=BG`TRQUY;sF9zX*Iebc$Xhq42Jv*B9tIdex^s@iv9$2wd~qZEF&(0bJGwg~=UN z5^2_n+$G3Lqv7ak@@wGWWA(;6i^cR5+@^j3btAApG1L@nZgAJB5pm0Fup$Hf&e>cF zTIjkL{tWW{S<7#$Kcc~?QwdzyUm;zDCI|abH?fC7MEG;trrk9Bk{sW7Z~BW`c`rxg z7cf2LXK*5*x>|Tni4S0lD9Kg82k~EF%Yxeg;d2^(fb1J$x7b-Z)~oP+@+a%UaP-FR zfj_M;fz8Ic4jdv2<#(`Iy6CFsO%fG}-yv?(!6dd3{f1Z`NMj)xBthg3!_A~NpLc2e zn?S59xTWB~g{u(JoUBJPbQf~F;hlgrjz6E}H>54W1^8d;QTQ4^mZE#;H;{;Yp}D*| z>}l2?h{sYJhxS9eQz!3OmBlWhA#cT-B2b_3fppU&Hqc-0|K~}JP}1x)x&(0_03uhh zQ2=>o%+v~^Z^3n8J(Ku$9jGDrYUHe1Rm-Ogmk>OT4JF}|raHC!E#1aSoTNwU5sl9RT!a-_i|tLV6@ML=->`d# zl|r*J>{K*H2e^q}2TX3(iEe;TDU=Jb9kv*aCepB*f=SC4lo>Ckj3k#u2RX)YLm|mb zo%~tj4#XqTNyMtq^gQ*&z^oPmnM0h;5q7(pNJRNU5zCF9V8;tvB_mv^1o`+O2oq% zq!A6yLN4M$ud&XIeopL;a$Tgh1a&cT{)a%a1#Lj^a|)8sj;vR(Zox1|Dc+CYfVjvP zteX;_C&NIx5z=PZLQ4KS*wko48q|{k(Iw<}5G#P~g&mAOW!N=x{;LqQ1Fi_^22?(z z`-PH8!!+bi0xpj&KyEK8QW!fMdx6@|$=@}ioOc>#V#q?o(OvNBvt^EiHp>sz=iK1?vn`=Pt*JXY6g(&q`Q00 z`W$`;gSG>gm%*~J&V`*1?``t(q^Bx6PW}eAd?NTNI+}uC2{xsuCct{KQ>;8fj!`_2 zcoWvOAP|XAdz+dEU_^F+`?s{!+!Ia6=k*#=JH^0q{wvVPUmO&qpwS418Vaxvz`dAGWo5F`9NI<>f5kROS57vu>T_{+gWT06xZ!TN+Uw;s9?zIugB0lTxhj$`GteLMk!{|11r&QX9^$ z7fK$P#(E!Gotkp2lgNEZZa>-rE{A*v+AES42>c};vKtio>u+Blmv;_WD{8q#RS*OSTzBL3m>rk;^mZJ|@SA{qd!ZXxN0Jn=8kt}LAk{4M= zzCZcl#2ZlCkN7}hHvAZdiInI6BC$HzFts-UW>Y^mjmGORW7QsqBpwy{!0x`lR%fsc z5c^~jzLVTwjoko$i~3Bg7h?m-$#=k+uFxnQRgGyR(iwXYz2{vT|DFaMOoQ(1WFxt` zknJGjBA%UiT}XGc?uR|9LrURH*28q|p)QYZYBW6AS(}#|uR`4ix)B_=*ayT4u`9QAspD z+Bem2Zb?+3L0;w*`2m}#eiU;Lfn>byE5rE?f1B0{*FfST z&lun^@gDL{j8Ad`jz#zBPOd@_!t{$N%1Znq>$wz#VINb}NXexBZ}Qc#Z6Mx^4bi5V z;2Oy~69cctAEJX70(Xpfv|I&`{0=`c(`S&~f*=*SjO1>i=^3Pk7B9nZ4(1T{EVx0C zT_<;)wTPKmAM!q_L47VTSBUKe^9>si$%9SoL}4~9%&I&8sDSsni$S{61z-a-=F|q~ zAZ|~bKeA-n2Cgf_ec?-`TuY5s-hbYcpQ>EHg6Sf6!FCjjG=ZQMWIj2fPEmlj!Pv=_ z29q3rD?@y)b-zNlyBk2I+2P8LR{RNKp?8 zWD|7&rXk)4{|xchiYY>}4Y@D|siLt_aD7KyW}C<`Y03Xd%?;MOiMPVG1N#=uDZ|M1 z_a#oWPFbI|NHec7)nSP3`TbX=bHv3}k)4#SqUy=h4KX$u$RimH0*F z?hI}QTAjf}vXM_bk8@oQ%M!pt2{zUvk`bGNg8h(wB<>S8>k2f>Ku#oq2A{!^RqHkp zJ3+oH>uRd>CjOF0Y$e!D)Z`?w7<*4Q6skuh0L*CoQmFJd z4It2;-OYylqOvu|o<^I}Umlf`UIK6qX>ws)F#DrEwRIp4QEH$8B$~uxx0|>htMa}se7ZfJ85=` zd~@nXQ!`HMPEhv?`ap}C!x=8W1*X6$Ls2g!m_wn+LP+*tXG5@3n>Ep#FL-^y(N*r3?+R6a6CnKXnY10u>n3!z6N$Sv4a|4 z3N{7tDl`qj_Jd5ME{zYMDRp3pMN(6Z^=9l=)_JjMs4Gve#4`{bQE)X9U!g@vtOigD z%}?VE=pveAVc2BklF{sQ>Vk}9g=uLxn*2TLOMvN)ikt>}0K44p z$i&I@Kb9t~34Wx&U#?SF7ox_xyDOTX2euON@vM7L@EP@8Xquh|Y?vV4jjML1U3`S?5r` zG8$VUjcImS`3e%Z=`e}a{HE#&t{0^10hgoM5{47WjUP;L80%OinXE@+rx#+{3279y zB4%)#;rLUy6!#E+4*po;2es!Fc@?+`!N(Nm$Ce|xhUs@I(OZD)h;L*)jv=P#&ZNmq zQ62Cnd>7bVU{j(${M1C>llZdx{>h>ruo?qQf9P!@4bg0Qo!+nf(s&71l$DUx4fhxDMb&uCe|N zu64vjzNUE>aPwL3)Yua+Jpa*S+%mKVf0}qP_ zG+sn93XsS%9mKoh*C-vZ41??o-g4|hGIPdIm)q`+ciX}(33hjsrEs~zTMk})5t!QU zh=_IewYu%GjxFo2<|~;uG~N*&W3wb!U6zPoTZ06f z(`IqRx-CvySZt)jKFAgxVyYMGh_FY-I}IvJgdL6oh07K$@P9F7{%=g4eP(l^WXVcf z+BGlRE~!m&vnA<9a&xhit)1~MYje9J+Vdc}xn^+E%GBnp!PP8<%NI@xNo&rZv@eZ0 zi>FB%^RU3A==A2)e)v7<&3|V~Zg;rc)|eR2=0fJ$IZF5q7#?r4xMM9=hsEybZ;i2s zTf+SJ65@GS!~C{t1~Rh-rwfA(9gU$FaW+j@#euPBpXw<-KXr0q2`wv5?yXf zj6K>GGtlCWvi+0QI4p6_*zou;&PnJ%i`C+=aX2g-Xcs5L5*uMLcHAz;9!5CUDIm^( z?H^%IUUZ15MQpr_Qx;{j#rXT4`_s%RlLyn>>h?UIYp$6t*ygZ1B9rb#1Z4GCR+!5s zOJ3R%;)*HjN@~5+SlfAdq-;5ybeWfTQ;ZN8sm~v8EWHH8fTj;)8a|; zn44!#r{~W&@m5zg&&|{3G|iG~XAMY|owFWqb6Je5@za)V;nh43vIgX9n9LSocd*I# z-2)Ef$q*GA9}_N3!lJB>NSno)G=ES)o{W|z?9=Kf;+EzvYk%kI@HWnTf#>w~A8&u)82y1+d+XpCD*t29zz}UbPmZEV{POHo2sW>4Z#+)HMo@-AY zx)zRt%{|ENnL9BcTX5B6s_?QkxmYv93hTuyd(1Po)|aB%JJ!7CDoZ9l-V5O8J{6= zd9CbC`o_gN-EvE_=yh1fxQ}>Bwh4?5;tU#BtK2(1b2mkz*5X z++x_bai_5)xsn1KdKx7KrVprncwwl`8RtB_CxXqkV`Le-fzxGm5At4SQXL1Urd^~% zxwPuq!mZ8-i`CP9e&F`hQS}+oe@EOy6Kq`bZoN!})nVfy&V@@Z;_#lxP%A&f{&CfY zq!OBcg#NP|OQ_xEwk7on3(VfkkIi8j6z{v$aJ@)Rho!#pICGY?G}POa%{U0$rb@No zI+DAT9hlX@ttsX5z&qJ3pRS5h-V4nYXX8xToDK>psOEXJH!!$dz~M!nAD;*AFpIP7 zMPP4nl9Ig)Y+-KcY5y|th>^(oD)3xNv&Hl5LtyS)N!4=%rODFCc*Oc1ao$@;HBVs9 zpnfF+!tI{^4T1tnq>!5&TX1{aaY3sJrRA(2Ud9df@G`k~B)yp(RK~)YvB=|Hk7}gN zH>X=}o#8f5kvTzg($tb8Esu#%n{ji%mjS%@J>zD;qsP+D%}t5hy_{y_mKJIAwsL!R JFAbU)_&-(}%yj?& delta 54271 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 diff --git a/resources/localization/de/PrusaSlicer_de.po b/resources/localization/de/PrusaSlicer_de.po index c929aa84f..bd7e48faa 100644 --- a/resources/localization/de/PrusaSlicer_de.po +++ b/resources/localization/de/PrusaSlicer_de.po @@ -5,11 +5,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: PhraseApp (phraseapp.com)\n" +"X-Generator: Phrase (phrase.com)\n" #: src/slic3r/GUI/Tab.cpp:4124 -msgid "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\nTo enable \"%1%\", please switch off \"%2%\"" -msgstr "\"%1%\" ist deaktiviert, weil \"%2%\" in der Kategorie \"%3%\" eingeschaltet ist.\nUm \"%1%\" zu aktivieren, schalten Sie bitte \"%2%\" aus." +msgid "" +"\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" +"To enable \"%1%\", please switch off \"%2%\"" +msgstr "" +"\"%1%\" ist deaktiviert, weil \"%2%\" in der Kategorie \"%3%\" eingeschaltet ist.\n" +"Um \"%1%\" zu aktivieren, schalten Sie bitte \"%2%\" aus." #: src/libslic3r/PrintConfig.cpp:249 src/libslic3r/PrintConfig.cpp:828 #: src/libslic3r/PrintConfig.cpp:1148 src/libslic3r/PrintConfig.cpp:1327 @@ -28,6 +32,10 @@ msgstr "%1% Voreinstellung" msgid "%1% printer was active at the time the target Undo / Redo snapshot was taken. Switching to %1% printer requires reloading of %1% presets." msgstr "Der %1% Drucker war zum Zeitpunkt der Aufnahme des Ziel-Rückgängig-/Wiederherstellungs-Schnappschusses aktiv. Die Umstellung auf den %1%-Drucker erfordert ein Neuladen der %1%-Voreinstellungen." +#: src/slic3r/GUI/GUI.cpp:330 +msgid "%1% was substituted with %2%" +msgstr "%1% wurde durch %2% ersetzt" + #: src/slic3r/GUI/MainFrame.cpp:1585 msgid "%1% was successfully sliced." msgstr "%1% wurde erfolgreich gesliced." @@ -63,8 +71,12 @@ msgstr "%d Voreinstellungen erfolgreich importiert." #: src/slic3r/GUI/GUI_App.cpp:718 #, possible-c-format -msgid "%s\nDo you want to continue?" -msgstr "%s\nMöchten Sie fortfahren?" +msgid "" +"%s\n" +"Do you want to continue?" +msgstr "" +"%s\n" +"Möchten Sie fortfahren?" #: src/slic3r/GUI/MainFrame.cpp:917 src/slic3r/GUI/MainFrame.cpp:1316 #, possible-c-format @@ -108,8 +120,14 @@ msgstr "%s ist auf einen Fehler gestoßen" #: src/slic3r/GUI/GUI_App.cpp:528 #, possible-c-format -msgid "%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n\nThe application will now terminate." -msgstr "%s ist auf einen Fehler gestoßen. Es wurde wahrscheinlich dadurch verursacht, dass der Speicher knapp wird. Wenn Sie sicher sind, dass Sie genügend RAM auf Ihrem System haben, kann dies auch ein Programmfehler sein, und wir würden uns freuen, wenn Sie ihn melden würden.\n\nDie Anwendung wird nun beendet." +msgid "" +"%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n" +"\n" +"The application will now terminate." +msgstr "" +"%s ist auf einen Fehler gestoßen. Es wurde wahrscheinlich dadurch verursacht, dass der Speicher knapp wird. Wenn Sie sicher sind, dass Sie genügend RAM auf Ihrem System haben, kann dies auch ein Programmfehler sein, und wir würden uns freuen, wenn Sie ihn melden würden.\n" +"\n" +"Die Anwendung wird nun beendet." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:62 #, possible-c-format @@ -126,10 +144,27 @@ msgstr "Für %s sind keine Konfigurationsaktualisierungen verfügbar." msgid "%s incompatibility" msgstr "%s-Inkompatibilität" +#: src/slic3r/GUI/MsgDialog.cpp:114 +#, possible-c-format +msgid "%s information" +msgstr "%s Information" + #: src/slic3r/GUI/UpdateDialogs.cpp:270 #, possible-c-format -msgid "%s now uses an updated configuration structure.\n\nSo called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\nAn inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n\nPlease proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." -msgstr "%s verwendet nun eine aktualisierte Konfigurationsstruktur.\n\nSogenannte 'Systemeinstellungen' wurden eingeführt; diese enthalten die eingebauten Standardeinstellungen für verschiedene Drucker. Diese Systemeinstellungen können nicht verändert werden. Stattdessen können Benutzer nun ihre eigenen Voreinstellungen erstellen, die Werte von einer der Systemeinstellungen übernehmen.\nEine übernehmende Voreinstellung kann entweder einen bestimmten Wert von ihrem Vorbild übernehmen, oder ihn mit einem eigenen Wert überschreiben.\n\nBitte fahren Sie fort mit '%s'. Dies folgt nun, um die neuen Einstellungen einzurichten sowie auszuwählen, ob Einstellungen automatisch aktualisiert werden dürfen." +msgid "" +"%s now uses an updated configuration structure.\n" +"\n" +"So called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\n" +"An inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n" +"\n" +"Please proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." +msgstr "" +"%s verwendet nun eine aktualisierte Konfigurationsstruktur.\n" +"\n" +"Sogenannte 'Systemeinstellungen' wurden eingeführt; diese enthalten die eingebauten Standardeinstellungen für verschiedene Drucker. Diese Systemeinstellungen können nicht verändert werden. Stattdessen können Benutzer nun ihre eigenen Voreinstellungen erstellen, die Werte von einer der Systemeinstellungen übernehmen.\n" +"Eine übernehmende Voreinstellung kann entweder einen bestimmten Wert von ihrem Vorbild übernehmen, oder ihn mit einem eigenen Wert überschreiben.\n" +"\n" +"Bitte fahren Sie fort mit '%s'. Dies folgt nun, um die neuen Einstellungen einzurichten sowie auszuwählen, ob Einstellungen automatisch aktualisiert werden dürfen." #: src/slic3r/GUI/GUI_App.cpp:1512 #, possible-c-format @@ -138,8 +173,18 @@ msgstr "%s Anzeigemodus" #: src/slic3r/GUI/UpdateDialogs.cpp:151 #, possible-c-format -msgid "%s will now start updates. Otherwise it won't be able to start.\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "%s beginnt nun mit der Aktualisierung. Andernfalls kann nicht gestartet werden.\n\nBeachten Sie, dass zuerst ein vollständiger Konfigurations-Snapshot erstellt wird. Er kann dann jederzeit wiederhergestellt werden, falls es ein Problem mit der neuen Version geben sollte.\n\nAktualisierte Konfigurations-Bundles:" +msgid "" +"%s will now start updates. Otherwise it won't be able to start.\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"%s beginnt nun mit der Aktualisierung. Andernfalls kann nicht gestartet werden.\n" +"\n" +"Beachten Sie, dass zuerst ein vollständiger Konfigurations-Snapshot erstellt wird. Er kann dann jederzeit wiederhergestellt werden, falls es ein Problem mit der neuen Version geben sollte.\n" +"\n" +"Aktualisierte Konfigurations-Bundles:" #: src/slic3r/GUI/MainFrame.cpp:933 src/slic3r/GUI/MainFrame.cpp:937 #: src/slic3r/GUI/MainFrame.cpp:1329 @@ -765,8 +810,12 @@ msgid "AMF file exported to %s" msgstr "AMF Datei exportiert nach %s" #: src/slic3r/GUI/GLCanvas3D.cpp:638 -msgid "An object outside the print area was detected.\nResolve the current problem to continue slicing." -msgstr "Es wurde ein Objekt außerhalb des Druckbereichs erkannt.\nDas Problem lösen, um mit dem Slicen fortzufahren." +msgid "" +"An object outside the print area was detected.\n" +"Resolve the current problem to continue slicing." +msgstr "" +"Es wurde ein Objekt außerhalb des Druckbereichs erkannt.\n" +"Das Problem lösen, um mit dem Slicen fortzufahren." #: src/slic3r/GUI/GLCanvas3D.cpp:633 msgid "An object outside the print area was detected." @@ -819,7 +868,9 @@ msgid "Are you sure you want to %1% the selected preset?" msgstr "Sind Sie sicher, dass Sie die gewählte Voreinstellung %1% möchten?" #: src/slic3r/GUI/FirmwareDialog.cpp:902 -msgid "Are you sure you want to cancel firmware flashing?\nThis could leave your printer in an unusable state!" +msgid "" +"Are you sure you want to cancel firmware flashing?\n" +"This could leave your printer in an unusable state!" msgstr "Sind Sie sicher, dass Sie das Flashen der Firmware abbrechen wollen? Dies könnte Ihren Drucker in einen unbrauchbaren Zustand versetzen!" #: src/slic3r/GUI/DoubleSlider.cpp:2122 src/slic3r/GUI/DoubleSlider.cpp:2142 @@ -1010,12 +1061,18 @@ msgid "BACK ARROW" msgstr "PFEIL ZURÜCK" #: src/slic3r/GUI/Tab.cpp:3727 -msgid "BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick to reset all settings for the current option group to the last saved preset." +msgid "" +"BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click to reset all settings for the current option group to the last saved preset." msgstr "Das Symbol PFEIL ZURÜCK zeigt an, dass die Einstellungen geändert wurden und nicht mit dem zuletzt gespeicherten Preset für die aktuelle Optionsgruppe übereinstimmen. Klicken Sie hier, um alle Einstellungen für die aktuelle Optionsgruppe auf das zuletzt gespeicherte Preset zurückzusetzen." #: src/slic3r/GUI/Tab.cpp:3741 -msgid "BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\nClick to reset current value to the last saved preset." -msgstr "Das Symbol PFEIL ZURÜCK zeigt an, dass der Wert geändert wurde und nicht mit dem zuletzt gespeicherten Preset übereinstimmt. \nKlicken Sie, um den aktuellen Wert auf das zuletzt gespeicherte Preset zurückzusetzen." +msgid "" +"BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\n" +"Click to reset current value to the last saved preset." +msgstr "" +"Das Symbol PFEIL ZURÜCK zeigt an, dass der Wert geändert wurde und nicht mit dem zuletzt gespeicherten Preset übereinstimmt. \n" +"Klicken Sie, um den aktuellen Wert auf das zuletzt gespeicherte Preset zurückzusetzen." #: src/slic3r/GUI/Preferences.cpp:72 msgid "Background processing" @@ -1215,16 +1272,24 @@ msgid "buffer too small" msgstr "Puffer zu klein" #: src/slic3r/GUI/GUI_App.cpp:1152 -msgid "But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\nSettings will be available in physical printers settings." -msgstr "Seit dieser Version von PrusaSlicer zeigen wir diese Informationen nicht mehr in den Druckereinstellungen an.\nDie Einstellungen sind in den Einstellungen für physische Drucker verfügbar." +msgid "" +"But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\n" +"Settings will be available in physical printers settings." +msgstr "" +"Seit dieser Version von PrusaSlicer zeigen wir diese Informationen nicht mehr in den Druckereinstellungen an.\n" +"Die Einstellungen sind in den Einstellungen für physische Drucker verfügbar." #: src/slic3r/GUI/ButtonsDescription.cpp:16 msgid "Buttons And Text Colors Description" msgstr "Schaltflächen und Textfarben Beschreibung" #: src/slic3r/GUI/GUI_App.cpp:1084 -msgid "By default new Printer devices will be named as \"Printer N\" during its creation.\nNote: This name can be changed later from the physical printers settings" -msgstr "Standardmäßig werden neue Drucker bei ihrer Erstellung als \"Drucker N\" bezeichnet.\nHinweis: Dieser Name kann später über die Einstellungen für physische Drucker geändert werden." +msgid "" +"By default new Printer devices will be named as \"Printer N\" during its creation.\n" +"Note: This name can be changed later from the physical printers settings" +msgstr "" +"Standardmäßig werden neue Drucker bei ihrer Erstellung als \"Drucker N\" bezeichnet.\n" +"Hinweis: Dieser Name kann später über die Einstellungen für physische Drucker geändert werden." #: src/slic3r/GUI/PresetHints.cpp:222 msgid "by the print profile maximum" @@ -1266,16 +1331,30 @@ msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible msgstr "Kann die Extrusionsbreite für %1% nicht berechnen: Variable \"%2%\" nicht zugänglich." #: src/slic3r/GUI/GUI_ObjectList.cpp:3400 -msgid "Cannot insert a new layer range after the current layer range.\nCurrent layer range overlaps with the next layer range." -msgstr "Es kann kein neuer Schichtenbereich nach dem aktuellen Schichtenbereich eingefügt werden.\nDer aktuelle Schichtenbereich überschneidet sich mit dem nächsten Schichtenbereich." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"Current layer range overlaps with the next layer range." +msgstr "" +"Es kann kein neuer Schichtenbereich nach dem aktuellen Schichtenbereich eingefügt werden.\n" +"Der aktuelle Schichtenbereich überschneidet sich mit dem nächsten Schichtenbereich." #: src/slic3r/GUI/GUI_ObjectList.cpp:3391 -msgid "Cannot insert a new layer range after the current layer range.\nThe next layer range is too thin to be split to two\nwithout violating the minimum layer height." -msgstr "Es kann kein neuer Schichtenbereich nach dem aktuellen Schichtenbereich eingefügt werden.\nDer nächste Schichtenbereich ist zu schmal, um auf zwei Schichten aufgeteilt zu werden ohne die Mindestschichthöhe zu verletzen." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"The next layer range is too thin to be split to two\n" +"without violating the minimum layer height." +msgstr "" +"Es kann kein neuer Schichtenbereich nach dem aktuellen Schichtenbereich eingefügt werden.\n" +"Der nächste Schichtenbereich ist zu schmal, um auf zwei Schichten aufgeteilt zu werden ohne die Mindestschichthöhe zu verletzen." #: src/slic3r/GUI/GUI_ObjectList.cpp:3395 -msgid "Cannot insert a new layer range between the current and the next layer range.\nThe gap between the current layer range and the next layer range\nis thinner than the minimum layer height allowed." -msgstr "Es kann kein neuer Schichtenbereich zwischen dem aktuellen und dem nächsten Schichtenbereich eingefügt werden.\nDie Lücke zwischen dem aktuellen und dem nächsten Schichtenbereich ist ist schmaler als die minimal zulässige Schichthöhe." +msgid "" +"Cannot insert a new layer range between the current and the next layer range.\n" +"The gap between the current layer range and the next layer range\n" +"is thinner than the minimum layer height allowed." +msgstr "" +"Es kann kein neuer Schichtenbereich zwischen dem aktuellen und dem nächsten Schichtenbereich eingefügt werden.\n" +"Die Lücke zwischen dem aktuellen und dem nächsten Schichtenbereich ist ist schmaler als die minimal zulässige Schichthöhe." #: src/slic3r/GUI/SavePresetDialog.cpp:137 msgid "Cannot overwrite a system profile." @@ -1561,7 +1640,7 @@ msgstr "Kompatible Druckerbedingung" #: src/libslic3r/PrintConfig.cpp:338 msgid "Complete individual objects" -msgstr "Kompatible Einzelobjekte" +msgstr "Objekte nacheinander drucken" #: src/slic3r/GUI/PrintHostDialogs.cpp:234 msgid "Completed" @@ -1587,6 +1666,14 @@ msgstr "&Konfigurations-Assistent" msgid "Configuration Assistant" msgstr "Konfigurations-Assistent" +#: src/slic3r/GUI/GUI.cpp:368 +msgid "Configuration bundle was loaded, however some configuration values were not recognized." +msgstr "Konfigurations-Bundle wurde geladen, jedoch wurden einige Konfigurationswerte nicht erkannt." + +#: src/slic3r/GUI/GUI.cpp:378 +msgid "Configuration file \"%1%\" was loaded, however some configuration values were not recognized." +msgstr "Konfigurationsdatei \"%1%\" wurde geladen, jedoch wurden einige Konfigurationswerte nicht erkannt." + #: src/libslic3r/PrintConfig.cpp:1424 msgid "Configuration notes" msgstr "Konfigurationsnotizen" @@ -1651,10 +1738,18 @@ msgstr "Verbindung zu OctoPrint funktioniert einwandfrei." msgid "Connection to printers connected via the print host failed." msgstr "Die Verbindung zu Druckern, die über den Druck-Host angeschlossen sind, ist fehlgeschlagen." +#: src/slic3r/Utils/OctoPrint.cpp:185 +msgid "Connection to Prusa SL1 / SL1S works correctly." +msgstr "Verbindung zum Prusa SL1 / SL1S funktioniert einwandfrei." + #: src/slic3r/Utils/OctoPrint.cpp:185 msgid "Connection to Prusa SL1 works correctly." msgstr "Verbindung zum Prusa SL1 funktioniert einwandfrei." +#: src/slic3r/Utils/OctoPrint.cpp:229 +msgid "Connection to PrusaLink works correctly." +msgstr "Die Verbindung zu PrusaLink funktioniert einwandfrei." + #: src/libslic3r/PrintConfig.cpp:2051 msgid "Contact Z distance" msgstr "Kontakt Z-Abstand" @@ -1724,16 +1819,38 @@ msgid "Copy Version Info" msgstr "Versionsinfo kopieren" #: src/slic3r/Utils/PresetUpdater.cpp:84 -msgid "Copying of file %1% to %2% failed.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "Das Kopieren der Datei %1% nach %2% ist fehlgeschlagen.\nFehlermeldung : %3%\nKopieren wurde ausgelöst durch Funktion: %4%" +msgid "" +"Copying of file %1% to %2% failed.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"Das Kopieren der Datei %1% nach %2% ist fehlgeschlagen.\n" +"Fehlermeldung : %3%\n" +"Kopieren wurde ausgelöst durch Funktion: %4%" #: src/slic3r/Utils/PresetUpdater.cpp:91 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file after copying.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "Kopieren der Datei %1% nach %2% fehlgeschlagen. Berechtigungsfehler der Zieldatei nach dem Kopieren.\nFehlermeldung : %3%\n Dieser Fehler wurde ausgelöst durch Funktion: %4%" +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file after copying.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"Kopieren der Datei %1% nach %2% fehlgeschlagen. Berechtigungsfehler der Zieldatei nach dem Kopieren.\n" +"Fehlermeldung : %3%\n" +" Dieser Fehler wurde ausgelöst durch Funktion: %4%" #: src/slic3r/Utils/PresetUpdater.cpp:70 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file before copying.\nError message : %3%\nThis error happend during %4% phase." -msgstr "Kopieren der Datei %1% nach %2% fehlgeschlagen. Berechtigungsfehler der Zieldatei vor dem Kopieren.\nFehlermeldung : %3%\nDieser Fehler trat während der Phase %4% auf." +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file before copying.\n" +"Error message : %3%\n" +"This error happend during %4% phase." +msgstr "" +"Kopieren der Datei %1% nach %2% fehlgeschlagen. Berechtigungsfehler der Zieldatei vor dem Kopieren.\n" +"Fehlermeldung : %3%\n" +"Dieser Fehler trat während der Phase %4% auf." + +#: src/slic3r/Utils/PresetUpdater.cpp:65 +msgid "Copying of file %1% to %2% failed: %3%" +msgstr "Kopieren der Datei %1% nach %2% fehlgeschlagen: %3%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:156 msgid "Copying of the temporary G-code has finished but the exported code couldn't be opened during copy check. The output G-code is at %1%.tmp." @@ -1748,8 +1865,12 @@ msgid "Copying of the temporary G-code to the output G-code failed" msgstr "Das Kopieren des temporären G-Codes auf den Ausgabe-G-Code ist fehlgeschlagen" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:163 -msgid "Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\nError message: %1%" -msgstr "Das Kopieren des temporären G-Codes auf den Ausgabe-G-Code ist fehlgeschlagen. Vielleicht ist die SD-Karte schreibgeschützt?\nFehlermeldung: %1%" +msgid "" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\n" +"Error message: %1%" +msgstr "" +"Das Kopieren des temporären G-Codes auf den Ausgabe-G-Code ist fehlgeschlagen. Vielleicht ist die SD-Karte schreibgeschützt?\n" +"Fehlermeldung: %1%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:147 msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." @@ -1800,6 +1921,10 @@ msgstr "Ich konnte keine Verbindung zu OctoPrint herstellen" msgid "Could not connect to Prusa SLA" msgstr "Ich konnte keine Verbindung zum Prusa SLA herstellen" +#: src/slic3r/Utils/OctoPrint.cpp:235 +msgid "Could not connect to PrusaLink" +msgstr "Konnte keine Verbindung zu PrusaLink herstellen." + #: src/slic3r/Utils/Http.cpp:73 msgid "Could not detect system SSL certificate store. PrusaSlicer will be unable to establish secure network connections." msgstr "Konnte den System-SSL-Zertifikatspeicher nicht erkennen. PrusaSlicer kann keine sicheren Netzwerkverbindungen herstellen." @@ -2353,8 +2478,14 @@ msgstr "Die angegebenen Modelle werden vor dem Zusammenführen nicht neu angeord #: src/slic3r/GUI/Field.cpp:288 #, possible-c-format -msgid "Do you mean %s%% instead of %s %s?\nSelect YES if you want to change this value to %s%%, \nor NO if you are sure that %s %s is a correct value." -msgstr "Meinen Sie%s anstelle von %s %s?\nWählen Sie JA, wenn Sie diesen Wert auf %s%% ändern möchten, \noder NEIN, wenn Sie sicher sind, dass %s %s ein korrekter Wert ist." +msgid "" +"Do you mean %s%% instead of %s %s?\n" +"Select YES if you want to change this value to %s%%, \n" +"or NO if you are sure that %s %s is a correct value." +msgstr "" +"Meinen Sie%s anstelle von %s %s?\n" +"Wählen Sie JA, wenn Sie diesen Wert auf %s%% ändern möchten, \n" +"oder NEIN, wenn Sie sicher sind, dass %s %s ein korrekter Wert ist." #: src/slic3r/GUI/DoubleSlider.cpp:2138 msgid "Do you want to delete all saved tool changes?" @@ -2388,6 +2519,10 @@ msgstr "enthält keinen gültigen G-Code." msgid "Don't arrange" msgstr "Nicht Anordnen" +# Don't install +msgid "Don't install" +msgstr "Nicht installieren" + #: src/slic3r/GUI/UpdateDialogs.cpp:71 msgid "Don't notify about new releases any more" msgstr "Keine Benachrichtigung mehr über neue Releases" @@ -3161,6 +3296,10 @@ msgstr "Ausblendende Schichten" msgid "failed finding central directory" msgstr "Zentrales Verzeichnis nicht gefunden" +#: src/slic3r/GUI/Plater.cpp:2399 +msgid "Failed loading file \"%1%\" due to an invalid configuration." +msgstr "Das Laden der Datei \"%1%\" ist aufgrund einer ungültigen Konfiguration fehlgeschlagen." + #: src/slic3r/Utils/FixModelByWin10.cpp:235 msgid "Failed loading the input model." msgstr "Das Laden des Inputmodells ist fehlgeschlagen." @@ -3512,11 +3651,17 @@ msgstr "Nur für Stützverstärker" #. TRN Description for "WHITE BULLET" #: src/slic3r/GUI/Tab.cpp:3702 -msgid "for the left button: indicates a non-system (or non-default) preset,\nfor the right button: indicates that the settings hasn't been modified." -msgstr "Beim linken Knopf: zeigt eine Nicht-System- (oder Nicht-Standard-) Einstellung an.\nBeim rechten Knopf: zeigt an, dass die Einstellung nicht geändert wurde." +msgid "" +"for the left button: indicates a non-system (or non-default) preset,\n" +"for the right button: indicates that the settings hasn't been modified." +msgstr "" +"Beim linken Knopf: zeigt eine Nicht-System- (oder Nicht-Standard-) Einstellung an.\n" +"Beim rechten Knopf: zeigt an, dass die Einstellung nicht geändert wurde." #: src/slic3r/GUI/ConfigManipulation.cpp:135 -msgid "For the Wipe Tower to work with the soluble supports, the support layers\nneed to be synchronized with the object layers." +msgid "" +"For the Wipe Tower to work with the soluble supports, the support layers\n" +"need to be synchronized with the object layers." msgstr "Damit der Reinigungsturm mit den löslichen Trägermaterialien arbeiten kann, müssen die Stützschichten mit den Objektschichten synchronisiert sein." #: src/libslic3r/Print.cpp:1422 @@ -3572,8 +3717,12 @@ msgid "G-code" msgstr "G-Code" #: src/slic3r/GUI/DoubleSlider.cpp:1146 -msgid "G-code associated to this tick mark is in a conflict with print mode.\nEditing it will cause changes of Slider data." -msgstr "Der mit diesem Häkchen verbundene G-Code steht in Konflikt mit dem Druckmodus.\nSeine Bearbeitung führt zu Änderungen der Slicer-Daten." +msgid "" +"G-code associated to this tick mark is in a conflict with print mode.\n" +"Editing it will cause changes of Slider data." +msgstr "" +"Der mit diesem Häkchen verbundene G-Code steht in Konflikt mit dem Druckmodus.\n" +"Seine Bearbeitung führt zu Änderungen der Slicer-Daten." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:165 msgid "G-code file exported to %1%" @@ -3963,8 +4112,12 @@ msgid "Hostname, IP or URL" msgstr "Hostname, IP oder URL" #: src/slic3r/GUI/Tab.cpp:210 -msgid "Hover the cursor over buttons to find more information \nor click this button." -msgstr "Bewegen Sie den Mauszeiger über die Schaltflächen, um weitere Informationen zu erhalten,\noder klicken Sie auf diese Schaltfläche." +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" +"Bewegen Sie den Mauszeiger über die Schaltflächen, um weitere Informationen zu erhalten,\n" +"oder klicken Sie auf diese Schaltfläche." #: src/libslic3r/PrintConfig.cpp:2976 msgid "How far should the pad extend around the contained geometry" @@ -4030,8 +4183,12 @@ msgid "If enabled, all printing extruders will be primed at the front edge of th msgstr "Wenn aktiviert, werden alle Druckextruder zu Beginn des Druckvorgangs an der Vorderkante des Druckbetts geprimt." #: src/slic3r/GUI/ConfigWizard.cpp:1164 -msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\nIf not enabled, the Reload from disk command will ask to select each file using an open file dialog." -msgstr "Wenn diese Option aktiviert ist, ermöglicht der Befehl Von Festplatte neu laden das automatische Suchen und Laden der Dateien, wenn er aufgerufen wird.\nWenn nicht aktiviert, fordert der Befehl Von der Festplatte neu laden jede Datei über ein Dialogfeld zum Öffnen von Dateien zur Auswahl auf." +msgid "" +"If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\n" +"If not enabled, the Reload from disk command will ask to select each file using an open file dialog." +msgstr "" +"Wenn diese Option aktiviert ist, ermöglicht der Befehl Von Festplatte neu laden das automatische Suchen und Laden der Dateien, wenn er aufgerufen wird.\n" +"Wenn nicht aktiviert, fordert der Befehl Von der Festplatte neu laden jede Datei über ein Dialogfeld zum Öffnen von Dateien zur Auswahl auf." #: src/slic3r/GUI/Preferences.cpp:91 msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked." @@ -4238,6 +4395,10 @@ msgstr "Import einer reparierten 3MF Datei fehlgeschlagen" msgid "Import profile only" msgstr "Nur Profil importieren" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Import SL1 / SL1S archive" +msgstr "Import SL1 / SL1S Archiv" + #: src/slic3r/GUI/MainFrame.cpp:1050 msgid "Import SL1 archive" msgstr "SL1-Archiv importieren" @@ -4309,8 +4470,12 @@ msgstr "Bearbeitungsbereich vergrößern/verkleinern" #. TRN Description for "UNLOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3695 -msgid "indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." -msgstr "zeigt an, dass einige Einstellungen geändert wurden und nicht mit den System- (oder Standard-) Werten für die aktuelle Optionsgruppe übereinstimmen.\nKlicken Sie auf das Symbol GEÖFFNETES SCHLOSS, um alle Einstellungen für die aktuelle Optionsgruppe auf die System- (oder Standard-) Werte zurückzusetzen." +msgid "" +"indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." +msgstr "" +"zeigt an, dass einige Einstellungen geändert wurden und nicht mit den System- (oder Standard-) Werten für die aktuelle Optionsgruppe übereinstimmen.\n" +"Klicken Sie auf das Symbol GEÖFFNETES SCHLOSS, um alle Einstellungen für die aktuelle Optionsgruppe auf die System- (oder Standard-) Werte zurückzusetzen." #. TRN Description for "LOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3691 @@ -4319,8 +4484,12 @@ msgstr "zeigt an, dass die Einstellungen mit den System- (oder Standard-) Werten #. TRN Description for "BACK ARROW" #: src/slic3r/GUI/Tab.cpp:3707 -msgid "indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick the BACK ARROW icon to reset all settings for the current option group to the last saved preset." -msgstr "zeigt an, dass die Einstellungen geändert wurden und nicht mit dem zuletzt gespeicherten Preset für die aktuelle Optionsgruppe übereinstimmen.\nKlicken Sie auf das Symbol PFEIL ZURÜCK, um alle Einstellungen für die aktuelle Optionsgruppe auf das zuletzt gespeicherte Preset zurückzusetzen." +msgid "" +"indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click the BACK ARROW icon to reset all settings for the current option group to the last saved preset." +msgstr "" +"zeigt an, dass die Einstellungen geändert wurden und nicht mit dem zuletzt gespeicherten Preset für die aktuelle Optionsgruppe übereinstimmen.\n" +"Klicken Sie auf das Symbol PFEIL ZURÜCK, um alle Einstellungen für die aktuelle Optionsgruppe auf das zuletzt gespeicherte Preset zurückzusetzen." #: src/slic3r/GUI/ConfigManipulation.cpp:210 #: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 @@ -4383,8 +4552,12 @@ msgstr "Anfangsschichthöhe" #: src/slic3r/GUI/Field.cpp:269 #, possible-c-format -msgid "Input value is out of range\nAre you sure that %s is a correct value and that you want to continue?" -msgstr "Eingabewert liegt außerhalb des Bereichs\nSind Sie sicher, dass %s ein korrekter Wert ist und Sie fortfahren möchten?" +msgid "" +"Input value is out of range\n" +"Are you sure that %s is a correct value and that you want to continue?" +msgstr "" +"Eingabewert liegt außerhalb des Bereichs\n" +"Sind Sie sicher, dass %s ein korrekter Wert ist und Sie fortfahren möchten?" #: src/slic3r/GUI/Field.cpp:252 src/slic3r/GUI/Field.cpp:1370 msgid "Input value is out of range" @@ -4398,6 +4571,10 @@ msgstr "Inspiziere / aktiviere Konfigurations-Momentaufnahmen" msgid "install" msgstr "Installation" +#: src/slic3r/GUI/UpdateDialogs.cpp:136 +msgid "Install" +msgstr "Installation" + #: src/slic3r/GUI/ObjectDataViewModel.cpp:62 #: src/slic3r/GUI/ObjectDataViewModel.cpp:218 #, possible-c-format @@ -4552,13 +4729,23 @@ msgstr "Zur Höhe wechseln" #: src/slic3r/GUI/DoubleSlider.cpp:1223 #, possible-c-format -msgid "Jump to height %s\nor Set ruler mode" -msgstr "Auf Höhe %s springen\noder Linealmodus einstellen" +msgid "" +"Jump to height %s\n" +"or Set ruler mode" +msgstr "" +"Auf Höhe %s springen\n" +"oder Linealmodus einstellen" #: src/slic3r/GUI/DoubleSlider.cpp:1220 #, possible-c-format -msgid "Jump to height %s\nSet ruler mode\nor Set extruder sequence for the entire print" -msgstr "Auf Höhe %s springen\nLineal-Modus einstellen\noder Extrudersequenz für den gesamten Druck einstellen" +msgid "" +"Jump to height %s\n" +"Set ruler mode\n" +"or Set extruder sequence for the entire print" +msgstr "" +"Auf Höhe %s springen\n" +"Lineal-Modus einstellen\n" +"oder Extrudersequenz für den gesamten Druck einstellen" #: src/slic3r/GUI/DoubleSlider.cpp:1071 src/slic3r/GUI/DoubleSlider.cpp:1852 msgid "Jump to move" @@ -4756,6 +4943,10 @@ msgstr "Lade ein Modell" msgid "Load an model saved with imperial units" msgstr "Laden eines mit imperialen Einheiten gespeicherten Modells" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Load an SL1 / Sl1S archive" +msgstr "Laden eines SL1 / SL1S Archiv" + #: src/slic3r/GUI/MainFrame.cpp:1058 msgid "Load an SL1 archive" msgstr "SL1-Archiv laden" @@ -5494,6 +5685,10 @@ msgstr "Monotonisch" msgid "More" msgstr "Mehr" +#: src/slic3r/GUI/GUI.cpp:339 +msgid "Most likely the configuration was produced by a newer version of PrusaSlicer or by some PrusaSlicer fork." +msgstr "Höchstwahrscheinlich wurde die Konfiguration von einer neueren Version des PrusaSlicer oder von einem PrusaSlicer-Ableger erzeugt." + #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 msgid "Mouse wheel" msgstr "Mausrad" @@ -5604,8 +5799,14 @@ msgid "Multiple Extruders" msgstr "Mehrere Extruder" #: src/slic3r/GUI/Plater.cpp:2372 -msgid "Multiple objects were loaded for a multi-material printer.\nInstead of considering them as multiple objects, should I consider\nthese files to represent a single object having multiple parts?" -msgstr "Für einen Multimaterialdrucker wurden mehrere Objekte geladen.\nSoll ich, anstatt sie als mehrere Objekte zu betrachten, \ndiese Dateien als ein einzelnes Objekt mit mehreren Teilen behandeln?" +msgid "" +"Multiple objects were loaded for a multi-material printer.\n" +"Instead of considering them as multiple objects, should I consider\n" +"these files to represent a single object having multiple parts?" +msgstr "" +"Für einen Multimaterialdrucker wurden mehrere Objekte geladen.\n" +"Soll ich, anstatt sie als mehrere Objekte zu betrachten, \n" +"diese Dateien als ein einzelnes Objekt mit mehreren Teilen behandeln?" #: src/libslic3r/PrintConfig.cpp:3638 msgid "Multiply copies by creating a grid." @@ -5661,6 +5862,10 @@ msgstr "Neues Projekt" msgid "New project, clear plater" msgstr "Neues Projekt, Druckplatte leeren" +#: src/slic3r/GUI/GUI.cpp:304 +msgid "new unknown value %1% was changed to default value %2%" +msgstr "neuer unbekannter Wert %1% wurde auf Standardwert %2% geändert" + #: src/slic3r/GUI/UnsavedChangesDialog.cpp:609 msgid "New Value" msgstr "Neuer Wert" @@ -5748,6 +5953,10 @@ msgstr "Nicht gefunden:" msgid "Note" msgstr "Hinweis" +#: src/slic3r/GUI/MsgDialog.cpp:114 +msgid "Note that" +msgstr "Beachten Sie, dass" + #: src/slic3r/GUI/Tab.cpp:3408 msgid "Note, that selected preset will be deleted from this/those printer(s) too." msgstr "Beachten Sie, dass die ausgewählte Voreinstellung auch von diesem/diesen Drucker(n) gelöscht wird." @@ -5757,8 +5966,14 @@ msgid "Note, that this/those printer(s) will be deleted after deleting of the se msgstr "Beachten Sie, dass dieser/diese Drucker nach dem Löschen der ausgewählten Voreinstellung gelöscht werden." #: src/slic3r/GUI/Tab.cpp:2039 -msgid "Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n\nA new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." -msgstr "Hinweis: Alle Parameter aus dieser Gruppe werden in die Einstellungen des physischen Druckers verschoben (siehe Changelog).\n\nEin neues physisches Druckerprofil wird erstellt, indem man auf das \"Zahnrad\"-Symbol rechts vom Auswahlfeld \"Druckerprofile\" klickt, indem man den Punkt \"Physischen Drucker hinzufügen\" im Auswahlfeld \"Drucker\" auswählt. Der Profil-Editor für physische Drucker wird auch durch Klicken auf das \"Zahnrad\"-Symbol in der Registerkarte \"Druckereinstellungen\" geöffnet. Die Profile des physischen Druckers werden im Verzeichnis PrusaSlicer/physical_printer gespeichert." +msgid "" +"Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n" +"\n" +"A new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." +msgstr "" +"Hinweis: Alle Parameter aus dieser Gruppe werden in die Einstellungen des physischen Druckers verschoben (siehe Changelog).\n" +"\n" +"Ein neues physisches Druckerprofil wird erstellt, indem man auf das \"Zahnrad\"-Symbol rechts vom Auswahlfeld \"Druckerprofile\" klickt, indem man den Punkt \"Physischen Drucker hinzufügen\" im Auswahlfeld \"Drucker\" auswählt. Der Profil-Editor für physische Drucker wird auch durch Klicken auf das \"Zahnrad\"-Symbol in der Registerkarte \"Druckereinstellungen\" geöffnet. Die Profile des physischen Druckers werden im Verzeichnis PrusaSlicer/physical_printer gespeichert." #: src/slic3r/Utils/AstroBox.cpp:92 msgid "Note: AstroBox version at least 1.1.0 is required." @@ -6082,6 +6297,10 @@ msgstr "Download-Seite für die Prusa3D-Treiber in Ihrem Browser öffnen" msgid "Open the software releases page in your browser" msgstr "Seite mit Programmversionen in Ihrem Browser öffnen" +#: src/slic3r/GUI/UpdateDialogs.cpp:89 +msgid "Opening Configuration Wizard" +msgstr "Öffne Konfigurationsassistent" + #: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:220 src/slic3r/GUI/Plater.cpp:3961 msgid "Optimize orientation" msgstr "Optimiere Ausrichtung" @@ -6371,6 +6590,10 @@ msgstr "Physische Drucker" msgid "Pick another vendor supported by %s" msgstr "Wählen Sie einen anderen Hersteller, der von %s unterstützt wird" +#: src/libslic3r/PrintConfig.cpp:67 +msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" +msgstr "Bildgrößen, die in einer .gcode und .sl1 / .sl1s Datei gespeichert werden sollen, im folgenden Format: \"XxY, XxY, ...\"" + #: src/libslic3r/PrintConfig.cpp:67 msgid "Picture sizes to be stored into a .gcode and .sl1 files, in the following format: \"XxY, XxY, ...\"" msgstr "Bildgrößen, die in einer .gcode- und .sl1-Datei gespeichert werden sollen, im folgenden Format: \"XxY, XxY, ...\"" @@ -6421,6 +6644,10 @@ msgstr "Bitte überprüfen und korrigieren Sie Ihre Objektliste." msgid "Please check your object list before preset changing." msgstr "Bitte überprüfen Sie Ihre Objektliste, bevor Sie die Voreinstellungen ändern." +#: src/slic3r/GUI/GUI.cpp:341 +msgid "Please review the substitutions and adjust them if needed." +msgstr "Überprüfen Sie die Ersatzwerte und passen Sie sie bei Bedarf an." + #: src/slic3r/GUI/Plater.cpp:3089 msgid "Please select the file to reload" msgstr "Bitte wählen Sie die neu zu ladende Datei aus" @@ -6521,14 +6748,20 @@ msgid "Press to activate selection rectangle" msgstr "Drücken um das Auswahlrechteck zu aktivieren" #: src/slic3r/GUI/KBShortcutsDialog.cpp:155 -msgid "Press to select multiple objects\nor move multiple objects with mouse" -msgstr "Drücken zum Auswählen des mehrteiligen Objekts \noder Bewegen des mehrteiligen Objekts mit der Maus" +msgid "" +"Press to select multiple objects\n" +"or move multiple objects with mouse" +msgstr "" +"Drücken zum Auswählen des mehrteiligen Objekts \n" +"oder Bewegen des mehrteiligen Objekts mit der Maus" #: src/slic3r/GUI/KBShortcutsDialog.cpp:221 #: src/slic3r/GUI/KBShortcutsDialog.cpp:222 #: src/slic3r/GUI/KBShortcutsDialog.cpp:231 #: src/slic3r/GUI/KBShortcutsDialog.cpp:232 -msgid "Press to speed up 5 times while moving thumb\nwith arrow keys or mouse wheel" +msgid "" +"Press to speed up 5 times while moving thumb\n" +"with arrow keys or mouse wheel" msgstr "Drücken, um 5 Mal schneller zu werden, während der Regler mit Pfeiltasten oder Mausrad bewegt wird" #: src/slic3r/GUI/KBShortcutsDialog.cpp:212 src/slic3r/GUI/Plater.cpp:4052 @@ -6731,8 +6964,14 @@ msgid "PrusaSlicer GUI initialization failed" msgstr "PrusaSlicer GUI-Initialisierung fehlgeschlagen" #: src/slic3r/GUI/GUI_App.cpp:586 -msgid "PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n\nThe application will now terminate." -msgstr "PrusaSlicer ist auf einen Lokalisierungsfehler gestoßen. Bitte melden Sie dem PrusaSlicer-Team, welche Sprache aktiv war und in welchem Szenario dieses Problem aufgetreten ist. Wir danken Ihnen.\n\nDie Anwendung wird nun beendet." +msgid "" +"PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n" +"\n" +"The application will now terminate." +msgstr "" +"PrusaSlicer ist auf einen Lokalisierungsfehler gestoßen. Bitte melden Sie dem PrusaSlicer-Team, welche Sprache aktiv war und in welchem Szenario dieses Problem aufgetreten ist. Wir danken Ihnen.\n" +"\n" +"Die Anwendung wird nun beendet." #: src/slic3r/GUI/AboutDialog.cpp:285 msgid "PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community." @@ -6742,9 +6981,19 @@ msgstr "PrusaSlicer basiert auf Slic3r von Alessandro Ranellucci und der RepRap msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "PrusaSlicer wird geschlossen: Nicht gespeicherte Änderungen" +#: src/slic3r/GUI/UpdateDialogs.cpp:90 +msgid "" +"PrusaSlicer is not using the newest configuration available.\n" +"Configuration Wizard may not offer the latest printers, filaments and SLA materials to be installed. " +msgstr "" +"Der PrusaSlicer verwendet nicht die neueste verfügbare Konfiguration.\n" +"Der Konfigurationsassistent bietet möglicherweise nicht die neuesten zu installierenden Drucker, Filamente und SLA-Materialien an. " + #: src/slic3r/GUI/OpenGLManager.cpp:259 #, possible-c-format -msgid "PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \nwhile OpenGL version %s, render %s, vendor %s was detected." +msgid "" +"PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" +"while OpenGL version %s, render %s, vendor %s was detected." msgstr "PrusaSlicer benötigt einen OpenGL 2.0-fähigen Grafiktreiber, um korrekt zu laufen, während die OpenGL-Version %s, Render %s, Hersteller %s erkannt wurde." #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 @@ -6756,8 +7005,14 @@ msgid "PrusaSlicer will remember your action." msgstr "PrusaSlicer wird sich an Ihre Aktion erinnern." #: src/slic3r/GUI/ConfigWizard.cpp:1174 -msgid "PrusaSlicer's user interfaces comes in three variants:\nSimple, Advanced, and Expert.\nThe Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." -msgstr "Die Benutzeroberflächen von PrusaSlicer sind in drei Varianten erhältlich:\nEinfach, Fortgeschritten und Experte.\nDer einfache Modus zeigt nur die am häufigsten verwendeten Einstellungen, die für den regulären 3D-Druck relevant sind. Die beiden anderen bieten eine immer anspruchsvollere Feinabstimmung, sie sind für fortgeschrittene bzw. erfahrene Anwender geeignet." +msgid "" +"PrusaSlicer's user interfaces comes in three variants:\n" +"Simple, Advanced, and Expert.\n" +"The Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." +msgstr "" +"Die Benutzeroberflächen von PrusaSlicer sind in drei Varianten erhältlich:\n" +"Einfach, Fortgeschritten und Experte.\n" +"Der einfache Modus zeigt nur die am häufigsten verwendeten Einstellungen, die für den regulären 3D-Druck relevant sind. Die beiden anderen bieten eine immer anspruchsvollere Feinabstimmung, sie sind für fortgeschrittene bzw. erfahrene Anwender geeignet." #: src/slic3r/GUI/UnsavedChangesDialog.cpp:668 msgid "PrusaSlicer: Don't ask me again" @@ -6841,8 +7096,14 @@ msgid "Ramming customization" msgstr "Einstellungen für das Rammen" #: src/slic3r/GUI/WipeTowerDialog.cpp:41 -msgid "Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n\nThis is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." -msgstr "Rammen steht für die beschleunigte Extrusion unmittelbar vor einem Werkzeugwechsel in einem MM-Drucker mit einem Extruder. Der Zweck ist, die Spitze des entladenen Filaments geeignet zu formen, damit es das Laden des neuen Filaments nicht behindert und später selber wieder eingeführt werden kann. Diese Phase ist wichtig und verschiedene Materialien können unterschiedliche Extrusionsgeschwindigkeiten benötigen, um die richtige Form zu erzielen. Aus diesem Grund können die Extrusionsraten für das Rammen angepasst werden.\n\nDies ist eine Einstellung für fortgeschrittene Benutzer. Falsche Anpassungen werden sehr wahrscheinlich zu Verstopfungen führen oder dazu, dass die Zähne der Extruderwelle ins Filament einschneiden usw." +msgid "" +"Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n" +"\n" +"This is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." +msgstr "" +"Rammen steht für die beschleunigte Extrusion unmittelbar vor einem Werkzeugwechsel in einem MM-Drucker mit einem Extruder. Der Zweck ist, die Spitze des entladenen Filaments geeignet zu formen, damit es das Laden des neuen Filaments nicht behindert und später selber wieder eingeführt werden kann. Diese Phase ist wichtig und verschiedene Materialien können unterschiedliche Extrusionsgeschwindigkeiten benötigen, um die richtige Form zu erzielen. Aus diesem Grund können die Extrusionsraten für das Rammen angepasst werden.\n" +"\n" +"Dies ist eine Einstellung für fortgeschrittene Benutzer. Falsche Anpassungen werden sehr wahrscheinlich zu Verstopfungen führen oder dazu, dass die Zähne der Extruderwelle ins Filament einschneiden usw." #: src/slic3r/GUI/WipeTowerDialog.cpp:91 msgid "Ramming line spacing" @@ -7469,6 +7730,10 @@ msgstr "Speichere Projekt (3mf)" msgid "Save project as (3mf)" msgstr "Speichere Projekt als (3mf)" +#: src/slic3r/GUI/Plater.cpp:5337 +msgid "Save SL1 / SL1S file as:" +msgstr "SL1 / SL1S-Datei speichern unter:" + #: src/slic3r/GUI/Plater.cpp:4975 msgid "Save SL1 file as:" msgstr "Speichere SL1 Datei als:" @@ -7673,8 +7938,14 @@ msgid "Select what kind of support do you need" msgstr "Wählen Sie aus, welche Art von Unterstützung Sie benötigen" #: src/slic3r/GUI/DoubleSlider.cpp:2135 -msgid "Select YES if you want to delete all saved tool changes, \nNO if you want all tool changes switch to color changes, \nor CANCEL to leave it unchanged." -msgstr "Wählen Sie JA, wenn Sie alle gespeicherten Werkzeugänderungen löschen möchten, \nNEIN, wenn Sie möchten, dass alle Werkzeugänderungen auf Farbwechsel umgestellt werden, \noder ABBRECHEN, um sie unverändert zu lassen." +msgid "" +"Select YES if you want to delete all saved tool changes, \n" +"NO if you want all tool changes switch to color changes, \n" +"or CANCEL to leave it unchanged." +msgstr "" +"Wählen Sie JA, wenn Sie alle gespeicherten Werkzeugänderungen löschen möchten, \n" +"NEIN, wenn Sie möchten, dass alle Werkzeugänderungen auf Farbwechsel umgestellt werden, \n" +"oder ABBRECHEN, um sie unverändert zu lassen." #: src/slic3r/GUI/Selection.cpp:191 msgid "Selection-Add" @@ -7919,8 +8190,12 @@ msgid "Set upper thumb to current slider thumb" msgstr "Stelle den oberen Regler auf den aktuellen Schieberegler" #: src/libslic3r/PrintConfig.cpp:3714 -msgid "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\nFor example. loglevel=2 logs fatal, error and warning level messages." -msgstr "Stellt die Empfindlichkeit der Protokollierung ein. 0:fatal, 1:Fehler, 2:Warnung, 3:Info, 4:Debug, 5: Trace.\nZum Beispiel. loglevel=2 protokolliert fatale, Fehler- und Warnstufenmeldungen." +msgid "" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +"For example. loglevel=2 logs fatal, error and warning level messages." +msgstr "" +"Stellt die Empfindlichkeit der Protokollierung ein. 0:fatal, 1:Fehler, 2:Warnung, 3:Info, 4:Debug, 5: Trace.\n" +"Zum Beispiel. loglevel=2 protokolliert fatale, Fehler- und Warnstufenmeldungen." #: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1969 msgid "Settings" @@ -8146,8 +8421,14 @@ msgid "Single Extruder Multi Material" msgstr "Einzelextruder mit Multi-Material" #: src/slic3r/GUI/Tab.cpp:2101 -msgid "Single Extruder Multi Material is selected, \nand all extruders must have the same diameter.\nDo you want to change the diameter for all extruders to first extruder nozzle diameter value?" -msgstr "Einzel-Extruder Multi-Material ist ausgewählt, \nund alle Extruder müssen den gleichen Durchmesser haben.\nMöchten Sie den Durchmesser für alle Extruder auf den Wert des ersten Extruderdüsendurchmessers ändern?" +msgid "" +"Single Extruder Multi Material is selected, \n" +"and all extruders must have the same diameter.\n" +"Do you want to change the diameter for all extruders to first extruder nozzle diameter value?" +msgstr "" +"Einzel-Extruder Multi-Material ist ausgewählt, \n" +"und alle Extruder müssen den gleichen Durchmesser haben.\n" +"Möchten Sie den Durchmesser für alle Extruder auf den Wert des ersten Extruderdüsendurchmessers ändern?" #: src/slic3r/GUI/Tab.cpp:2476 msgid "Single extruder multimaterial parameters" @@ -8412,8 +8693,12 @@ msgstr "Einige G/M-Code Befehle, einschließlich Temperaturregelung und andere, #: src/slic3r/GUI/Plater.cpp:2309 #, possible-c-format -msgid "Some object(s) in file %s looks like saved in inches.\nShould I consider them as a saved in inches and convert them?" -msgstr "Einige Objekte in der Datei %s sehen aus wie in Zoll gespeichert.\nAls in Zoll gespeicherte Objekte betrachten und konvertieren?" +msgid "" +"Some object(s) in file %s looks like saved in inches.\n" +"Should I consider them as a saved in inches and convert them?" +msgstr "" +"Einige Objekte in der Datei %s sehen aus wie in Zoll gespeichert.\n" +"Als in Zoll gespeicherte Objekte betrachten und konvertieren?" #: src/slic3r/GUI/GLCanvas3D.cpp:636 msgid "Some objects are not visible." @@ -8425,7 +8710,7 @@ msgstr "Einige Objekte sind zu nahe; Ihr Extruder wird mit ihnen zusammenstoßen #: src/libslic3r/Print.cpp:1254 msgid "Some objects are too tall and cannot be printed without extruder collisions." -msgstr "Einige Objekte sind zu hoch und können nicht ohne Zusammenstoss mit dem Extruder gedruckt werden." +msgstr "Einige Objekte sind zu hoch und können nicht ohne Zusammenstoß mit dem Extruder gedruckt werden." #: src/libslic3r/PrintConfig.cpp:2988 msgid "Some objects can get along with a few smaller pads instead of a single big one. This parameter defines how far the center of two smaller pads should be. If theyare closer, they will get merged into one pad." @@ -8433,7 +8718,7 @@ msgstr "Einige Objekte können mit ein paar kleineren Grundschichten auskommen, #: src/libslic3r/PrintConfig.cpp:2330 msgid "Some printers or printer setups may have difficulties printing with a variable layer height. Enabled by default." -msgstr "Mit einigen Druckern oder Druckerkonfigurationen ist es schwierig, mit einer variablen Schichthöhe zu drucken. Standardmässig aktiviert." +msgstr "Mit einigen Druckern oder Druckerkonfigurationen ist es schwierig, mit einer variablen Schichthöhe zu drucken. Standardmäßig aktiviert." #: src/slic3r/GUI/GLCanvas3D.cpp:3967 msgid "Spacing" @@ -8467,7 +8752,7 @@ msgstr "Geschwindigkeit (mm/s)" #: src/libslic3r/PrintConfig.cpp:964 msgid "Speed for filling small gaps using short zigzag moves. Keep this reasonably low to avoid too much shaking and resonance issues. Set zero to disable gaps filling." -msgstr "Geschwindigkeit, mit der kleine Lücken mit kurzen Zickzackbewegungen gefüllt werden. Beschränken Sie diese auf einen mässigen Wert, um übermässiges Rütteln und Resonanzprobleme zu vermeiden. Auf null gesetzt, wird das Füllen kleiner Lücken deaktiviert." +msgstr "Geschwindigkeit, mit der kleine Lücken mit kurzen Zickzackbewegungen gefüllt werden. Beschränken Sie diese auf einen mäßigen Wert, um übermässiges Rütteln und Resonanzprobleme zu vermeiden. Auf Null gesetzt, wird das Füllen kleiner Lücken deaktiviert." #: src/slic3r/GUI/Tab.cpp:1488 msgid "Speed for non-print moves" @@ -8487,7 +8772,7 @@ msgstr "Brückendruckgeschwindigkeit." #: src/libslic3r/PrintConfig.cpp:1884 msgid "Speed for printing solid regions (top/bottom/internal horizontal shells). This can be expressed as a percentage (for example: 80%) over the default infill speed above. Set to zero for auto." -msgstr "Druckgeschwindigkeit für massive Bereiche (obere/untere/innenliegende waagrechte Hüllen). Sie kann als Prozentwert (z.B. 80%) der oben eingegebenen standardmässigen Infill-Geschwindigkeit angegeben werden. Für Automatik auf null setzen." +msgstr "Druckgeschwindigkeit für massive Bereiche (obere/untere/innenliegende waagrechte Hüllen). Sie kann als Prozentwert (z.B. 80%) der oben eingegebenen standardmäßigen Infill-Geschwindigkeit angegeben werden. Für Automatik auf null setzen." #: src/libslic3r/PrintConfig.cpp:2135 msgid "Speed for printing support material interface layers. If expressed as percentage (for example 50%) it will be calculated over support material speed." @@ -8622,8 +8907,30 @@ msgid "Start the application" msgstr "Anwendung starten" #: src/slic3r/GUI/GUI_App.cpp:386 -msgid "Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n%2%.\n\nThis directory did not exist yet (maybe you run the new version for the first time).\nHowever, an old %1% configuration directory was detected in \n%3%.\n\nConsider moving the contents of the old directory to the new location in order to access your profiles, etc.\nNote that if you decide to downgrade %1% in future, it will use the old location again.\n\nWhat do you want to do now?" -msgstr "Beginnend mit %1% 2.3 hat sich das Konfigurationsverzeichnis unter Linux (gemäß XDG Base Directory Specification) geändert in \n%2%.\n\nDieses Verzeichnis existierte noch nicht (vielleicht führen Sie die neue Version zum ersten Mal aus).\nEs wurde jedoch ein altes %1%-Konfigurationsverzeichnis entdeckt in \n%3%.\n\nZiehen Sie in Betracht, den Inhalt des alten Verzeichnisses an den neuen Ort zu verschieben, um auf Ihre Profile usw. zuzugreifen.\nBeachten Sie, dass bei einem zukünftigen Downgrade von %1% wieder der alte Speicherort verwendet wird.\n\nWas möchten Sie jetzt tun?" +msgid "" +"Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n" +"%2%.\n" +"\n" +"This directory did not exist yet (maybe you run the new version for the first time).\n" +"However, an old %1% configuration directory was detected in \n" +"%3%.\n" +"\n" +"Consider moving the contents of the old directory to the new location in order to access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old location again.\n" +"\n" +"What do you want to do now?" +msgstr "" +"Beginnend mit %1% 2.3 hat sich das Konfigurationsverzeichnis unter Linux (gemäß XDG Base Directory Specification) geändert in \n" +"%2%.\n" +"\n" +"Dieses Verzeichnis existierte noch nicht (vielleicht führen Sie die neue Version zum ersten Mal aus).\n" +"Es wurde jedoch ein altes %1%-Konfigurationsverzeichnis entdeckt in \n" +"%3%.\n" +"\n" +"Ziehen Sie in Betracht, den Inhalt des alten Verzeichnisses an den neuen Ort zu verschieben, um auf Ihre Profile usw. zuzugreifen.\n" +"Beachten Sie, dass bei einem zukünftigen Downgrade von %1% wieder der alte Speicherort verwendet wird.\n" +"\n" +"Was möchten Sie jetzt tun?" #: src/slic3r/GUI/PrintHostDialogs.cpp:149 msgid "Status" @@ -8689,7 +8996,7 @@ msgstr "Stützblocker" #: src/libslic3r/PrintConfig.cpp:895 msgid "Support Cubic" -msgstr "Stütz-kubisch" +msgstr "Stütz kubisch" #: src/slic3r/GUI/GUI_ObjectList.cpp:4014 msgid "Support Enforcer" @@ -8791,8 +9098,12 @@ msgid "Supports stealth mode" msgstr "Unterstützt Stealth Modus" #: src/slic3r/GUI/ConfigManipulation.cpp:158 -msgid "Supports work better, if the following feature is enabled:\n- Detect bridging perimeters" -msgstr "Stützen funktionieren besser, wenn die folgende Funktion aktiviert ist:\n- Erkennen von Umfangbrücken" +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters" +msgstr "" +"Stützen funktionieren besser, wenn die folgende Funktion aktiviert ist:\n" +"- Erkennen von Umfangbrücken" #: src/slic3r/GUI/Preferences.cpp:104 msgid "Suppress \" - default - \" presets" @@ -8852,12 +9163,22 @@ msgid "Switching Presets: Unsaved Changes" msgstr "Voreinstellungen umschalten: Nicht gespeicherte Änderungen" #: src/slic3r/GUI/GUI_App.cpp:1608 -msgid "Switching the language will trigger application restart.\nYou will lose content of the plater." -msgstr "Das Umschalten der Sprache löst einen Neustart der Anwendung aus.\nSie verlieren den Inhalt der Druckplatte." +msgid "" +"Switching the language will trigger application restart.\n" +"You will lose content of the plater." +msgstr "" +"Das Umschalten der Sprache löst einen Neustart der Anwendung aus.\n" +"Sie verlieren den Inhalt der Druckplatte." #: src/slic3r/GUI/WipeTowerDialog.cpp:365 -msgid "Switching to simple settings will discard changes done in the advanced mode!\n\nDo you want to proceed?" -msgstr "Das Umschalten auf einfache Einstellungen verwirft die im erweiterten Modus vorgenommenen Änderungen!\n\nWollen Sie fortfahren?" +msgid "" +"Switching to simple settings will discard changes done in the advanced mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" +"Das Umschalten auf einfache Einstellungen verwirft die im erweiterten Modus vorgenommenen Änderungen!\n" +"\n" +"Wollen Sie fortfahren?" #: src/slic3r/GUI/Tab.cpp:1332 msgid "symbolic profile name" @@ -8935,16 +9256,26 @@ msgstr "Das %s-Gerät konnte nicht gefunden werden" #: src/slic3r/GUI/FirmwareDialog.cpp:436 #, possible-c-format -msgid "The %s device was not found.\nIf the device is connected, please press the Reset button next to the USB connector ..." -msgstr "Das %s-Gerät wurde nicht gefunden.\nWenn das Gerät angeschlossen ist, drücken Sie bitte die Reset-Taste neben dem USB-Anschluss...." +msgid "" +"The %s device was not found.\n" +"If the device is connected, please press the Reset button next to the USB connector ..." +msgstr "" +"Das %s-Gerät wurde nicht gefunden.\n" +"Wenn das Gerät angeschlossen ist, drücken Sie bitte die Reset-Taste neben dem USB-Anschluss...." #: src/slic3r/GUI/Tab.cpp:1238 msgid "The current custom preset will be detached from the parent system preset." msgstr "Die aktuelle benutzerdefinierte Voreinstellung wird von der Voreinstellung des übergeordneten Systems gelöst." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:925 -msgid "The currently manipulated object is tilted (rotation angles are not multiples of 90°).\nNon-uniform scaling of tilted objects is only possible in the World coordinate system,\nonce the rotation is embedded into the object coordinates." -msgstr "Das aktuell manipulierte Objekt wird gekippt (Drehwinkel sind keine Vielfachen von 90°).\nEine ungleiche Skalierung von geschwenkten Objekten ist nur im Weltkoordinatensystem möglich,\nsobald die Drehung in die Objektkoordinaten eingearbeitet wurde." +msgid "" +"The currently manipulated object is tilted (rotation angles are not multiples of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate system,\n" +"once the rotation is embedded into the object coordinates." +msgstr "" +"Das aktuell manipulierte Objekt wird gekippt (Drehwinkel sind keine Vielfachen von 90°).\n" +"Eine ungleiche Skalierung von geschwenkten Objekten ist nur im Weltkoordinatensystem möglich,\n" +"sobald die Drehung in die Objektkoordinaten eingearbeitet wurde." #: src/libslic3r/PrintConfig.cpp:2890 msgid "The default angle for connecting support sticks and junctions." @@ -9028,6 +9359,10 @@ msgstr "Bei den folgenden SLA-Druckermodellen wurden keine Materialien ausgewäh msgid "the following suffix is not allowed:" msgstr "das folgenden Suffix ist nicht erlaubt:" +#: src/slic3r/GUI/GUI.cpp:340 +msgid "The following values were substituted:" +msgstr "Die folgenden Werte wurden ersetzt:" + #: src/libslic3r/PrintConfig.cpp:3035 msgid "The gap between the object bottom and the generated pad in zero elevation mode." msgstr "Der Abstand zwischen dem Objektboden und der erzeugten Grundschicht im Nullhöhenmodus." @@ -9101,8 +9436,14 @@ msgid "The percentage of smaller pillars compared to the normal pillar diameter msgstr "Der Prozentsatz der im Vergleich zum normalen Pfeilerdurchmesser kleineren Pfeiler, die in problematischen Bereichen eingesetzt werden, in die ein normaler Pfeiler nicht passt." #: src/libslic3r/PrintConfig.cpp:2567 -msgid "The percentage of the bed area. \nIf the print area exceeds the specified value, \nthen a slow tilt will be used, otherwise - a fast tilt" -msgstr "Der Prozentsatz der Druckbettfläche.\nWenn der Druckbereich den angegebenen Wert überschreitet,\nwird eine langsame Verkippung verwendet, andernfalls - eine schnelle Verkippung" +msgid "" +"The percentage of the bed area. \n" +"If the print area exceeds the specified value, \n" +"then a slow tilt will be used, otherwise - a fast tilt" +msgstr "" +"Der Prozentsatz der Druckbettfläche.\n" +"Wenn der Druckbereich den angegebenen Wert überschreitet,\n" +"wird eine langsame Verkippung verwendet, andernfalls - eine schnelle Verkippung" #: src/slic3r/GUI/Tab.cpp:3430 msgid "The physical printer(s) below is based on the preset, you are going to delete." @@ -9149,12 +9490,22 @@ msgid "The selected object couldn't be split because it contains only one part." msgstr "Das ausgewählte Objekt konnte nicht getrennt werden, da es nur aus einem Teil besteht." #: src/slic3r/GUI/MainFrame.cpp:1003 -msgid "The selected project is no longer available.\nDo you want to remove it from the recent projects list?" -msgstr "Das ausgewählte Projekt ist nicht mehr verfügbar.\nWollen Sie es aus der Liste der letzten Projekte entfernen?" +msgid "" +"The selected project is no longer available.\n" +"Do you want to remove it from the recent projects list?" +msgstr "" +"Das ausgewählte Projekt ist nicht mehr verfügbar.\n" +"Wollen Sie es aus der Liste der letzten Projekte entfernen?" #: src/slic3r/GUI/DoubleSlider.cpp:1121 -msgid "The sequential print is on.\nIt's impossible to apply any custom G-code for objects printing sequentually.\nThis code won't be processed during G-code generation." -msgstr "Der sequentielle Druck ist eingeschaltet.\nEs ist unmöglich, einen benutzerdefinierten G-Code für Objekte anzuwenden, die sequentiell gedruckt werden.\nDieser Code wird bei der G-Code-Generierung nicht verarbeitet." +msgid "" +"The sequential print is on.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Der sequentielle Druck ist eingeschaltet.\n" +"Es ist unmöglich, einen benutzerdefinierten G-Code für Objekte anzuwenden, die sequentiell gedruckt werden.\n" +"Dieser Code wird bei der G-Code-Generierung nicht verarbeitet." #: src/slic3r/GUI/ConfigWizard.cpp:1187 msgid "The size of the object can be specified in inches" @@ -9174,8 +9525,22 @@ msgstr "Die Einzugsgeschwindigkeit (sie betrifft nur den Extruderantrieb)." #: src/slic3r/GUI/ConfigManipulation.cpp:80 #, possible-c-format -msgid "The Spiral Vase mode requires:\n- one perimeter\n- no top solid layers\n- 0% fill density\n- no support material\n- Ensure vertical shell thickness enabled\n- Detect thin walls disabled" -msgstr "Der Spiralvasenmodus erfordert:\n- einen Perimeter\n- keine oberen massiven Schichten\n- 0% Fülldichte\n- kein Stützmaterial\n- Vertikale Schalenstärke sicherstellen aktiv\n- Dünne Wände erkennen nicht aktiv" +msgid "" +"The Spiral Vase mode requires:\n" +"- one perimeter\n" +"- no top solid layers\n" +"- 0% fill density\n" +"- no support material\n" +"- Ensure vertical shell thickness enabled\n" +"- Detect thin walls disabled" +msgstr "" +"Der Spiralvasenmodus erfordert:\n" +"- einen Perimeter\n" +"- keine oberen massiven Schichten\n" +"- 0% Fülldichte\n" +"- kein Stützmaterial\n" +"- Vertikale Schalenstärke sicherstellen aktiv\n" +"- Dünne Wände erkennen nicht aktiv" #: src/libslic3r/Print.cpp:1270 msgid "The Spiral Vase option can only be used when printing single material objects." @@ -9213,16 +9578,27 @@ msgid "The vertical distance between object and support material interface. Sett msgstr "Der vertikale Abstand zwischen Objekt und Trägermaterialschnittstelle. Wenn Sie diesen Wert auf 0 setzen, wird PrusaSlicer auch verhindern, dass Bridge-Flow und -Geschwindigkeit für die erste Objektschicht verwendet werden." #: src/slic3r/GUI/Tab.cpp:2731 -msgid "The Wipe option is not available when using the Firmware Retraction mode.\n\nShall I disable it in order to enable Firmware Retraction?" -msgstr "Die Reinigungsoption ist nicht verfügbar, wenn der Firmware-Einzug verwendet wird.\n\nSoll ich sie ausschalten, um den Firmware-Einzug zu aktivieren?" +msgid "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Shall I disable it in order to enable Firmware Retraction?" +msgstr "" +"Die Reinigungsoption ist nicht verfügbar, wenn der Firmware-Einzug verwendet wird.\n" +"\n" +"Soll ich sie ausschalten, um den Firmware-Einzug zu aktivieren?" #: src/libslic3r/Print.cpp:1294 msgid "The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." msgstr "Der Reinigungsturm unterstützt derzeit kein volumetrisches E (use_volumetric_e=0)." #: src/slic3r/GUI/ConfigManipulation.cpp:114 -msgid "The Wipe Tower currently supports the non-soluble supports only\nif they are printed with the current extruder without triggering a tool change.\n(both support_material_extruder and support_material_interface_extruder need to be set to 0)." -msgstr "Der Reinigungsturm unterstützt derzeit nur die unlöslichen Stützen, wenn sie mit dem aktuellen Extruder gedruckt werden, ohne einen Werkzeugwechsel auszulösen.\n(sowohl der Stützmaterial-Extruder als auch der Stützmaterial-Schnittstellen-Extruder müssen auf 0 eingestellt sein)" +msgid "" +"The Wipe Tower currently supports the non-soluble supports only\n" +"if they are printed with the current extruder without triggering a tool change.\n" +"(both support_material_extruder and support_material_interface_extruder need to be set to 0)." +msgstr "" +"Der Reinigungsturm unterstützt derzeit nur die unlöslichen Stützen, wenn sie mit dem aktuellen Extruder gedruckt werden, ohne einen Werkzeugwechsel auszulösen.\n" +"(sowohl der Stützmaterial-Extruder als auch der Stützmaterial-Schnittstellen-Extruder müssen auf 0 eingestellt sein)" #: src/libslic3r/Print.cpp:1426 msgid "The Wipe Tower currently supports the non-soluble supports only if they are printed with the current extruder without triggering a tool change. (both support_material_extruder and support_material_interface_extruder need to be set to 0)." @@ -9273,16 +9649,28 @@ msgid "There are unprintable objects. Try to adjust support settings to make the msgstr "Es gibt nicht druckbare Objekte. Versuchen Sie, die Stützeinstellungen anzupassen, um die Objekte druckbar zu machen." #: src/slic3r/GUI/DoubleSlider.cpp:1155 -msgid "There is a color change for extruder that has not been used before.\nCheck your settings to avoid redundant color changes." -msgstr "Es gibt einen Farbwechsel für den Extruder, der bisher noch nicht verwendet wurde.\nÜberprüfen Sie Ihre Einstellungen, um überflüssige Farbwechsel zu vermeiden." +msgid "" +"There is a color change for extruder that has not been used before.\n" +"Check your settings to avoid redundant color changes." +msgstr "" +"Es gibt einen Farbwechsel für den Extruder, der bisher noch nicht verwendet wurde.\n" +"Überprüfen Sie Ihre Einstellungen, um überflüssige Farbwechsel zu vermeiden." #: src/slic3r/GUI/DoubleSlider.cpp:1149 -msgid "There is a color change for extruder that won't be used till the end of print job.\nThis code won't be processed during G-code generation." -msgstr "Es gibt einen Farbwechsel für den Extruder, der nicht vor dem Ende des Druckauftrags verwendet wird.\nDieser Code wird bei der G-Code-Generierung nicht verarbeitet." +msgid "" +"There is a color change for extruder that won't be used till the end of print job.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Es gibt einen Farbwechsel für den Extruder, der nicht vor dem Ende des Druckauftrags verwendet wird.\n" +"Dieser Code wird bei der G-Code-Generierung nicht verarbeitet." #: src/slic3r/GUI/DoubleSlider.cpp:1152 -msgid "There is an extruder change set to the same extruder.\nThis code won't be processed during G-code generation." -msgstr "Es gibt einen Extruderwechsel, der auf denselben Extruder eingestellt ist.\nDieser Code wird während der G-Code-Generierung nicht verarbeitet." +msgid "" +"There is an extruder change set to the same extruder.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Es gibt einen Extruderwechsel, der auf denselben Extruder eingestellt ist.\n" +"Dieser Code wird während der G-Code-Generierung nicht verarbeitet." #: src/libslic3r/GCode.cpp:604 msgid "There is an object with no extrusions on the first layer." @@ -9294,8 +9682,12 @@ msgid "This %s version: %s" msgstr "Diese %s Version: %s" #: src/slic3r/GUI/Tab.cpp:1244 -msgid "This action is not revertable.\nDo you want to proceed?" -msgstr "Diese Aktion ist nicht umkehrbar.\nWollen Sie fortfahren?" +msgid "" +"This action is not revertable.\n" +"Do you want to proceed?" +msgstr "" +"Diese Aktion ist nicht umkehrbar.\n" +"Wollen Sie fortfahren?" #: src/libslic3r/PrintConfig.cpp:199 msgid "This code is inserted between objects when using sequential printing. By default extruder and bed temperature are reset using non-wait command; however if M104, M109, M140 or M190 are detected in this custom code, Slic3r will not add temperature commands. Note that you can use placeholder variables for all Slic3r settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want." @@ -9370,17 +9762,32 @@ msgid "This file cannot be loaded in a simple mode. Do you want to switch to an msgstr "Diese Datei kann nicht im einfachen Modus geladen werden. Möchten Sie in den fortgeschrittenen Modus wechseln?" #: src/slic3r/GUI/Plater.cpp:2319 -msgid "This file contains several objects positioned at multiple heights.\nInstead of considering them as multiple objects, should I consider\nthis file as a single object having multiple parts?" +msgid "" +"This file contains several objects positioned at multiple heights.\n" +"Instead of considering them as multiple objects, should I consider\n" +"this file as a single object having multiple parts?" msgstr "Diese Datei enthält mehrere Objekte, die in verschiedenen Höhen positioniert sind. Anstatt sie als mehrere Objekte zu betrachten, soll ich diese Datei als ein einzelnes Objekt mit mehreren Teilen betrachten?" #: src/slic3r/GUI/FirmwareDialog.cpp:332 #, possible-c-format -msgid "This firmware hex file does not match the printer model.\nThe hex file is intended for: %s\nPrinter reported: %s\n\nDo you want to continue and flash this hex file anyway?\nPlease only continue if you are sure this is the right thing to do." -msgstr "Diese Firmware-Hex-Datei stimmt nicht mit dem Druckermodell überein.\nDie Hex-Datei ist für: %s\nDrucker erkannt: %s\n\nMöchtest Sie fortfahren und diese Hex-Datei trotzdem flashen?\nBitte fahren Sie nur fort, wenn Sie der festen Überzeugung sind, dass dies das Richtige ist." +msgid "" +"This firmware hex file does not match the printer model.\n" +"The hex file is intended for: %s\n" +"Printer reported: %s\n" +"\n" +"Do you want to continue and flash this hex file anyway?\n" +"Please only continue if you are sure this is the right thing to do." +msgstr "" +"Diese Firmware-Hex-Datei stimmt nicht mit dem Druckermodell überein.\n" +"Die Hex-Datei ist für: %s\n" +"Drucker erkannt: %s\n" +"\n" +"Möchtest Sie fortfahren und diese Hex-Datei trotzdem flashen?\n" +"Bitte fahren Sie nur fort, wenn Sie der festen Überzeugung sind, dass dies das Richtige ist." #: src/libslic3r/PrintConfig.cpp:348 msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." -msgstr "Diese Einstellung aktiviert the Logik, die die Druckgeschwindigkeit und Lüftergeschwindigkeit automatisch gemäß der Schichtdruckdauer regelt." +msgstr "Diese Einstellung aktiviert die Logik, die die Druckgeschwindigkeit und Lüftergeschwindigkeit automatisch gemäß der Schichtdruckdauer regelt." #: src/slic3r/GUI/Plater.cpp:402 msgid "This flag enables the brim that will be printed around each object on the first layer." @@ -9468,8 +9875,12 @@ msgid "This matrix describes volumes (in cubic milimetres) required to purge the msgstr "Diese Matrix beschreibt die Volumina (in Kubikmillimetern), die benötigt werden, um das neue Filament auf dem Reinigungsturm für ein bestimmtes Werkzeugpaar zu reinigen." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:928 -msgid "This operation is irreversible.\nDo you want to proceed?" -msgstr "Dieser Vorgang ist nicht mehr rückgängig zu machen.\nMöchten Sie fortfahren?" +msgid "" +"This operation is irreversible.\n" +"Do you want to proceed?" +msgstr "" +"Dieser Vorgang ist nicht mehr rückgängig zu machen.\n" +"Möchten Sie fortfahren?" #: src/libslic3r/PrintConfig.cpp:1550 msgid "This option sets the number of perimeters to generate for each layer. Note that Slic3r may increase this number automatically when it detects sloping surfaces which benefit from a higher number of perimeters if the Extra Perimeters option is enabled." @@ -9537,8 +9948,16 @@ msgstr "Dieser Vektor speichert die erforderlichen Volumina für den Wechsel von #: src/slic3r/GUI/UpdateDialogs.cpp:216 #, possible-c-format -msgid "This version of %s is not compatible with currently installed configuration bundles.\nThis probably happened as a result of running an older %s after using a newer one.\n\nYou may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." -msgstr "Diese Version von %s ist nicht kompatibel zu den aktuell installierten Konfigurationssammlungen.\nDies wurde wahrscheinlich dadurch verursacht, dass Sie eine ältere %s Version benutzt haben, nachdem Sie eine neuere ausgeführt hatten.\n\nSie können %s entweder beenden und es mit einer neueren Version nochmals versuchen, oder Sie können die erstmalige Startkonfiguration nochmals wiederholen. In diesem Fall wird eine Sicherungskopie der aktuellen Konfiguration erstellt, bevor die mit dieser %s-Version kompatiblen Dateien installiert werden." +msgid "" +"This version of %s is not compatible with currently installed configuration bundles.\n" +"This probably happened as a result of running an older %s after using a newer one.\n" +"\n" +"You may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." +msgstr "" +"Diese Version von %s ist nicht kompatibel zu den aktuell installierten Konfigurationssammlungen.\n" +"Dies wurde wahrscheinlich dadurch verursacht, dass Sie eine ältere %s Version benutzt haben, nachdem Sie eine neuere ausgeführt hatten.\n" +"\n" +"Sie können %s entweder beenden und es mit einer neueren Version nochmals versuchen, oder Sie können die erstmalige Startkonfiguration nochmals wiederholen. In diesem Fall wird eine Sicherungskopie der aktuellen Konfiguration erstellt, bevor die mit dieser %s-Version kompatiblen Dateien installiert werden." #: src/libslic3r/PrintConfig.cpp:2601 msgid "This will apply a gamma correction to the rasterized 2D polygons. A gamma value of zero means thresholding with the threshold in the middle. This behaviour eliminates antialiasing without losing holes in polygons." @@ -9763,8 +10182,12 @@ msgstr "Typ:" #: src/slic3r/GUI/OpenGLManager.cpp:275 #, possible-c-format -msgid "Unable to load the following shaders:\n%s" -msgstr "Die folgenden Shader konnten nicht geladen werden:\n%s" +msgid "" +"Unable to load the following shaders:\n" +"%s" +msgstr "" +"Die folgenden Shader konnten nicht geladen werden:\n" +"%s" #: src/slic3r/GUI/Plater.cpp:3233 msgid "Unable to reload:" @@ -9776,6 +10199,10 @@ msgstr "Kann nicht nachgeladen werden:" msgid "Undef" msgstr "Undef" +#: src/slic3r/GUI/GUI.cpp:305 +msgid "Undefined" +msgstr "Undefiniert" + #: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" msgstr "unbekannter Fehler" @@ -9832,12 +10259,20 @@ msgid "UNLOCKED LOCK" msgstr "OFFENES SCHLOSS" #: src/slic3r/GUI/Tab.cpp:3719 -msgid "UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick to reset all settings for current option group to the system (or default) values." -msgstr "Das Symbol GEÖFFNETES SCHLOSS zeigt an, dass einige Einstellungen geändert wurden und nicht mehr mit den System- (oder Standard-) Werte für die aktuelle Optionsgruppe identisch sind.\nKlicken Sie, um alle Einstellungen für die aktuelle Optionsgruppe auf die System- (oder Standard-) Werte zurückzusetzen." +msgid "" +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or default) values." +msgstr "" +"Das Symbol GEÖFFNETES SCHLOSS zeigt an, dass einige Einstellungen geändert wurden und nicht mehr mit den System- (oder Standard-) Werte für die aktuelle Optionsgruppe identisch sind.\n" +"Klicken Sie, um alle Einstellungen für die aktuelle Optionsgruppe auf die System- (oder Standard-) Werte zurückzusetzen." #: src/slic3r/GUI/Tab.cpp:3734 -msgid "UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\nClick to reset current value to the system (or default) value." -msgstr "Das Symbol GEÖFFNETES SCHLOSS zeigt an, dass der Wert geändert wurde und nicht mit der System- (oder Standard-) Einstellung identisch ist.\nKlicken Sie, um den aktuellen Wert auf die System- (oder Standard-) Einstellung zurückzusetzen." +msgid "" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\n" +"Click to reset current value to the system (or default) value." +msgstr "" +"Das Symbol GEÖFFNETES SCHLOSS zeigt an, dass der Wert geändert wurde und nicht mit der System- (oder Standard-) Einstellung identisch ist.\n" +"Klicken Sie, um den aktuellen Wert auf die System- (oder Standard-) Einstellung zurückzusetzen." #: src/slic3r/GUI/KBShortcutsDialog.cpp:173 msgid "Unselect gizmo or clear selection" @@ -10120,8 +10555,12 @@ msgid "View mode" msgstr "Anzeigemodus" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:666 -msgid "Visit \"Preferences\" and check \"%1%\"\nto be asked about unsaved changes again." -msgstr "Besuchen Sie \"Präferenzen\" und überprüfen Sie \"%1%\",\num über nicht gespeicherte Änderungen wieder gefragt zu werden." +msgid "" +"Visit \"Preferences\" and check \"%1%\"\n" +"to be asked about unsaved changes again." +msgstr "" +"Besuchen Sie \"Präferenzen\" und überprüfen Sie \"%1%\",\n" +"um über nicht gespeicherte Änderungen wieder gefragt zu werden." #: src/libslic3r/PrintConfig.cpp:3553 msgid "Visualize an already sliced and saved G-code" @@ -10366,8 +10805,18 @@ msgid "World coordinates" msgstr "Weltkoordinaten" #: src/slic3r/GUI/UpdateDialogs.cpp:92 -msgid "Would you like to install it?\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "Möchten Sie dies installieren?\n\nBeachten Sie, dass zuerst eine Momentaufnahme der gesamten Konfiguration erstellt wird. Diese kann dann jederzeit wiederhergestellt werden, falls es ein Problem mit der neuen Version gibt.\n\nAktualisierte Konfigurationssammlungen:" +msgid "" +"Would you like to install it?\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"Möchten Sie dies installieren?\n" +"\n" +"Beachten Sie, dass zuerst eine Momentaufnahme der gesamten Konfiguration erstellt wird. Diese kann dann jederzeit wiederhergestellt werden, falls es ein Problem mit der neuen Version gibt.\n" +"\n" +"Aktualisierte Konfigurationssammlungen:" #: src/slic3r/GUI/GUI_App.cpp:1802 msgid "Would you like to stop uploads and close the program?" @@ -10455,12 +10904,20 @@ msgid "You cannot use non-uniform scaling mode for multiple objects/parts select msgstr "Sie können den nichtgleichmäßigen Skalierungsmodus nicht für mehrere Objekte/Teileauswahlen verwenden" #: src/slic3r/GUI/NotificationManager.hpp:459 -msgid "You have just added a G-code for color change, but its value is empty.\nTo export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" -msgstr "Sie haben gerade einen G-Code für Farbwechsel hinzugefügt, aber sein Wert ist leer.\nUm den G-Code korrekt zu exportieren, überprüfen Sie den \"Farbwechsel-G-Code\" unter \"Druckereinstellungen > Benutzerdefinierter G-Code\"." +msgid "" +"You have just added a G-code for color change, but its value is empty.\n" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" +msgstr "" +"Sie haben gerade einen G-Code für Farbwechsel hinzugefügt, aber sein Wert ist leer.\n" +"Um den G-Code korrekt zu exportieren, überprüfen Sie den \"Farbwechsel-G-Code\" unter \"Druckereinstellungen > Benutzerdefinierter G-Code\"." #: src/slic3r/GUI/SavePresetDialog.cpp:277 -msgid "You have selected physical printer \"%1%\" \nwith related printer preset \"%2%\"" -msgstr "Sie haben den physischen Drucker \"%1%\" ausgewählt \nmit der zugehörigen Druckervoreinstellung \"%2%\"." +msgid "" +"You have selected physical printer \"%1%\" \n" +"with related printer preset \"%2%\"" +msgstr "" +"Sie haben den physischen Drucker \"%1%\" ausgewählt \n" +"mit der zugehörigen Druckervoreinstellung \"%2%\"." #: src/slic3r/GUI/GUI_App.cpp:1078 msgid "You have the following presets with saved options for \"Print Host upload\"" @@ -10479,9 +10936,13 @@ msgstr "Ein Konfigurations-Update muss installiert werden." msgid "You need to restart %s to make the changes effective." msgstr "Sie müssen %s neu starten, damit die Änderungen wirksam werden." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:611 msgid "You should change the name of your printer device." -msgstr "Sie sollten den Namen Ihres Druckers ändern." +msgstr "Sie sollten den Namen Ihres Druckgeräts ändern." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +msgid "You should to change a name of your printer device. It can't be saved." +msgstr "Sie sollten den Namen Ihres Druckers ändern. Er kann nicht gespeichert werden." #: src/slic3r/GUI/GUI_ObjectList.cpp:3884 #, possible-c-format @@ -10521,12 +10982,24 @@ msgid "Z offset" msgstr "Z-Abstand" #: src/slic3r/GUI/ConfigManipulation.cpp:59 -msgid "Zero first layer height is not valid.\n\nThe first layer height will be reset to 0.01." -msgstr "Null Höhe der ersten Schicht ist nicht gültig.\n\nDie erste Schichthöhe wird auf 0,01 zurückgesetzt." +msgid "" +"Zero first layer height is not valid.\n" +"\n" +"The first layer height will be reset to 0.01." +msgstr "" +"Null Höhe der ersten Schicht ist nicht gültig.\n" +"\n" +"Die erste Schichthöhe wird auf 0,01 zurückgesetzt." #: src/slic3r/GUI/ConfigManipulation.cpp:47 -msgid "Zero layer height is not valid.\n\nThe layer height will be reset to 0.01." -msgstr "Eine Nullschichthöhe ist nicht gültig.\n\nDie Schichthöhe wird auf 0,01 zurückgesetzt." +msgid "" +"Zero layer height is not valid.\n" +"\n" +"The layer height will be reset to 0.01." +msgstr "" +"Eine Nullschichthöhe ist nicht gültig.\n" +"\n" +"Die Schichthöhe wird auf 0,01 zurückgesetzt." #: src/libslic3r/PrintConfig.cpp:2831 msgid "Zig-Zag" @@ -10550,8 +11023,12 @@ msgid "Zoom to Bed" msgstr "Zoom aufs Druckbett" #: src/slic3r/GUI/KBShortcutsDialog.cpp:176 -msgid "Zoom to selected object\nor all objects in scene, if none selected" -msgstr "Auf ausgewähltes Objekt zoomen\noder alle Objekte in der Szene, wenn keines ausgewählt ist" +msgid "" +"Zoom to selected object\n" +"or all objects in scene, if none selected" +msgstr "" +"Auf ausgewähltes Objekt zoomen\n" +"oder alle Objekte in der Szene, wenn keines ausgewählt ist" #: src/libslic3r/PrintConfig.cpp:241 src/libslic3r/PrintConfig.cpp:816 #: src/libslic3r/PrintConfig.cpp:1748 src/libslic3r/PrintConfig.cpp:1758 diff --git a/resources/localization/en/PrusaSlicer.mo b/resources/localization/en/PrusaSlicer.mo index 423ec166fcb7853353601c3c6fbb8be905589e70..10978da8d6f02db1a2516fa61ebdd4d704069d9c 100644 GIT binary patch delta 289 zcmXBPze|Eq7(n5pG_?eQUs$G@SrKZq_=6w`S6hU3X>SyR2A67x{se~z+bx%BaB~cy zpsm5JA`qfg@PN~E&&zwc+}HYZy_*TO{((poUUYsL`Z~~4y;y-0{nNZ2$K2H$UC=vC z>7$nQL$@?og}D$M=*X_bVbM+};Kwem`G%&Fv^etcorHTWtb;pz>aG_iI<&JJ(A0_U zJ8z`n)_&N8wq5hpLmh9!mGiwFxDLaUcI--a_JJ=A>_pCe&FB2ayN5Fezgq2;!k0_E Ix9E8=1xXAmkN^Mx delta 305 zcmXBPy-R{&6o&Cji)a%A4g0X{lcd*%ppb@;YUyJM!SyvTaHt@JMqLt${(y!ChuQ-n zu%XQ+qoJv>HCoyWx}fQI?!$S`!|8-C;r(KyJ{W;S3Lb&<2t4V#9_jTc9O%FptY}pe z+R~Ul=(IlTx_;`sX2+r5z5DuME~R0}oS$&UygLb9UCmHu&*C=&ce*nL&hV{EK8U;h z)m)f?GmX!}n*9rHnY(jvV?OlPg7z&y)BaW#E~C)XTXQM+Kj24`=H;C8x}EckH;XG9 eUmCXa(evS0G1xe*lxx+K<6yH~tF$|*M)D6pS}vIY diff --git a/resources/localization/es/PrusaSlicer.mo b/resources/localization/es/PrusaSlicer.mo index 7d0bc7fc1daaf7e82dfc790d71d60aa70f65f1f5..97a93ea2c29ca91f5dd59fbc3956c17bd7ca01bc 100644 GIT binary patch delta 56817 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 Sube a la cola del gestor de #: src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp:46 msgid "Seam painting" -msgstr "Pintado de la costura" +msgstr "Pintado de costuras" #: src/libslic3r/PrintConfig.cpp:1729 msgid "Seam position" @@ -7673,8 +7948,14 @@ msgid "Select what kind of support do you need" msgstr "Selecciona qué clase de soporte necesitas" #: src/slic3r/GUI/DoubleSlider.cpp:2135 -msgid "Select YES if you want to delete all saved tool changes, \nNO if you want all tool changes switch to color changes, \nor CANCEL to leave it unchanged." -msgstr "Escoge SI si deseas borrar todos los cambios de herramienta,\nNO si deseas que los cambios de herramienta sean cambios de color,\no CANCELAR para no hacer cambios." +msgid "" +"Select YES if you want to delete all saved tool changes, \n" +"NO if you want all tool changes switch to color changes, \n" +"or CANCEL to leave it unchanged." +msgstr "" +"Escoge SI si deseas borrar todos los cambios de herramienta,\n" +"NO si deseas que los cambios de herramienta sean cambios de color,\n" +"o CANCELAR para no hacer cambios." #: src/slic3r/GUI/Selection.cpp:191 msgid "Selection-Add" @@ -7919,8 +8200,12 @@ msgid "Set upper thumb to current slider thumb" msgstr "Coloca el pulgar superior en el control deslizante actual" #: src/libslic3r/PrintConfig.cpp:3714 -msgid "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\nFor example. loglevel=2 logs fatal, error and warning level messages." -msgstr "Ajusta el nivel de avisos: 0:fallo, 1:error, 2:peligro, 3:info, 4:depuración, 5:traza\nPor ejemplo. loglevel=2 registrará mensajes de fallo, error y peligro." +msgid "" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +"For example. loglevel=2 logs fatal, error and warning level messages." +msgstr "" +"Ajusta el nivel de avisos: 0:fallo, 1:error, 2:peligro, 3:info, 4:depuración, 5:traza\n" +"Por ejemplo. loglevel=2 registrará mensajes de fallo, error y peligro." #: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1969 msgid "Settings" @@ -8067,7 +8352,7 @@ msgstr "Muestra la vista de edición 3D" #: src/slic3r/GUI/MainFrame.cpp:1237 msgid "Show the 3D slices preview" -msgstr "Muestra la vista 3D preliminar de las rebanadas" +msgstr "Muestra la vista 3D preliminar del laminado" #: src/slic3r/GUI/MainFrame.cpp:1224 msgid "Show the filament settings" @@ -8146,8 +8431,14 @@ msgid "Single Extruder Multi Material" msgstr "Extrusor único de múltiples materiales" #: src/slic3r/GUI/Tab.cpp:2101 -msgid "Single Extruder Multi Material is selected, \nand all extruders must have the same diameter.\nDo you want to change the diameter for all extruders to first extruder nozzle diameter value?" -msgstr "Multi Material en extrusor único seleccionado,\ny todos los extrusores deben tener el mismo diámetro.\n¿Deseas cambiar el diámetro de todos los extrusores al valor del diámetro del nozzle del primer extrusor?" +msgid "" +"Single Extruder Multi Material is selected, \n" +"and all extruders must have the same diameter.\n" +"Do you want to change the diameter for all extruders to first extruder nozzle diameter value?" +msgstr "" +"Multi Material en extrusor único seleccionado,\n" +"y todos los extrusores deben tener el mismo diámetro.\n" +"¿Deseas cambiar el diámetro de todos los extrusores al valor del diámetro del nozzle del primer extrusor?" #: src/slic3r/GUI/Tab.cpp:2476 msgid "Single extruder multimaterial parameters" @@ -8190,15 +8481,15 @@ msgstr "Vueltas de la falda" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1181 msgid "SLA gizmo keyboard shortcuts" -msgstr "SLA gizmo atajos de teclado" +msgstr "Herramienta de atajos de teclado SLA" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:924 msgid "SLA gizmo turned off" -msgstr "Gizmo SLA apagado" +msgstr "Herramienta de SLA apagada" #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:897 msgid "SLA gizmo turned on" -msgstr "Gizmo SLA encendido" +msgstr "Herramienta de SLA encendida" #: src/slic3r/GUI/Plater.cpp:693 src/libslic3r/Preset.cpp:1303 msgid "SLA material" @@ -8242,7 +8533,7 @@ msgstr "Impresoras de tecnología SLA" #: src/slic3r/GUI/GUI_ObjectList.cpp:1563 msgid "Slab" -msgstr "Rebanada" +msgstr "Losa" #: src/libslic3r/PrintConfig.cpp:1441 msgid "Slic3r can upload G-code files to a printer host. This field must contain the kind of the host." @@ -8301,7 +8592,7 @@ msgstr "Información del laminado" #: src/slic3r/GUI/Plater.cpp:5234 src/slic3r/GUI/Tab.cpp:1551 #: src/slic3r/GUI/Tab.cpp:4081 msgid "Slicing" -msgstr "Rebanando" +msgstr "Laminando" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:170 #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:219 @@ -8326,7 +8617,7 @@ msgstr "El laminado se ha tenido que parar debido a un error interno: Índice de #: src/libslic3r/SLAPrintSteps.cpp:46 msgid "Slicing model" -msgstr "Rebanando modelo" +msgstr "Laminando modelo" #: src/libslic3r/SLAPrintSteps.cpp:50 msgid "Slicing supports" @@ -8338,7 +8629,7 @@ msgstr "Lenta" #: src/libslic3r/PrintConfig.cpp:1820 msgid "Slow down if layer print time is below" -msgstr "Disminuya la velocidad si el tiempo de impresión de la capa está por debajo" +msgstr "Disminuir la velocidad si el tiempo de impresión de la capa está por debajo" #: src/libslic3r/PrintConfig.cpp:2558 msgid "Slow tilt" @@ -8412,8 +8703,12 @@ msgstr "Algunos comandos de códigos G/M, incluidos el control de temperatura y #: src/slic3r/GUI/Plater.cpp:2309 #, possible-c-format -msgid "Some object(s) in file %s looks like saved in inches.\nShould I consider them as a saved in inches and convert them?" -msgstr "Alguno(s) objetos del archivo %s parecen estar guardados en pulgadas.\n¿Debería considerarlos como guardados en pulgadas y convertirlos?" +msgid "" +"Some object(s) in file %s looks like saved in inches.\n" +"Should I consider them as a saved in inches and convert them?" +msgstr "" +"Alguno(s) objetos del archivo %s parecen estar guardados en pulgadas.\n" +"¿Debería considerarlos como guardados en pulgadas y convertirlos?" #: src/slic3r/GUI/GLCanvas3D.cpp:636 msgid "Some objects are not visible." @@ -8622,8 +8917,30 @@ msgid "Start the application" msgstr "Inicia el programa" #: src/slic3r/GUI/GUI_App.cpp:386 -msgid "Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n%2%.\n\nThis directory did not exist yet (maybe you run the new version for the first time).\nHowever, an old %1% configuration directory was detected in \n%3%.\n\nConsider moving the contents of the old directory to the new location in order to access your profiles, etc.\nNote that if you decide to downgrade %1% in future, it will use the old location again.\n\nWhat do you want to do now?" -msgstr "Comenzando con %1% 2.3, el directorio de configuración en Linux ha cambiado (de acuerdo con la Especificación de directorio base de XDG) a\n%2%.\n\nEste directorio aún no existía (tal vez ejecutes la nueva versión por primera vez).\nSin embargo, se detectó un directorio de configuración antiguo %1% en\n%3%.\n\nPuedes mover el contenido del directorio antiguo a la nueva ubicación para acceder a tus perfiles, etc.\nTen en cuenta que si decides retroceder de versión %1% en el futuro, volverás a utilizar la ubicación anterior.\n\n¿Qué quieres hacer ahora?" +msgid "" +"Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n" +"%2%.\n" +"\n" +"This directory did not exist yet (maybe you run the new version for the first time).\n" +"However, an old %1% configuration directory was detected in \n" +"%3%.\n" +"\n" +"Consider moving the contents of the old directory to the new location in order to access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old location again.\n" +"\n" +"What do you want to do now?" +msgstr "" +"Comenzando con %1% 2.3, el directorio de configuración en Linux ha cambiado (de acuerdo con la Especificación de directorio base de XDG) a\n" +"%2%.\n" +"\n" +"Este directorio aún no existía (tal vez ejecutes la nueva versión por primera vez).\n" +"Sin embargo, se detectó un directorio de configuración antiguo %1% en\n" +"%3%.\n" +"\n" +"Puedes mover el contenido del directorio antiguo a la nueva ubicación para acceder a tus perfiles, etc.\n" +"Ten en cuenta que si decides retroceder de versión %1% en el futuro, volverás a utilizar la ubicación anterior.\n" +"\n" +"¿Qué quieres hacer ahora?" #: src/slic3r/GUI/PrintHostDialogs.cpp:149 msgid "Status" @@ -8693,7 +9010,7 @@ msgstr "Soporte Cúbico" #: src/slic3r/GUI/GUI_ObjectList.cpp:4014 msgid "Support Enforcer" -msgstr "Refuerzo de soporte" +msgstr "Forzado de Soporte" #: src/slic3r/GUI/ConfigManipulation.cpp:162 msgid "Support Generator" @@ -8791,8 +9108,12 @@ msgid "Supports stealth mode" msgstr "Soporta modo silencioso" #: src/slic3r/GUI/ConfigManipulation.cpp:158 -msgid "Supports work better, if the following feature is enabled:\n- Detect bridging perimeters" -msgstr "Los soportes funcionan mejor si la siguiente característica está habilitada:\n- Detectar perímetros con puentes" +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters" +msgstr "" +"Los soportes funcionan mejor si la siguiente característica está habilitada:\n" +"- Detectar perímetros con puentes" #: src/slic3r/GUI/Preferences.cpp:104 msgid "Suppress \" - default - \" presets" @@ -8852,12 +9173,22 @@ msgid "Switching Presets: Unsaved Changes" msgstr "Cambio de ajustes preestablecidos: Cambios No guardados" #: src/slic3r/GUI/GUI_App.cpp:1608 -msgid "Switching the language will trigger application restart.\nYou will lose content of the plater." -msgstr "Cambiar el idioma necesita reiniciar la aplicación.\nPerderás todo el contenido situado en la base." +msgid "" +"Switching the language will trigger application restart.\n" +"You will lose content of the plater." +msgstr "" +"Cambiar el idioma necesita reiniciar la aplicación.\n" +"Perderás todo el contenido situado en la base." #: src/slic3r/GUI/WipeTowerDialog.cpp:365 -msgid "Switching to simple settings will discard changes done in the advanced mode!\n\nDo you want to proceed?" -msgstr "¡Cambiar a los ajustes sencillos descartará los cambios realizados en el modo avanzado!\n\n¿Quiere continuar?" +msgid "" +"Switching to simple settings will discard changes done in the advanced mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" +"¡Cambiar a los ajustes sencillos descartará los cambios realizados en el modo avanzado!\n" +"\n" +"¿Quiere continuar?" #: src/slic3r/GUI/Tab.cpp:1332 msgid "symbolic profile name" @@ -8935,15 +9266,22 @@ msgstr "El dispositivo %s no se pudo encontrar" #: src/slic3r/GUI/FirmwareDialog.cpp:436 #, possible-c-format -msgid "The %s device was not found.\nIf the device is connected, please press the Reset button next to the USB connector ..." -msgstr "No se encontró el dispositivo %s. \nSi el dispositivo está conectado, presione el botón Reset al lado del conector USB ..." +msgid "" +"The %s device was not found.\n" +"If the device is connected, please press the Reset button next to the USB connector ..." +msgstr "" +"No se encontró el dispositivo %s. \n" +"Si el dispositivo está conectado, presione el botón Reset al lado del conector USB ..." #: src/slic3r/GUI/Tab.cpp:1238 msgid "The current custom preset will be detached from the parent system preset." msgstr "El preajuste personalizado actual se separará del preajuste del sistema principal." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:925 -msgid "The currently manipulated object is tilted (rotation angles are not multiples of 90°).\nNon-uniform scaling of tilted objects is only possible in the World coordinate system,\nonce the rotation is embedded into the object coordinates." +msgid "" +"The currently manipulated object is tilted (rotation angles are not multiples of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate system,\n" +"once the rotation is embedded into the object coordinates." msgstr "El objeto que está manipulando está inclinado (los ángulos de rotación no son múltiplos de 90º). El escalado no uniforme de objetos inclinados sólo es posible en sistema de coordenadas Mundo, una vez que la rotación se ha aplicado a las coordenadas del objeto." #: src/libslic3r/PrintConfig.cpp:2890 @@ -9028,6 +9366,10 @@ msgstr "Los siguientes modelos de impresoras SLA no tienen filamento seleccionad msgid "the following suffix is not allowed:" msgstr "el siguiente sufijo no está permitido:" +#: src/slic3r/GUI/GUI.cpp:340 +msgid "The following values were substituted:" +msgstr "Se sustituyeron los siguientes valores:" + #: src/libslic3r/PrintConfig.cpp:3035 msgid "The gap between the object bottom and the generated pad in zero elevation mode." msgstr "El espacio entre la parte de debajo del objeto y el pad generado en el modo de cero elevación." @@ -9101,8 +9443,14 @@ msgid "The percentage of smaller pillars compared to the normal pillar diameter msgstr "El porcentaje de pilares más pequeños en comparación con el diámetro de pilar normal que se utilizan en áreas problemáticas donde no cabe un pilar normal." #: src/libslic3r/PrintConfig.cpp:2567 -msgid "The percentage of the bed area. \nIf the print area exceeds the specified value, \nthen a slow tilt will be used, otherwise - a fast tilt" -msgstr "El porcentaje del área de la cama. \nSi el área de impresión excede el valor especificado, \nentonces se utilizará una inclinación lenta, de lo contrario - una inclinación rápida" +msgid "" +"The percentage of the bed area. \n" +"If the print area exceeds the specified value, \n" +"then a slow tilt will be used, otherwise - a fast tilt" +msgstr "" +"El porcentaje del área de la cama. \n" +"Si el área de impresión excede el valor especificado, \n" +"entonces se utilizará una inclinación lenta, de lo contrario - una inclinación rápida" #: src/slic3r/GUI/Tab.cpp:3430 msgid "The physical printer(s) below is based on the preset, you are going to delete." @@ -9149,12 +9497,22 @@ msgid "The selected object couldn't be split because it contains only one part." msgstr "El objeto seleccionado no se pudo dividir porque contiene solo una parte." #: src/slic3r/GUI/MainFrame.cpp:1003 -msgid "The selected project is no longer available.\nDo you want to remove it from the recent projects list?" -msgstr "El proyecto seleccionado no está disponible.\n¿Desea eliminarlo de la lista de proyectos recientes?" +msgid "" +"The selected project is no longer available.\n" +"Do you want to remove it from the recent projects list?" +msgstr "" +"El proyecto seleccionado no está disponible.\n" +"¿Desea eliminarlo de la lista de proyectos recientes?" #: src/slic3r/GUI/DoubleSlider.cpp:1121 -msgid "The sequential print is on.\nIt's impossible to apply any custom G-code for objects printing sequentually.\nThis code won't be processed during G-code generation." -msgstr "La impresión secuencial está activada.\nEs imposible incluir G-code personalizado para piezas que se imprimen secuencialmente.\nEste código no se procesará durante la generación del G-code." +msgid "" +"The sequential print is on.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" +"This code won't be processed during G-code generation." +msgstr "" +"La impresión secuencial está activada.\n" +"Es imposible incluir G-code personalizado para piezas que se imprimen secuencialmente.\n" +"Este código no se procesará durante la generación del G-code." #: src/slic3r/GUI/ConfigWizard.cpp:1187 msgid "The size of the object can be specified in inches" @@ -9174,8 +9532,22 @@ msgstr "La velocidad para las retracciones (solo se aplica al motor del extrusor #: src/slic3r/GUI/ConfigManipulation.cpp:80 #, possible-c-format -msgid "The Spiral Vase mode requires:\n- one perimeter\n- no top solid layers\n- 0% fill density\n- no support material\n- Ensure vertical shell thickness enabled\n- Detect thin walls disabled" -msgstr "El modo Vaso Espiral necesita:\n-un perímetro\n-cero capas de tapa superior\n-0% densidad de relleno\n-sin soportes\n-Comprueba que está activado el espesor de pared vertical\n-Desactiva la detección de paredes finas" +msgid "" +"The Spiral Vase mode requires:\n" +"- one perimeter\n" +"- no top solid layers\n" +"- 0% fill density\n" +"- no support material\n" +"- Ensure vertical shell thickness enabled\n" +"- Detect thin walls disabled" +msgstr "" +"El modo Vaso Espiral necesita:\n" +"-un perímetro\n" +"-cero capas de tapa superior\n" +"-0% densidad de relleno\n" +"-sin soportes\n" +"-Comprueba que está activado el espesor de pared vertical\n" +"-Desactiva la detección de paredes finas" #: src/libslic3r/Print.cpp:1270 msgid "The Spiral Vase option can only be used when printing single material objects." @@ -9213,7 +9585,10 @@ msgid "The vertical distance between object and support material interface. Sett msgstr "La distancia vertical entre el objeto y la interfaz del material de soporte. Establecer esto en 0 también evitará que Slic3r use el flujo y la velocidad del puente para la primera capa de los objetos." #: src/slic3r/GUI/Tab.cpp:2731 -msgid "The Wipe option is not available when using the Firmware Retraction mode.\n\nShall I disable it in order to enable Firmware Retraction?" +msgid "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Shall I disable it in order to enable Firmware Retraction?" msgstr "La opción Limpiar no está disponible cuando se usa el modo Retracción de firmware. ¿Lo inhabilito para habilitar la Retracción de firmware?" #: src/libslic3r/Print.cpp:1294 @@ -9221,8 +9596,13 @@ msgid "The Wipe Tower currently does not support volumetric E (use_volumetric_e= msgstr "La Torre de Limpieza actualmente no es compatible con E volumétrico (use_volumetric_e=0)." #: src/slic3r/GUI/ConfigManipulation.cpp:114 -msgid "The Wipe Tower currently supports the non-soluble supports only\nif they are printed with the current extruder without triggering a tool change.\n(both support_material_extruder and support_material_interface_extruder need to be set to 0)." -msgstr "La Torre de Limpieza actualmente admite los soportes no solubles solo si están impresos con el extrusor actual sin activar un cambio de herramienta. \n(tanto support_material_extruder como support_material_interface_extruder deben configurarse en 0)." +msgid "" +"The Wipe Tower currently supports the non-soluble supports only\n" +"if they are printed with the current extruder without triggering a tool change.\n" +"(both support_material_extruder and support_material_interface_extruder need to be set to 0)." +msgstr "" +"La Torre de Limpieza actualmente admite los soportes no solubles solo si están impresos con el extrusor actual sin activar un cambio de herramienta. \n" +"(tanto support_material_extruder como support_material_interface_extruder deben configurarse en 0)." #: src/libslic3r/Print.cpp:1426 msgid "The Wipe Tower currently supports the non-soluble supports only if they are printed with the current extruder without triggering a tool change. (both support_material_extruder and support_material_interface_extruder need to be set to 0)." @@ -9273,16 +9653,26 @@ msgid "There are unprintable objects. Try to adjust support settings to make the msgstr "Hay objetos no imprimibles. Intenta ajustar la configuración de soportes para que los objetos se puedan imprimir." #: src/slic3r/GUI/DoubleSlider.cpp:1155 -msgid "There is a color change for extruder that has not been used before.\nCheck your settings to avoid redundant color changes." -msgstr "Hay un cambio de color para el extrusor que no se ha usado antes. \nComprueba tus ajustes para evitar cambios de color innecesarios." +msgid "" +"There is a color change for extruder that has not been used before.\n" +"Check your settings to avoid redundant color changes." +msgstr "" +"Hay un cambio de color para el extrusor que no se ha usado antes. \n" +"Comprueba tus ajustes para evitar cambios de color innecesarios." #: src/slic3r/GUI/DoubleSlider.cpp:1149 -msgid "There is a color change for extruder that won't be used till the end of print job.\nThis code won't be processed during G-code generation." +msgid "" +"There is a color change for extruder that won't be used till the end of print job.\n" +"This code won't be processed during G-code generation." msgstr "Hay un cambio de color para el extrusor que no será usado hasta el final del trabajo de impresión. Este código no será procesado durante la generación del G-code." #: src/slic3r/GUI/DoubleSlider.cpp:1152 -msgid "There is an extruder change set to the same extruder.\nThis code won't be processed during G-code generation." -msgstr "Hay un cambio de extrusor establecido en el mismo extrusor.\nEste código no se procesará durante la generación del código G." +msgid "" +"There is an extruder change set to the same extruder.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Hay un cambio de extrusor establecido en el mismo extrusor.\n" +"Este código no se procesará durante la generación del código G." #: src/libslic3r/GCode.cpp:604 msgid "There is an object with no extrusions on the first layer." @@ -9294,8 +9684,12 @@ msgid "This %s version: %s" msgstr "Esta %s versión: %s" #: src/slic3r/GUI/Tab.cpp:1244 -msgid "This action is not revertable.\nDo you want to proceed?" -msgstr "Esta acción no es reversible.\n¿Deseas continuar?" +msgid "" +"This action is not revertable.\n" +"Do you want to proceed?" +msgstr "" +"Esta acción no es reversible.\n" +"¿Deseas continuar?" #: src/libslic3r/PrintConfig.cpp:199 msgid "This code is inserted between objects when using sequential printing. By default extruder and bed temperature are reset using non-wait command; however if M104, M109, M140 or M190 are detected in this custom code, Slic3r will not add temperature commands. Note that you can use placeholder variables for all Slic3r settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want." @@ -9370,13 +9764,29 @@ msgid "This file cannot be loaded in a simple mode. Do you want to switch to an msgstr "Este archivo no puede ser cargado en un modo sencillo. ¿Quieres cambiar al modo experto?" #: src/slic3r/GUI/Plater.cpp:2319 -msgid "This file contains several objects positioned at multiple heights.\nInstead of considering them as multiple objects, should I consider\nthis file as a single object having multiple parts?" -msgstr "Este archivo contiene varios objetos posicionados en múltiples alturas. En lugar de considerarlos como objetos múltiples, ¿debería considerar\n este archivo como un único objeto que tiene varias partes?" +msgid "" +"This file contains several objects positioned at multiple heights.\n" +"Instead of considering them as multiple objects, should I consider\n" +"this file as a single object having multiple parts?" +msgstr "" +"Este archivo contiene varios objetos posicionados en múltiples alturas. En lugar de considerarlos como objetos múltiples, ¿debería considerar\n" +" este archivo como un único objeto que tiene varias partes?" #: src/slic3r/GUI/FirmwareDialog.cpp:332 #, possible-c-format -msgid "This firmware hex file does not match the printer model.\nThe hex file is intended for: %s\nPrinter reported: %s\n\nDo you want to continue and flash this hex file anyway?\nPlease only continue if you are sure this is the right thing to do." -msgstr "Este archivo hex del firmware no se corresponde con el modelo de impresora. El archivo hex está preparado para: %s\nEsta Impresora: %s\n\n¿Quieres continuar y grabar este archivo hex de todos modos?\nPor favor continúa solo si estás seguro de que es lo correcto." +msgid "" +"This firmware hex file does not match the printer model.\n" +"The hex file is intended for: %s\n" +"Printer reported: %s\n" +"\n" +"Do you want to continue and flash this hex file anyway?\n" +"Please only continue if you are sure this is the right thing to do." +msgstr "" +"Este archivo hex del firmware no se corresponde con el modelo de impresora. El archivo hex está preparado para: %s\n" +"Esta Impresora: %s\n" +"\n" +"¿Quieres continuar y grabar este archivo hex de todos modos?\n" +"Por favor continúa solo si estás seguro de que es lo correcto." #: src/libslic3r/PrintConfig.cpp:348 msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." @@ -9468,8 +9878,12 @@ msgid "This matrix describes volumes (in cubic milimetres) required to purge the msgstr "Esta matriz detalla los volúmenes (en milímetros cúbicos) necesarios para purgar el nuevo filamento en la torre de limpieza para cualquier par de filamentos." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:928 -msgid "This operation is irreversible.\nDo you want to proceed?" -msgstr "Esta operación es irreversible. \n¿Deseas continuar?" +msgid "" +"This operation is irreversible.\n" +"Do you want to proceed?" +msgstr "" +"Esta operación es irreversible. \n" +"¿Deseas continuar?" #: src/libslic3r/PrintConfig.cpp:1550 msgid "This option sets the number of perimeters to generate for each layer. Note that Slic3r may increase this number automatically when it detects sloping surfaces which benefit from a higher number of perimeters if the Extra Perimeters option is enabled." @@ -9537,8 +9951,15 @@ msgstr "Este vector guarda los volúmenes necesarios para cambiar desde/hasta c #: src/slic3r/GUI/UpdateDialogs.cpp:216 #, possible-c-format -msgid "This version of %s is not compatible with currently installed configuration bundles.\nThis probably happened as a result of running an older %s after using a newer one.\n\nYou may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." -msgstr "Esta versión de %s no es compatible con los grupos de configuraciones instaladas. Esto sucede probablemente por ejecutar una versión de %s después de haber usado una más reciente.\n\nPuedes salir de %s e intentarlo de nuevo con una versión más reciente, o puedes volver a ejecutar la configuración inicial. Al hacerlo se creará una copia de respaldo de la configuración existente antes de instalar la nueva compatible con esta versión de %s." +msgid "" +"This version of %s is not compatible with currently installed configuration bundles.\n" +"This probably happened as a result of running an older %s after using a newer one.\n" +"\n" +"You may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." +msgstr "" +"Esta versión de %s no es compatible con los grupos de configuraciones instaladas. Esto sucede probablemente por ejecutar una versión de %s después de haber usado una más reciente.\n" +"\n" +"Puedes salir de %s e intentarlo de nuevo con una versión más reciente, o puedes volver a ejecutar la configuración inicial. Al hacerlo se creará una copia de respaldo de la configuración existente antes de instalar la nueva compatible con esta versión de %s." #: src/libslic3r/PrintConfig.cpp:2601 msgid "This will apply a gamma correction to the rasterized 2D polygons. A gamma value of zero means thresholding with the threshold in the middle. This behaviour eliminates antialiasing without losing holes in polygons." @@ -9763,8 +10184,12 @@ msgstr "Tipo:" #: src/slic3r/GUI/OpenGLManager.cpp:275 #, possible-c-format -msgid "Unable to load the following shaders:\n%s" -msgstr "No se pueden cargar las siguientes sombras:\n%s" +msgid "" +"Unable to load the following shaders:\n" +"%s" +msgstr "" +"No se pueden cargar las siguientes sombras:\n" +"%s" #: src/slic3r/GUI/Plater.cpp:3233 msgid "Unable to reload:" @@ -9776,6 +10201,10 @@ msgstr "Incapaz de recargar:" msgid "Undef" msgstr "Undef" +#: src/slic3r/GUI/GUI.cpp:305 +msgid "Undefined" +msgstr "Indefinido" + #: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" msgstr "error no definido" @@ -9832,12 +10261,20 @@ msgid "UNLOCKED LOCK" msgstr "CANDADO ABIERTO" #: src/slic3r/GUI/Tab.cpp:3719 -msgid "UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick to reset all settings for current option group to the system (or default) values." -msgstr "El icono de CANDADO DESBLOQUEADO indica que se cambiaron algunas configuraciones y no son iguales a los valores del sistema (o predeterminados) para el grupo de opciones actual.\nHaz clic para restablecer todas las configuraciones para el grupo de opciones actual a los valores del sistema (o predeterminados)." +msgid "" +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or default) values." +msgstr "" +"El icono de CANDADO DESBLOQUEADO indica que se cambiaron algunas configuraciones y no son iguales a los valores del sistema (o predeterminados) para el grupo de opciones actual.\n" +"Haz clic para restablecer todas las configuraciones para el grupo de opciones actual a los valores del sistema (o predeterminados)." #: src/slic3r/GUI/Tab.cpp:3734 -msgid "UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\nClick to reset current value to the system (or default) value." -msgstr "El icono de CANDADO DESBLOQUEADO indica que se cambiaron algunas configuraciones y no son iguales a los valores del sistema (o predeterminados).\nHaz clic para reiniciar el valor actual a los del sistema (o predeterminados)" +msgid "" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\n" +"Click to reset current value to the system (or default) value." +msgstr "" +"El icono de CANDADO DESBLOQUEADO indica que se cambiaron algunas configuraciones y no son iguales a los valores del sistema (o predeterminados).\n" +"Haz clic para reiniciar el valor actual a los del sistema (o predeterminados)" #: src/slic3r/GUI/KBShortcutsDialog.cpp:173 msgid "Unselect gizmo or clear selection" @@ -10120,8 +10557,12 @@ msgid "View mode" msgstr "Modo de vista" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:666 -msgid "Visit \"Preferences\" and check \"%1%\"\nto be asked about unsaved changes again." -msgstr "Visita \"Preferencias\" y marca\"%1%\"\npara que se le pregunte sobre los cambios no guardados nuevamente." +msgid "" +"Visit \"Preferences\" and check \"%1%\"\n" +"to be asked about unsaved changes again." +msgstr "" +"Visita \"Preferencias\" y marca\"%1%\"\n" +"para que se le pregunte sobre los cambios no guardados nuevamente." #: src/libslic3r/PrintConfig.cpp:3553 msgid "Visualize an already sliced and saved G-code" @@ -10366,8 +10807,17 @@ msgid "World coordinates" msgstr "Coordenadas mundiales" #: src/slic3r/GUI/UpdateDialogs.cpp:92 -msgid "Would you like to install it?\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "¿Te gustaría instalarlo?\n\nTen en cuenta que primero se creará una instantánea de la configuración. Así que se puede recuperar en cualquier momento en caso de que hubiera algún problema con la nueva versión.\nUpdated configuration bundles:" +msgid "" +"Would you like to install it?\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"¿Te gustaría instalarlo?\n" +"\n" +"Ten en cuenta que primero se creará una instantánea de la configuración. Así que se puede recuperar en cualquier momento en caso de que hubiera algún problema con la nueva versión.\n" +"Updated configuration bundles:" #: src/slic3r/GUI/GUI_App.cpp:1802 msgid "Would you like to stop uploads and close the program?" @@ -10455,12 +10905,20 @@ msgid "You cannot use non-uniform scaling mode for multiple objects/parts select msgstr "No puedes usar el modo de escala no uniforme para la selección de múltiples objetos/partes" #: src/slic3r/GUI/NotificationManager.hpp:459 -msgid "You have just added a G-code for color change, but its value is empty.\nTo export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" -msgstr "Acabas de añadir un código G para el cambio de color, pero su valor está vacío.\nPara exportar el código G correctamente, marca \"Código G Cambio de Color\" in \"Configuración de la Impresora > Código G Personalizado\"" +msgid "" +"You have just added a G-code for color change, but its value is empty.\n" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" +msgstr "" +"Acabas de añadir un código G para el cambio de color, pero su valor está vacío.\n" +"Para exportar el código G correctamente, marca \"Código G Cambio de Color\" in \"Configuración de la Impresora > Código G Personalizado\"" #: src/slic3r/GUI/SavePresetDialog.cpp:277 -msgid "You have selected physical printer \"%1%\" \nwith related printer preset \"%2%\"" -msgstr "Ha seleccionado una impresora física \"%1%\" \ncon preajuste de impresora relacionado \"%2%\"" +msgid "" +"You have selected physical printer \"%1%\" \n" +"with related printer preset \"%2%\"" +msgstr "" +"Ha seleccionado una impresora física \"%1%\" \n" +"con preajuste de impresora relacionado \"%2%\"" #: src/slic3r/GUI/GUI_App.cpp:1078 msgid "You have the following presets with saved options for \"Print Host upload\"" @@ -10479,9 +10937,13 @@ msgstr "Es necesario instalar una actualización de la configuración." msgid "You need to restart %s to make the changes effective." msgstr "Es necesario reiniciar %s para hacer los cambios efectivos." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:611 msgid "You should change the name of your printer device." -msgstr "Debería cambiar el nombre de su dispositivo de impresión." +msgstr "Deberías cambiar el nombre de tu dispositivo de impresión." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +msgid "You should to change a name of your printer device. It can't be saved." +msgstr "Debería cambiar el nombre de su dispositivo de impresión. No se puede guardar." #: src/slic3r/GUI/GUI_ObjectList.cpp:3884 #, possible-c-format @@ -10521,12 +10983,24 @@ msgid "Z offset" msgstr "Ajuste en altura Z" #: src/slic3r/GUI/ConfigManipulation.cpp:59 -msgid "Zero first layer height is not valid.\n\nThe first layer height will be reset to 0.01." -msgstr "Cero como la altura de la primera capa no es válido.\n\nLa altura de la primera capa se restablecerá a 0.01." +msgid "" +"Zero first layer height is not valid.\n" +"\n" +"The first layer height will be reset to 0.01." +msgstr "" +"Cero como la altura de la primera capa no es válido.\n" +"\n" +"La altura de la primera capa se restablecerá a 0.01." #: src/slic3r/GUI/ConfigManipulation.cpp:47 -msgid "Zero layer height is not valid.\n\nThe layer height will be reset to 0.01." -msgstr "Cero como la altura de capa no es válido.\n\nLa altura de capa se restablecerá a 0.01." +msgid "" +"Zero layer height is not valid.\n" +"\n" +"The layer height will be reset to 0.01." +msgstr "" +"Cero como la altura de capa no es válido.\n" +"\n" +"La altura de capa se restablecerá a 0.01." #: src/libslic3r/PrintConfig.cpp:2831 msgid "Zig-Zag" @@ -10550,8 +11024,12 @@ msgid "Zoom to Bed" msgstr "Zoom a la Cama" #: src/slic3r/GUI/KBShortcutsDialog.cpp:176 -msgid "Zoom to selected object\nor all objects in scene, if none selected" -msgstr "Zoom a objetos seleccionados\no a todos los objetos en escena, si no se seleccionó ninguno" +msgid "" +"Zoom to selected object\n" +"or all objects in scene, if none selected" +msgstr "" +"Zoom a objetos seleccionados\n" +"o a todos los objetos en escena, si no se seleccionó ninguno" #: src/libslic3r/PrintConfig.cpp:241 src/libslic3r/PrintConfig.cpp:816 #: src/libslic3r/PrintConfig.cpp:1748 src/libslic3r/PrintConfig.cpp:1758 diff --git a/resources/localization/fr/PrusaSlicer.mo b/resources/localization/fr/PrusaSlicer.mo index cf3b66bab858e97f337baff803e3930d18203435..e53f7e089391a1464d8efafa63d0dcbc01b3f439 100644 GIT binary patch delta 56496 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 delta 54225 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 diff --git a/resources/localization/fr/PrusaSlicer_fr.po b/resources/localization/fr/PrusaSlicer_fr.po index f06ec488f..866cd2343 100644 --- a/resources/localization/fr/PrusaSlicer_fr.po +++ b/resources/localization/fr/PrusaSlicer_fr.po @@ -5,11 +5,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: PhraseApp (phraseapp.com)\n" +"X-Generator: Phrase (phrase.com)\n" #: src/slic3r/GUI/Tab.cpp:4124 -msgid "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\nTo enable \"%1%\", please switch off \"%2%\"" -msgstr "\"%1%\" est désactivé car \"%2%\" est activé dans la catégorie \"%3%\".\nPour activer \"%1%\", veuillez désactiver \"%2%\"" +msgid "" +"\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" +"To enable \"%1%\", please switch off \"%2%\"" +msgstr "" +"\"%1%\" est désactivé car \"%2%\" est activé dans la catégorie \"%3%\".\n" +"Pour activer \"%1%\", veuillez désactiver \"%2%\"" #: src/libslic3r/PrintConfig.cpp:249 src/libslic3r/PrintConfig.cpp:828 #: src/libslic3r/PrintConfig.cpp:1148 src/libslic3r/PrintConfig.cpp:1327 @@ -28,6 +32,10 @@ msgstr "%1% Préréglage" msgid "%1% printer was active at the time the target Undo / Redo snapshot was taken. Switching to %1% printer requires reloading of %1% presets." msgstr "L'imprimante %1% était active au moment où l'instantané cible Annuler / Refaire a été pris. Basculer vers l'imprimante %1% requiert de recharger les préréglages de %1%." +#: src/slic3r/GUI/GUI.cpp:330 +msgid "%1% was substituted with %2%" +msgstr "%1% a été substitué avec %2%" + #: src/slic3r/GUI/MainFrame.cpp:1585 msgid "%1% was successfully sliced." msgstr "%1% a été découpé avec succès." @@ -63,8 +71,12 @@ msgstr "%d préréglages importés avec succès." #: src/slic3r/GUI/GUI_App.cpp:718 #, possible-c-format -msgid "%s\nDo you want to continue?" -msgstr "%s\nVoulez-vous continuer ?" +msgid "" +"%s\n" +"Do you want to continue?" +msgstr "" +"%s\n" +"Voulez-vous continuer ?" #: src/slic3r/GUI/MainFrame.cpp:917 src/slic3r/GUI/MainFrame.cpp:1316 #, possible-c-format @@ -108,8 +120,14 @@ msgstr "%s a rencontré une erreur" #: src/slic3r/GUI/GUI_App.cpp:528 #, possible-c-format -msgid "%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n\nThe application will now terminate." -msgstr "%s a rencontré une erreur. Elle a apparemment été provoquée par un manque de mémoire. Si vous êtes certain d'avoir assez de RAM sur votre système, cela peut également être un bug et nous aimerions que vous le signaliez.\n\nL'application va maintenant fermer." +msgid "" +"%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n" +"\n" +"The application will now terminate." +msgstr "" +"%s a rencontré une erreur. Elle a apparemment été provoquée par un manque de mémoire. Si vous êtes certain d'avoir assez de RAM sur votre système, cela peut également être un bug et nous aimerions que vous le signaliez.\n" +"\n" +"L'application va maintenant fermer." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:62 #, possible-c-format @@ -126,10 +144,27 @@ msgstr "%s n'a aucunes mises à jour de configuration disponibles." msgid "%s incompatibility" msgstr "Incompatibilité de %s" +#: src/slic3r/GUI/MsgDialog.cpp:114 +#, possible-c-format +msgid "%s information" +msgstr "Information de %s" + #: src/slic3r/GUI/UpdateDialogs.cpp:270 #, possible-c-format -msgid "%s now uses an updated configuration structure.\n\nSo called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\nAn inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n\nPlease proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." -msgstr "%s utilise à présent une structure de configuration mise à jour.\n\nIl existe à présent des \"préréglages Système\", qui intègrent les réglages par défaut pour les différentes imprimantes. Ces préréglages Système ne peuvent pas être modifiés, mais les utilisateurs peuvent désormais créer leurs propres préréglages héritant des paramètres de l'un des préréglages Système.\nUn tel préréglage peut ainsi hériter d'une valeur particulière de son parent ou la remplacer par une valeur personnalisée.\n\nVeuillez utiliser les %s qui suivent pour paramétrer les nouveaux réglages et éventuellement accepter les mises à jour de réglage automatiques." +msgid "" +"%s now uses an updated configuration structure.\n" +"\n" +"So called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\n" +"An inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n" +"\n" +"Please proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." +msgstr "" +"%s utilise à présent une structure de configuration mise à jour.\n" +"\n" +"Il existe à présent des \"préréglages Système\", qui intègrent les réglages par défaut pour les différentes imprimantes. Ces préréglages Système ne peuvent pas être modifiés, mais les utilisateurs peuvent désormais créer leurs propres préréglages héritant des paramètres de l'un des préréglages Système.\n" +"Un tel préréglage peut ainsi hériter d'une valeur particulière de son parent ou la remplacer par une valeur personnalisée.\n" +"\n" +"Veuillez utiliser les %s qui suivent pour paramétrer les nouveaux réglages et éventuellement accepter les mises à jour de réglage automatiques." #: src/slic3r/GUI/GUI_App.cpp:1512 #, possible-c-format @@ -138,8 +173,18 @@ msgstr "Mode de Vue de %s" #: src/slic3r/GUI/UpdateDialogs.cpp:151 #, possible-c-format -msgid "%s will now start updates. Otherwise it won't be able to start.\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "%s va maintenant démarrer les mises à jour. Sinon, il ne pourra pas démarrer.\n\nNotez qu'un instantané complet de la configuration sera créé en premier. Il peut ensuite être restauré à tout moment en cas de problème avec la nouvelle version.\n\nLots de configuration mis à jour :" +msgid "" +"%s will now start updates. Otherwise it won't be able to start.\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"%s va maintenant démarrer les mises à jour. Sinon, il ne pourra pas démarrer.\n" +"\n" +"Notez qu'un instantané complet de la configuration sera créé en premier. Il peut ensuite être restauré à tout moment en cas de problème avec la nouvelle version.\n" +"\n" +"Lots de configuration mis à jour :" #: src/slic3r/GUI/MainFrame.cpp:933 src/slic3r/GUI/MainFrame.cpp:937 #: src/slic3r/GUI/MainFrame.cpp:1329 @@ -765,8 +810,12 @@ msgid "AMF file exported to %s" msgstr "Fichier AMF exporté vers %s" #: src/slic3r/GUI/GLCanvas3D.cpp:638 -msgid "An object outside the print area was detected.\nResolve the current problem to continue slicing." -msgstr "Un objet en dehors de la zone d'impression a été détecté.\nRésolvez le problème actuel pour continuer le découpage." +msgid "" +"An object outside the print area was detected.\n" +"Resolve the current problem to continue slicing." +msgstr "" +"Un objet en dehors de la zone d'impression a été détecté.\n" +"Résolvez le problème actuel pour continuer le découpage." #: src/slic3r/GUI/GLCanvas3D.cpp:633 msgid "An object outside the print area was detected." @@ -819,8 +868,12 @@ msgid "Are you sure you want to %1% the selected preset?" msgstr "Êtes-vous sûr de vouloir %1% le préréglage sélectionné ?" #: src/slic3r/GUI/FirmwareDialog.cpp:902 -msgid "Are you sure you want to cancel firmware flashing?\nThis could leave your printer in an unusable state!" -msgstr "Êtes-vous certain de vouloir annuler le processus de flash du firmware ?\nCela pourrait rendre votre imprimante inutilisable !" +msgid "" +"Are you sure you want to cancel firmware flashing?\n" +"This could leave your printer in an unusable state!" +msgstr "" +"Êtes-vous certain de vouloir annuler le processus de flash du firmware ?\n" +"Cela pourrait rendre votre imprimante inutilisable !" #: src/slic3r/GUI/DoubleSlider.cpp:2122 src/slic3r/GUI/DoubleSlider.cpp:2142 msgid "Are you sure you want to continue?" @@ -1010,12 +1063,20 @@ msgid "BACK ARROW" msgstr "FLÈCHE ARRIÈRE" #: src/slic3r/GUI/Tab.cpp:3727 -msgid "BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick to reset all settings for the current option group to the last saved preset." -msgstr "L'icône FLÈCHE ARRIÈRE indique que les paramètres ont été changés et qu'ils ne sont pas identiques au dernier préréglage enregistré du groupe d'options en cours.\nCliquez pour restaurer tous les paramètres du groupe d'options en cours avec les valeurs du dernier préréglage enregistré." +msgid "" +"BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click to reset all settings for the current option group to the last saved preset." +msgstr "" +"L'icône FLÈCHE ARRIÈRE indique que les paramètres ont été changés et qu'ils ne sont pas identiques au dernier préréglage enregistré du groupe d'options en cours.\n" +"Cliquez pour restaurer tous les paramètres du groupe d'options en cours avec les valeurs du dernier préréglage enregistré." #: src/slic3r/GUI/Tab.cpp:3741 -msgid "BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\nClick to reset current value to the last saved preset." -msgstr "L'icône FLÈCHE ARRIÈRE indique que la valeur a été changée et qu'elle n'est pas identique au dernier préréglage enregistré.\nCliquez pour restaurer la valeur à celle du dernier préréglage enregistré." +msgid "" +"BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\n" +"Click to reset current value to the last saved preset." +msgstr "" +"L'icône FLÈCHE ARRIÈRE indique que la valeur a été changée et qu'elle n'est pas identique au dernier préréglage enregistré.\n" +"Cliquez pour restaurer la valeur à celle du dernier préréglage enregistré." #: src/slic3r/GUI/Preferences.cpp:72 msgid "Background processing" @@ -1151,7 +1212,7 @@ msgstr "Vue du Dessous" #: src/slic3r/GUI/GUI_ObjectList.cpp:1595 #: src/slic3r/GUI/GUI_ObjectList.cpp:1599 msgid "Box" -msgstr "Case" +msgstr "Boîte" #: src/libslic3r/PrintConfig.cpp:227 msgid "Bridge" @@ -1215,16 +1276,24 @@ msgid "buffer too small" msgstr "buffer trop petit" #: src/slic3r/GUI/GUI_App.cpp:1152 -msgid "But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\nSettings will be available in physical printers settings." -msgstr "Mais depuis cette version de PrusaSlicer, nous ne montrons plus ces informations dans les Réglages de l'imprimante.\nLes réglages seront disponibles dans les réglages des imprimantes physiques." +msgid "" +"But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\n" +"Settings will be available in physical printers settings." +msgstr "" +"Mais depuis cette version de PrusaSlicer, nous ne montrons plus ces informations dans les Réglages de l'imprimante.\n" +"Les réglages seront disponibles dans les réglages des imprimantes physiques." #: src/slic3r/GUI/ButtonsDescription.cpp:16 msgid "Buttons And Text Colors Description" msgstr "Description des Boutons et des Couleurs de Texte" #: src/slic3r/GUI/GUI_App.cpp:1084 -msgid "By default new Printer devices will be named as \"Printer N\" during its creation.\nNote: This name can be changed later from the physical printers settings" -msgstr "Par défaut, les nouvelles imprimantes seront nommées \"Imprimante N\" lors de leur création.\nRemarque : ce nom peut être modifié ultérieurement dans les réglages des imprimantes physiques" +msgid "" +"By default new Printer devices will be named as \"Printer N\" during its creation.\n" +"Note: This name can be changed later from the physical printers settings" +msgstr "" +"Par défaut, les nouvelles imprimantes seront nommées \"Imprimante N\" lors de leur création.\n" +"Remarque : ce nom peut être modifié ultérieurement dans les réglages des imprimantes physiques" #: src/slic3r/GUI/PresetHints.cpp:222 msgid "by the print profile maximum" @@ -1266,16 +1335,30 @@ msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible msgstr "Impossible de calculer la largeur d'extrusion pour %1% : la variable \"%2%\" n'est pas accessible." #: src/slic3r/GUI/GUI_ObjectList.cpp:3400 -msgid "Cannot insert a new layer range after the current layer range.\nCurrent layer range overlaps with the next layer range." -msgstr "Impossible d'insérer une nouvelle zone de couche après la zone de couche actuelle.\nLa zone de couche actuelle chevauche la prochaine zone de couche." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"Current layer range overlaps with the next layer range." +msgstr "" +"Impossible d'insérer une nouvelle zone de couche après la zone de couche actuelle.\n" +"La zone de couche actuelle chevauche la prochaine zone de couche." #: src/slic3r/GUI/GUI_ObjectList.cpp:3391 -msgid "Cannot insert a new layer range after the current layer range.\nThe next layer range is too thin to be split to two\nwithout violating the minimum layer height." -msgstr "Impossible d'insérer une nouvelle zone de couche après la zone de couche actuelle.\nLa zone de couche suivante est trop fine pour être séparée en deux sans enfreindre la hauteur de couche minimum." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"The next layer range is too thin to be split to two\n" +"without violating the minimum layer height." +msgstr "" +"Impossible d'insérer une nouvelle zone de couche après la zone de couche actuelle.\n" +"La zone de couche suivante est trop fine pour être séparée en deux sans enfreindre la hauteur de couche minimum." #: src/slic3r/GUI/GUI_ObjectList.cpp:3395 -msgid "Cannot insert a new layer range between the current and the next layer range.\nThe gap between the current layer range and the next layer range\nis thinner than the minimum layer height allowed." -msgstr "Impossible d'insérer une nouvelle zone de couche entre l'actuelle et la prochaine.\nL'espace entre la zone de couche actuelle et la prochaine est inférieur à la hauteur de couche minimum autorisée." +msgid "" +"Cannot insert a new layer range between the current and the next layer range.\n" +"The gap between the current layer range and the next layer range\n" +"is thinner than the minimum layer height allowed." +msgstr "" +"Impossible d'insérer une nouvelle zone de couche entre l'actuelle et la prochaine.\n" +"L'espace entre la zone de couche actuelle et la prochaine est inférieur à la hauteur de couche minimum autorisée." #: src/slic3r/GUI/SavePresetDialog.cpp:137 msgid "Cannot overwrite a system profile." @@ -1587,6 +1670,14 @@ msgstr "Assistant de Co&nfiguration" msgid "Configuration Assistant" msgstr "Assistant de Configuration" +#: src/slic3r/GUI/GUI.cpp:368 +msgid "Configuration bundle was loaded, however some configuration values were not recognized." +msgstr "L'ensemble de configuration a été chargé, mais certaines valeurs de configuration n'ont pas été reconnues." + +#: src/slic3r/GUI/GUI.cpp:378 +msgid "Configuration file \"%1%\" was loaded, however some configuration values were not recognized." +msgstr "Le fichier de configuration \"%1%\" a été chargé, cependant certaines valeurs de configuration n'ont pas été reconnues." + #: src/libslic3r/PrintConfig.cpp:1424 msgid "Configuration notes" msgstr "Notes de configuration" @@ -1651,10 +1742,18 @@ msgstr "La connexion avec OctoPrint fonctionne correctement." msgid "Connection to printers connected via the print host failed." msgstr "La connexion aux imprimantes connectées via l'hôte d'impression a échoué." +#: src/slic3r/Utils/OctoPrint.cpp:185 +msgid "Connection to Prusa SL1 / SL1S works correctly." +msgstr "La connexion à à la Prusa SL1 / SL1S fonctionne correctement." + #: src/slic3r/Utils/OctoPrint.cpp:185 msgid "Connection to Prusa SL1 works correctly." msgstr "La connexion avec Prusa SL1 fonctionne correctement." +#: src/slic3r/Utils/OctoPrint.cpp:229 +msgid "Connection to PrusaLink works correctly." +msgstr "La connexion à PrusaLink fonctionne correctement." + #: src/libslic3r/PrintConfig.cpp:2051 msgid "Contact Z distance" msgstr "Distance de contact Z" @@ -1724,16 +1823,38 @@ msgid "Copy Version Info" msgstr "Copier les Infos de Version" #: src/slic3r/Utils/PresetUpdater.cpp:84 -msgid "Copying of file %1% to %2% failed.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "La copie du fichier %1% vers %2% a échoué.\nMessage d'erreur : %3%\n La copie a été déclenchée par la fonction : %4%" +msgid "" +"Copying of file %1% to %2% failed.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"La copie du fichier %1% vers %2% a échoué.\n" +"Message d'erreur : %3%\n" +" La copie a été déclenchée par la fonction : %4%" #: src/slic3r/Utils/PresetUpdater.cpp:91 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file after copying.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "La copie du fichier %1% vers %2% a échoué. Échec d'autorisation sur le fichier cible après copie.\nMessage d'erreur : %3%\n Cette erreur s'est produite au cours de la phase de %4%. " +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file after copying.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"La copie du fichier %1% vers %2% a échoué. Échec d'autorisation sur le fichier cible après copie.\n" +"Message d'erreur : %3%\n" +" Cette erreur s'est produite au cours de la phase de %4%. " #: src/slic3r/Utils/PresetUpdater.cpp:70 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file before copying.\nError message : %3%\nThis error happend during %4% phase." -msgstr "La copie du fichier %1% vers %2% a échoué. Échec d'autorisation sur le fichier cible avant copie.\nMessage d'erreur : %3%\nCette erreur s'est produite au cours de la phase de %4%. " +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file before copying.\n" +"Error message : %3%\n" +"This error happend during %4% phase." +msgstr "" +"La copie du fichier %1% vers %2% a échoué. Échec d'autorisation sur le fichier cible avant copie.\n" +"Message d'erreur : %3%\n" +"Cette erreur s'est produite au cours de la phase de %4%. " + +#: src/slic3r/Utils/PresetUpdater.cpp:65 +msgid "Copying of file %1% to %2% failed: %3%" +msgstr "Échec de la copie du fichier %1% vers %2% : %3%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:156 msgid "Copying of the temporary G-code has finished but the exported code couldn't be opened during copy check. The output G-code is at %1%.tmp." @@ -1748,8 +1869,12 @@ msgid "Copying of the temporary G-code to the output G-code failed" msgstr "La copie du G-code provisoire dans le G-code final a échoué" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:163 -msgid "Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\nError message: %1%" -msgstr "La copie du G-code temporaire vers le G-code de sortie a échoué. Peut-être que la carte SD est verrouillée en écriture ?\nMessage d'erreur : %1%" +msgid "" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\n" +"Error message: %1%" +msgstr "" +"La copie du G-code temporaire vers le G-code de sortie a échoué. Peut-être que la carte SD est verrouillée en écriture ?\n" +"Message d'erreur : %1%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:147 msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." @@ -1800,6 +1925,10 @@ msgstr "Impossible de se connecter à OctoPrint" msgid "Could not connect to Prusa SLA" msgstr "Impossible de se connecter à Prusa SLA" +#: src/slic3r/Utils/OctoPrint.cpp:235 +msgid "Could not connect to PrusaLink" +msgstr "Impossible de se connecter à PrusaLink" + #: src/slic3r/Utils/Http.cpp:73 msgid "Could not detect system SSL certificate store. PrusaSlicer will be unable to establish secure network connections." msgstr "Impossible de détecter le stockage de certificats SSL du système. PrusaSlicer ne pourra pas établir de connexions réseau sécurisées." @@ -2353,8 +2482,14 @@ msgstr "Ne pas ré-agencer les modèles donnés avant la fusion et conserver leu #: src/slic3r/GUI/Field.cpp:288 #, possible-c-format -msgid "Do you mean %s%% instead of %s %s?\nSelect YES if you want to change this value to %s%%, \nor NO if you are sure that %s %s is a correct value." -msgstr "Voulez vous dire %s%% au lieu de %s%s ?\nSélectionnez OUI si vous voulez changer cette valeur pour %s%%,\nou NON si vous êtes certain que %s%s est une valeur correcte." +msgid "" +"Do you mean %s%% instead of %s %s?\n" +"Select YES if you want to change this value to %s%%, \n" +"or NO if you are sure that %s %s is a correct value." +msgstr "" +"Voulez vous dire %s%% au lieu de %s%s ?\n" +"Sélectionnez OUI si vous voulez changer cette valeur pour %s%%,\n" +"ou NON si vous êtes certain que %s%s est une valeur correcte." #: src/slic3r/GUI/DoubleSlider.cpp:2138 msgid "Do you want to delete all saved tool changes?" @@ -2388,6 +2523,10 @@ msgstr "ne contient pas de gcode valide." msgid "Don't arrange" msgstr "Ne pas agencer" +# Don't install +msgid "Don't install" +msgstr "Ne pas installer" + #: src/slic3r/GUI/UpdateDialogs.cpp:71 msgid "Don't notify about new releases any more" msgstr "Ne plus me notifier au sujet des nouvelles publications" @@ -3161,6 +3300,10 @@ msgstr "Couches estompées" msgid "failed finding central directory" msgstr "impossible de trouver le répertoire central" +#: src/slic3r/GUI/Plater.cpp:2399 +msgid "Failed loading file \"%1%\" due to an invalid configuration." +msgstr "Échec du chargement du fichier \"%1%\" en raison d'une configuration non valide." + #: src/slic3r/Utils/FixModelByWin10.cpp:235 msgid "Failed loading the input model." msgstr "Échec du chargement du modèle d'entrée." @@ -3267,7 +3410,7 @@ msgstr "Notes du filament" #: src/slic3r/GUI/Tab.cpp:1669 msgid "Filament Overrides" -msgstr "Annulations de Filament" +msgstr "Réglages dérogatoires du Filament" #: src/libslic3r/PrintConfig.cpp:1489 msgid "Filament parking position" @@ -3512,16 +3655,26 @@ msgstr "Seulement pour les générateur de supports" #. TRN Description for "WHITE BULLET" #: src/slic3r/GUI/Tab.cpp:3702 -msgid "for the left button: indicates a non-system (or non-default) preset,\nfor the right button: indicates that the settings hasn't been modified." -msgstr "pour le bouton gauche : indique un préréglage non-système (ou non par défaut),\npour le bouton droit : indique que le réglage n'a pas été modifié." +msgid "" +"for the left button: indicates a non-system (or non-default) preset,\n" +"for the right button: indicates that the settings hasn't been modified." +msgstr "" +"pour le bouton gauche : indique un préréglage non-système (ou non par défaut),\n" +"pour le bouton droit : indique que le réglage n'a pas été modifié." #: src/slic3r/GUI/ConfigManipulation.cpp:135 -msgid "For the Wipe Tower to work with the soluble supports, the support layers\nneed to be synchronized with the object layers." -msgstr "Pour que la tour de nettoyage fonctionne avec les supports solubles, les couches du support\ndoivent être synchronisées avec les couches d'objets." +msgid "" +"For the Wipe Tower to work with the soluble supports, the support layers\n" +"need to be synchronized with the object layers." +msgstr "" +"Pour que la tour de nettoyage fonctionne avec les supports solubles, les couches du support\n" +"doivent être synchronisées avec les couches d'objets." #: src/libslic3r/Print.cpp:1422 msgid "For the Wipe Tower to work with the soluble supports, the support layers need to be synchronized with the object layers." -msgstr "Pour que la Tour de Nettoyage fonctionne avec des supports solubles, les couches de support\ndoivent être synchronisées avec les couches de l'objet." +msgstr "" +"Pour que la Tour de Nettoyage fonctionne avec des supports solubles, les couches de support\n" +"doivent être synchronisées avec les couches de l'objet." #: src/libslic3r/PrintConfig.cpp:3028 msgid "Force pad around object everywhere" @@ -3572,8 +3725,12 @@ msgid "G-code" msgstr "G-code" #: src/slic3r/GUI/DoubleSlider.cpp:1146 -msgid "G-code associated to this tick mark is in a conflict with print mode.\nEditing it will cause changes of Slider data." -msgstr "Le G-code associé à cette coche est en conflit avec le mode d'impression.\nLe modifier entraînera des modifications des données de la Barre de défilement." +msgid "" +"G-code associated to this tick mark is in a conflict with print mode.\n" +"Editing it will cause changes of Slider data." +msgstr "" +"Le G-code associé à cette coche est en conflit avec le mode d'impression.\n" +"Le modifier entraînera des modifications des données de la Barre de défilement." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:165 msgid "G-code file exported to %1%" @@ -3963,8 +4120,12 @@ msgid "Hostname, IP or URL" msgstr "Nom d'hôte, IP ou URL" #: src/slic3r/GUI/Tab.cpp:210 -msgid "Hover the cursor over buttons to find more information \nor click this button." -msgstr "Passez le curseur au dessus des boutons pour obtenir plus d'informations\nou cliquez sur ce bouton." +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" +"Passez le curseur au dessus des boutons pour obtenir plus d'informations\n" +"ou cliquez sur ce bouton." #: src/libslic3r/PrintConfig.cpp:2976 msgid "How far should the pad extend around the contained geometry" @@ -4030,8 +4191,12 @@ msgid "If enabled, all printing extruders will be primed at the front edge of th msgstr "Si ceci est activé, tous les extrudeurs qui impriment seront positionnés sur la bordure avant du lit d'impression au début de l'impression." #: src/slic3r/GUI/ConfigWizard.cpp:1164 -msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\nIf not enabled, the Reload from disk command will ask to select each file using an open file dialog." -msgstr "Si activé, permet à la commande Recharger à partir du disque de rechercher et de charger automatiquement les fichiers lorsqu'elle est invoquée.\nSi non activée, la commande Recharger à partir du disque demandera de sélectionner chaque fichier à l'aide d'une boîte de dialogue d'ouverture de fichier." +msgid "" +"If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\n" +"If not enabled, the Reload from disk command will ask to select each file using an open file dialog." +msgstr "" +"Si activé, permet à la commande Recharger à partir du disque de rechercher et de charger automatiquement les fichiers lorsqu'elle est invoquée.\n" +"Si non activée, la commande Recharger à partir du disque demandera de sélectionner chaque fichier à l'aide d'une boîte de dialogue d'ouverture de fichier." #: src/slic3r/GUI/Preferences.cpp:91 msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked." @@ -4238,6 +4403,10 @@ msgstr "Échec de l'import du fichier 3mf réparé" msgid "Import profile only" msgstr "Importer le profil uniquement" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Import SL1 / SL1S archive" +msgstr "Importer l'archive SL1 / SL1S" + #: src/slic3r/GUI/MainFrame.cpp:1050 msgid "Import SL1 archive" msgstr "Importer l'archive SL1" @@ -4309,8 +4478,12 @@ msgstr "Augmenter/diminuer la zone d'édition" #. TRN Description for "UNLOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3695 -msgid "indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." -msgstr "indique que certains paramètres ont été modifiés et ne sont pas égaux aux valeurs du système (ou par défaut) pour le groupe d'options actuel.\nCliquez sur l'icône CADENAS OUVERT pour régler tous les paramètres pour le groupe d'options actuel sur les valeurs du système (ou par défaut)." +msgid "" +"indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." +msgstr "" +"indique que certains paramètres ont été modifiés et ne sont pas égaux aux valeurs du système (ou par défaut) pour le groupe d'options actuel.\n" +"Cliquez sur l'icône CADENAS OUVERT pour régler tous les paramètres pour le groupe d'options actuel sur les valeurs du système (ou par défaut)." #. TRN Description for "LOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3691 @@ -4319,8 +4492,12 @@ msgstr "indique que les paramètres sont les mêmes que les valeurs système (ou #. TRN Description for "BACK ARROW" #: src/slic3r/GUI/Tab.cpp:3707 -msgid "indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick the BACK ARROW icon to reset all settings for the current option group to the last saved preset." -msgstr "indique que les paramètres ont été changés et qu'ils ne sont pas identiques au dernier préréglage enregistré du groupe d'options en cours.\nCliquez sur l'icône FLÈCHE ARRIÈRE pour restaurer tous les paramètres du groupe d'options en cours avec les valeurs du dernier préréglage enregistré." +msgid "" +"indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click the BACK ARROW icon to reset all settings for the current option group to the last saved preset." +msgstr "" +"indique que les paramètres ont été changés et qu'ils ne sont pas identiques au dernier préréglage enregistré du groupe d'options en cours.\n" +"Cliquez sur l'icône FLÈCHE ARRIÈRE pour restaurer tous les paramètres du groupe d'options en cours avec les valeurs du dernier préréglage enregistré." #: src/slic3r/GUI/ConfigManipulation.cpp:210 #: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 @@ -4383,8 +4560,12 @@ msgstr "Hauteur de couche initiale" #: src/slic3r/GUI/Field.cpp:269 #, possible-c-format -msgid "Input value is out of range\nAre you sure that %s is a correct value and that you want to continue?" -msgstr "La valeur d'entrée est hors limites\nÊtes-vous certain que %s est une valeur correcte et que vous voulez continuer ?" +msgid "" +"Input value is out of range\n" +"Are you sure that %s is a correct value and that you want to continue?" +msgstr "" +"La valeur d'entrée est hors limites\n" +"Êtes-vous certain que %s est une valeur correcte et que vous voulez continuer ?" #: src/slic3r/GUI/Field.cpp:252 src/slic3r/GUI/Field.cpp:1370 msgid "Input value is out of range" @@ -4398,6 +4579,10 @@ msgstr "Inspecter / activer les instantanés de configuration" msgid "install" msgstr "installer" +#: src/slic3r/GUI/UpdateDialogs.cpp:136 +msgid "Install" +msgstr "Installer" + #: src/slic3r/GUI/ObjectDataViewModel.cpp:62 #: src/slic3r/GUI/ObjectDataViewModel.cpp:218 #, possible-c-format @@ -4552,13 +4737,23 @@ msgstr "Sauter à la hauteur" #: src/slic3r/GUI/DoubleSlider.cpp:1223 #, possible-c-format -msgid "Jump to height %s\nor Set ruler mode" -msgstr "Sauter à la hauteur %s\nou Définir le mode règle" +msgid "" +"Jump to height %s\n" +"or Set ruler mode" +msgstr "" +"Sauter à la hauteur %s\n" +"ou Définir le mode règle" #: src/slic3r/GUI/DoubleSlider.cpp:1220 #, possible-c-format -msgid "Jump to height %s\nSet ruler mode\nor Set extruder sequence for the entire print" -msgstr "Sauter à la hauteur %s\nDéfinir le mode règle\nou Définir la séquence d'extrusion pour toute l'impression" +msgid "" +"Jump to height %s\n" +"Set ruler mode\n" +"or Set extruder sequence for the entire print" +msgstr "" +"Sauter à la hauteur %s\n" +"Définir le mode règle\n" +"ou Définir la séquence d'extrusion pour toute l'impression" #: src/slic3r/GUI/DoubleSlider.cpp:1071 src/slic3r/GUI/DoubleSlider.cpp:1852 msgid "Jump to move" @@ -4756,6 +4951,10 @@ msgstr "Charger un modèle" msgid "Load an model saved with imperial units" msgstr "Charger un modèle enregistré avec des unités impériales" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Load an SL1 / Sl1S archive" +msgstr "Charger une archive SL1 / SL1S" + #: src/slic3r/GUI/MainFrame.cpp:1058 msgid "Load an SL1 archive" msgstr "Charger une archive SL1" @@ -5483,7 +5682,7 @@ msgstr "prix/bouteille" #: src/libslic3r/PrintConfig.cpp:798 msgid "money/kg" -msgstr "€/kg" +msgstr "argent/kg" #: src/libslic3r/PrintConfig.cpp:461 msgid "Monotonic" @@ -5494,6 +5693,10 @@ msgstr "Monotone" msgid "More" msgstr "Plus" +#: src/slic3r/GUI/GUI.cpp:339 +msgid "Most likely the configuration was produced by a newer version of PrusaSlicer or by some PrusaSlicer fork." +msgstr "La configuration a été très probablement générée par une version plus récente de PrusaSlicer ou par un fork de PrusaSlicer." + #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 msgid "Mouse wheel" msgstr "Roulette de la souris" @@ -5604,8 +5807,14 @@ msgid "Multiple Extruders" msgstr "Extrudeurs Multiples" #: src/slic3r/GUI/Plater.cpp:2372 -msgid "Multiple objects were loaded for a multi-material printer.\nInstead of considering them as multiple objects, should I consider\nthese files to represent a single object having multiple parts?" -msgstr "Plusieurs fichiers ont été chargés pour une impression multi-matériaux.\nAu lieu de les considérer en tant que plusieurs objets, dois-je considérer\nces fichiers en tant que un seul objet ayant plusieurs pièces ?" +msgid "" +"Multiple objects were loaded for a multi-material printer.\n" +"Instead of considering them as multiple objects, should I consider\n" +"these files to represent a single object having multiple parts?" +msgstr "" +"Plusieurs fichiers ont été chargés pour une impression multi-matériaux.\n" +"Au lieu de les considérer en tant que plusieurs objets, dois-je considérer\n" +"ces fichiers en tant que un seul objet ayant plusieurs pièces ?" #: src/libslic3r/PrintConfig.cpp:3638 msgid "Multiply copies by creating a grid." @@ -5661,6 +5870,10 @@ msgstr "Nouveau Projet" msgid "New project, clear plater" msgstr "Nouveau projet, libérer le plateau" +#: src/slic3r/GUI/GUI.cpp:304 +msgid "new unknown value %1% was changed to default value %2%" +msgstr "la nouvelle valeur inconnue %1% a été remplacée par la valeur par défaut %2%" + #: src/slic3r/GUI/UnsavedChangesDialog.cpp:609 msgid "New Value" msgstr "Nouvelle Valeur" @@ -5748,6 +5961,10 @@ msgstr "Introuvable:" msgid "Note" msgstr "Remarque" +#: src/slic3r/GUI/MsgDialog.cpp:114 +msgid "Note that" +msgstr "Notez que" + #: src/slic3r/GUI/Tab.cpp:3408 msgid "Note, that selected preset will be deleted from this/those printer(s) too." msgstr "Notez que ce préréglage sélectionné sera également supprimé pour cette/ces imprimante(s)." @@ -5757,8 +5974,14 @@ msgid "Note, that this/those printer(s) will be deleted after deleting of the se msgstr "Notez que cette/ces imprimante(s) seront supprimées après la suppression du préréglage sélectionné." #: src/slic3r/GUI/Tab.cpp:2039 -msgid "Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n\nA new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." -msgstr "Remarque : Tous les paramètres de ce groupe sont déplacés vers les paramètres de l'imprimante physique (voir le journal des modifications).\n\nUn nouveau profil d'imprimante physique est créé en cliquant sur l'icône \"rouage\" à droite de la zone de liste déroulante de Profils d'imprimante, en sélectionnant l'élément \"Ajouter une imprimante physique\" dans la zone de liste déroulante Imprimante. L'éditeur de profil d'imprimante physique s'ouvre également en cliquant sur l'icône \"rouage\" dans l'onglet Réglages de l'imprimante. Les profils d'imprimante physique sont stockés dans le répertoire PrusaSlicer/physical_printer." +msgid "" +"Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n" +"\n" +"A new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." +msgstr "" +"Remarque : Tous les paramètres de ce groupe sont déplacés vers les paramètres de l'imprimante physique (voir le journal des modifications).\n" +"\n" +"Un nouveau profil d'imprimante physique est créé en cliquant sur l'icône \"rouage\" à droite de la zone de liste déroulante de Profils d'imprimante, en sélectionnant l'élément \"Ajouter une imprimante physique\" dans la zone de liste déroulante Imprimante. L'éditeur de profil d'imprimante physique s'ouvre également en cliquant sur l'icône \"rouage\" dans l'onglet Réglages de l'imprimante. Les profils d'imprimante physique sont stockés dans le répertoire PrusaSlicer/physical_printer." #: src/slic3r/Utils/AstroBox.cpp:92 msgid "Note: AstroBox version at least 1.1.0 is required." @@ -6082,6 +6305,10 @@ msgstr "Ouvrir la page de téléchargement des drivers Prusa3D dans votre naviga msgid "Open the software releases page in your browser" msgstr "Ouvrir la page des publications du logiciel dans votre navigateur" +#: src/slic3r/GUI/UpdateDialogs.cpp:89 +msgid "Opening Configuration Wizard" +msgstr "Ouverture de l'Assistant de Configuration" + #: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:220 src/slic3r/GUI/Plater.cpp:3961 msgid "Optimize orientation" msgstr "Optimiser l'orientation" @@ -6371,6 +6598,10 @@ msgstr "Imprimantes physiques" msgid "Pick another vendor supported by %s" msgstr "Choisissez un autre fournisseur pris en charge par %s" +#: src/libslic3r/PrintConfig.cpp:67 +msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" +msgstr "Tailles des images à stocker dans un fichier .gcode et .sl1 / .sl1s, au format suivant : \"XxY, XxY, ...\"" + #: src/libslic3r/PrintConfig.cpp:67 msgid "Picture sizes to be stored into a .gcode and .sl1 files, in the following format: \"XxY, XxY, ...\"" msgstr "Tailles de photo à stocker dans un fichier .gcode et .sl1, au format suivant : \"XxY, XxY, ...\"" @@ -6421,6 +6652,10 @@ msgstr "Veuillez vérifier et réparer votre liste d'objet." msgid "Please check your object list before preset changing." msgstr "Veuillez vérifier votre liste d'objet avant le changement de préréglage." +#: src/slic3r/GUI/GUI.cpp:341 +msgid "Please review the substitutions and adjust them if needed." +msgstr "Passez en revue les substitutions et ajustez-les si nécessaire." + #: src/slic3r/GUI/Plater.cpp:3089 msgid "Please select the file to reload" msgstr "Veuillez sélectionner le fichier à recharger" @@ -6521,15 +6756,23 @@ msgid "Press to activate selection rectangle" msgstr "Appuyer pour activer le rectangle de sélection" #: src/slic3r/GUI/KBShortcutsDialog.cpp:155 -msgid "Press to select multiple objects\nor move multiple objects with mouse" -msgstr "Clicquez pour sélectionner plusieurs objets\nou pour déplacer plusieurs objets avec la souris" +msgid "" +"Press to select multiple objects\n" +"or move multiple objects with mouse" +msgstr "" +"Clicquez pour sélectionner plusieurs objets\n" +"ou pour déplacer plusieurs objets avec la souris" #: src/slic3r/GUI/KBShortcutsDialog.cpp:221 #: src/slic3r/GUI/KBShortcutsDialog.cpp:222 #: src/slic3r/GUI/KBShortcutsDialog.cpp:231 #: src/slic3r/GUI/KBShortcutsDialog.cpp:232 -msgid "Press to speed up 5 times while moving thumb\nwith arrow keys or mouse wheel" -msgstr "Appuyez pour accélérer 5 fois tout en déplaçant le pouce\navec les touches fléchées ou la molette de la souris" +msgid "" +"Press to speed up 5 times while moving thumb\n" +"with arrow keys or mouse wheel" +msgstr "" +"Appuyez pour accélérer 5 fois tout en déplaçant le pouce\n" +"avec les touches fléchées ou la molette de la souris" #: src/slic3r/GUI/KBShortcutsDialog.cpp:212 src/slic3r/GUI/Plater.cpp:4052 #: src/slic3r/GUI/Tab.cpp:2559 @@ -6731,8 +6974,14 @@ msgid "PrusaSlicer GUI initialization failed" msgstr "L'initialisation de la GUI de PrusaSlicer a échoué" #: src/slic3r/GUI/GUI_App.cpp:586 -msgid "PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n\nThe application will now terminate." -msgstr "PrusaSlicer a rencontré une erreur de localisation. Veuillez signaler à l'équipe PrusaSlicer quelle langue était active et dans quel scénario cette erreur s'est produite. Merci.\n\nL'application va maintenant fermer." +msgid "" +"PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n" +"\n" +"The application will now terminate." +msgstr "" +"PrusaSlicer a rencontré une erreur de localisation. Veuillez signaler à l'équipe PrusaSlicer quelle langue était active et dans quel scénario cette erreur s'est produite. Merci.\n" +"\n" +"L'application va maintenant fermer." #: src/slic3r/GUI/AboutDialog.cpp:285 msgid "PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community." @@ -6742,10 +6991,22 @@ msgstr "PrusaSlicer est basé sur Slic3r par Alessandro Ranellucci et la communa msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "PrusaSlicer se ferme : modifications non enregistrées" +#: src/slic3r/GUI/UpdateDialogs.cpp:90 +msgid "" +"PrusaSlicer is not using the newest configuration available.\n" +"Configuration Wizard may not offer the latest printers, filaments and SLA materials to be installed. " +msgstr "" +"PrusaSlicer n'utilise pas la dernière configuration disponible.\n" +"L'assistant de configuration peut ne pas proposer les dernières imprimantes, filaments et matériaux SLA à installer." + #: src/slic3r/GUI/OpenGLManager.cpp:259 #, possible-c-format -msgid "PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \nwhile OpenGL version %s, render %s, vendor %s was detected." -msgstr "PrusaSlicer a besoin de pilotes graphiques opérationnels OpenGL 2.0 pour fonctionner correctement,\nalors que OpenGL version %s, rendu %s, fournisseur %s a été détecté." +msgid "" +"PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" +"while OpenGL version %s, render %s, vendor %s was detected." +msgstr "" +"PrusaSlicer a besoin de pilotes graphiques opérationnels OpenGL 2.0 pour fonctionner correctement,\n" +"alors que OpenGL version %s, rendu %s, fournisseur %s a été détecté." #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 msgid "PrusaSlicer version" @@ -6756,8 +7017,14 @@ msgid "PrusaSlicer will remember your action." msgstr "PrusaSlicer se souviendra de votre action." #: src/slic3r/GUI/ConfigWizard.cpp:1174 -msgid "PrusaSlicer's user interfaces comes in three variants:\nSimple, Advanced, and Expert.\nThe Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." -msgstr "Les interfaces utilisateur de PrusaSlicer se déclinent en trois variantes :\nSimple, Avancé et Expert.\nLe mode Simple affiche uniquement les paramètres les plus fréquemment utilisés pertinents pour l'impression 3D régulière. Les deux autres offrent des réglages fins de plus en plus sophistiqués, ils conviennent respectivement aux utilisateurs avancés et experts." +msgid "" +"PrusaSlicer's user interfaces comes in three variants:\n" +"Simple, Advanced, and Expert.\n" +"The Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." +msgstr "" +"Les interfaces utilisateur de PrusaSlicer se déclinent en trois variantes :\n" +"Simple, Avancé et Expert.\n" +"Le mode Simple affiche uniquement les paramètres les plus fréquemment utilisés pertinents pour l'impression 3D régulière. Les deux autres offrent des réglages fins de plus en plus sophistiqués, ils conviennent respectivement aux utilisateurs avancés et experts." #: src/slic3r/GUI/UnsavedChangesDialog.cpp:668 msgid "PrusaSlicer: Don't ask me again" @@ -6841,8 +7108,14 @@ msgid "Ramming customization" msgstr "Personnalisation de l'expulsion" #: src/slic3r/GUI/WipeTowerDialog.cpp:41 -msgid "Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n\nThis is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." -msgstr "L'Expulsion décrit l'extrusion rapide qui a lieu juste avant un changement d'outil sur une imprimante MM à extrudeur unique. Le but est de donner une forme correcte au filament déchargé afin qu'il n'empêche pas l'insertion du nouveau filament et puisse être réinséré lui-même plus tard. Cette phase est importante et des matériaux différents peuvent nécessiter des vitesses d'extrusion différentes pour obtenir la bonne forme. De ce fait, les débits d'extrusion pendant l'expulsion sont ajustables.\n\nCeci est un paramétrage de niveau expert, et un mauvais ajustement provoquera probablement des blocages, des accrochages de la roue de l'extrudeur sur le filament , etc ..." +msgid "" +"Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n" +"\n" +"This is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." +msgstr "" +"L'Expulsion décrit l'extrusion rapide qui a lieu juste avant un changement d'outil sur une imprimante MM à extrudeur unique. Le but est de donner une forme correcte au filament déchargé afin qu'il n'empêche pas l'insertion du nouveau filament et puisse être réinséré lui-même plus tard. Cette phase est importante et des matériaux différents peuvent nécessiter des vitesses d'extrusion différentes pour obtenir la bonne forme. De ce fait, les débits d'extrusion pendant l'expulsion sont ajustables.\n" +"\n" +"Ceci est un paramétrage de niveau expert, et un mauvais ajustement provoquera probablement des blocages, des accrochages de la roue de l'extrudeur sur le filament , etc ..." #: src/slic3r/GUI/WipeTowerDialog.cpp:91 msgid "Ramming line spacing" @@ -7469,6 +7742,10 @@ msgstr "Sauvegarder le projet (3mf)" msgid "Save project as (3mf)" msgstr "Sauvegarder le projet en tant que (3mf)" +#: src/slic3r/GUI/Plater.cpp:5337 +msgid "Save SL1 / SL1S file as:" +msgstr "Enregistrer le fichier SL1 / SL1S sous :" + #: src/slic3r/GUI/Plater.cpp:4975 msgid "Save SL1 file as:" msgstr "Sauvegarder le fichier SL1 sous :" @@ -7673,8 +7950,14 @@ msgid "Select what kind of support do you need" msgstr "Choisissez le type de support dont vous avez besoin" #: src/slic3r/GUI/DoubleSlider.cpp:2135 -msgid "Select YES if you want to delete all saved tool changes, \nNO if you want all tool changes switch to color changes, \nor CANCEL to leave it unchanged." -msgstr "Sélectionnez OUI si vous souhaitez supprimer tous les changements d'outil enregistrées, \nNON si vous souhaitez que tous les changements d'outil soient remplacés par des modifications de couleur, \nou ANNULER pour ne pas les modifier." +msgid "" +"Select YES if you want to delete all saved tool changes, \n" +"NO if you want all tool changes switch to color changes, \n" +"or CANCEL to leave it unchanged." +msgstr "" +"Sélectionnez OUI si vous souhaitez supprimer tous les changements d'outil enregistrées, \n" +"NON si vous souhaitez que tous les changements d'outil soient remplacés par des modifications de couleur, \n" +"ou ANNULER pour ne pas les modifier." #: src/slic3r/GUI/Selection.cpp:191 msgid "Selection-Add" @@ -7919,8 +8202,12 @@ msgid "Set upper thumb to current slider thumb" msgstr "Régler le curseur supérieur sur la position actuelle de la barre de défilement" #: src/libslic3r/PrintConfig.cpp:3714 -msgid "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\nFor example. loglevel=2 logs fatal, error and warning level messages." -msgstr "Définit la sensibilité de journalisation. 0 : fatal, 1: erreur, 2 : avertissement, 3 : info, 4 : débogage, 5 : trace\nPar exemple. loglevel = 2 enregistre les messages d'erreur et d'avertissement de niveau fatal." +msgid "" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +"For example. loglevel=2 logs fatal, error and warning level messages." +msgstr "" +"Définit la sensibilité de journalisation. 0 : fatal, 1: erreur, 2 : avertissement, 3 : info, 4 : débogage, 5 : trace\n" +"Par exemple. loglevel = 2 enregistre les messages d'erreur et d'avertissement de niveau fatal." #: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1969 msgid "Settings" @@ -8146,8 +8433,15 @@ msgid "Single Extruder Multi Material" msgstr "Multi Material à extrudeur unique" #: src/slic3r/GUI/Tab.cpp:2101 -msgid "Single Extruder Multi Material is selected, \nand all extruders must have the same diameter.\nDo you want to change the diameter for all extruders to first extruder nozzle diameter value?" -msgstr "Le Multi-Matériaux Extrudeur Unique est sélectionné,\net tous les extrudeurs doivent avoir le même diamètre.\nVoulez-vous modifier le diamètre pour tous les extrudeurs\nen utilisant la valeur du diamètre de la buse du premier extrudeur ?" +msgid "" +"Single Extruder Multi Material is selected, \n" +"and all extruders must have the same diameter.\n" +"Do you want to change the diameter for all extruders to first extruder nozzle diameter value?" +msgstr "" +"Le Multi-Matériaux Extrudeur Unique est sélectionné,\n" +"et tous les extrudeurs doivent avoir le même diamètre.\n" +"Voulez-vous modifier le diamètre pour tous les extrudeurs\n" +"en utilisant la valeur du diamètre de la buse du premier extrudeur ?" #: src/slic3r/GUI/Tab.cpp:2476 msgid "Single extruder multimaterial parameters" @@ -8412,8 +8706,12 @@ msgstr "Certaines commandes G/M-code, y compris le contrôle de la température #: src/slic3r/GUI/Plater.cpp:2309 #, possible-c-format -msgid "Some object(s) in file %s looks like saved in inches.\nShould I consider them as a saved in inches and convert them?" -msgstr "Certains objets du fichier %s semblent être enregistrés en pouces.\nDois-je les considérer comme enregistrés en pouces et les convertir ?" +msgid "" +"Some object(s) in file %s looks like saved in inches.\n" +"Should I consider them as a saved in inches and convert them?" +msgstr "" +"Certains objets du fichier %s semblent être enregistrés en pouces.\n" +"Dois-je les considérer comme enregistrés en pouces et les convertir ?" #: src/slic3r/GUI/GLCanvas3D.cpp:636 msgid "Some objects are not visible." @@ -8622,8 +8920,28 @@ msgid "Start the application" msgstr "Démarrer l'application" #: src/slic3r/GUI/GUI_App.cpp:386 -msgid "Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n%2%.\n\nThis directory did not exist yet (maybe you run the new version for the first time).\nHowever, an old %1% configuration directory was detected in \n%3%.\n\nConsider moving the contents of the old directory to the new location in order to access your profiles, etc.\nNote that if you decide to downgrade %1% in future, it will use the old location again.\n\nWhat do you want to do now?" -msgstr "À partir de %1% 2.3, le répertoire de configuration sous Linux a été modifié (selon la XDG Base Directory Specification) en %2%.\n\nCe répertoire n'existait pas encore (peut-être que vous exécutez la nouvelle version pour la première fois).\nCependant, un ancien répertoire de configuration %1% a été détecté dans %3%.\n\nEnvisagez de déplacer le contenu de l'ancien répertoire vers le nouvel emplacement afin d'accéder à vos profils, etc.\nNotez que si vous décidez de rétrograder %1% à l'avenir, il utilisera à nouveau l'ancien emplacement.\n\nQue voulez-vous faire maintenant ?" +msgid "" +"Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n" +"%2%.\n" +"\n" +"This directory did not exist yet (maybe you run the new version for the first time).\n" +"However, an old %1% configuration directory was detected in \n" +"%3%.\n" +"\n" +"Consider moving the contents of the old directory to the new location in order to access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old location again.\n" +"\n" +"What do you want to do now?" +msgstr "" +"À partir de %1% 2.3, le répertoire de configuration sous Linux a été modifié (selon la XDG Base Directory Specification) en %2%.\n" +"\n" +"Ce répertoire n'existait pas encore (peut-être que vous exécutez la nouvelle version pour la première fois).\n" +"Cependant, un ancien répertoire de configuration %1% a été détecté dans %3%.\n" +"\n" +"Envisagez de déplacer le contenu de l'ancien répertoire vers le nouvel emplacement afin d'accéder à vos profils, etc.\n" +"Notez que si vous décidez de rétrograder %1% à l'avenir, il utilisera à nouveau l'ancien emplacement.\n" +"\n" +"Que voulez-vous faire maintenant ?" #: src/slic3r/GUI/PrintHostDialogs.cpp:149 msgid "Status" @@ -8791,8 +9109,12 @@ msgid "Supports stealth mode" msgstr "Supporte le mode silencieux" #: src/slic3r/GUI/ConfigManipulation.cpp:158 -msgid "Supports work better, if the following feature is enabled:\n- Detect bridging perimeters" -msgstr "Les supports fonctionnent mieux, si la fonctionnalité suivante est activée :\n- Détecter les périmètres de pontage" +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters" +msgstr "" +"Les supports fonctionnent mieux, si la fonctionnalité suivante est activée :\n" +"- Détecter les périmètres de pontage" #: src/slic3r/GUI/Preferences.cpp:104 msgid "Suppress \" - default - \" presets" @@ -8852,12 +9174,20 @@ msgid "Switching Presets: Unsaved Changes" msgstr "Changement de préréglages : modifications non enregistrées" #: src/slic3r/GUI/GUI_App.cpp:1608 -msgid "Switching the language will trigger application restart.\nYou will lose content of the plater." +msgid "" +"Switching the language will trigger application restart.\n" +"You will lose content of the plater." msgstr "Le changement de langue déclenchera le redémarrage de l’application. L'objet et tous les paramètres non enregistrés seront perdus." #: src/slic3r/GUI/WipeTowerDialog.cpp:365 -msgid "Switching to simple settings will discard changes done in the advanced mode!\n\nDo you want to proceed?" -msgstr "Basculer vers les réglages simples annulera les changements effectués en mode avancé !\n\nVoulez-vous continuer ?" +msgid "" +"Switching to simple settings will discard changes done in the advanced mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" +"Basculer vers les réglages simples annulera les changements effectués en mode avancé !\n" +"\n" +"Voulez-vous continuer ?" #: src/slic3r/GUI/Tab.cpp:1332 msgid "symbolic profile name" @@ -8935,15 +9265,22 @@ msgstr "L'équipement %s n'a pas pu être trouvé" #: src/slic3r/GUI/FirmwareDialog.cpp:436 #, possible-c-format -msgid "The %s device was not found.\nIf the device is connected, please press the Reset button next to the USB connector ..." -msgstr "L'équipement %s n'a pas été trouvé.\nSi l'équipement est connecté, veuillez appuyer sur le bouton Reset à côté du connecteur USB ..." +msgid "" +"The %s device was not found.\n" +"If the device is connected, please press the Reset button next to the USB connector ..." +msgstr "" +"L'équipement %s n'a pas été trouvé.\n" +"Si l'équipement est connecté, veuillez appuyer sur le bouton Reset à côté du connecteur USB ..." #: src/slic3r/GUI/Tab.cpp:1238 msgid "The current custom preset will be detached from the parent system preset." msgstr "Le préréglage personnalisé actuel sera détaché du préréglage système parent." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:925 -msgid "The currently manipulated object is tilted (rotation angles are not multiples of 90°).\nNon-uniform scaling of tilted objects is only possible in the World coordinate system,\nonce the rotation is embedded into the object coordinates." +msgid "" +"The currently manipulated object is tilted (rotation angles are not multiples of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate system,\n" +"once the rotation is embedded into the object coordinates." msgstr "L'objet actuel est incliné (les angles de rotation ne sont pas des multiples de 90 °). La mise à l'échelle non uniforme des objets inclinés est possible dans le système de coordonnées seulement quand la rotation est incorporée aux coordonnées de l'objet." #: src/libslic3r/PrintConfig.cpp:2890 @@ -9028,6 +9365,10 @@ msgstr "Les modèles d'imprimantes SLA suivants n'ont aucun matériau sélection msgid "the following suffix is not allowed:" msgstr "le suffixe suivant n'est pas autorisé :" +#: src/slic3r/GUI/GUI.cpp:340 +msgid "The following values were substituted:" +msgstr "Les valeurs suivantes ont été remplacées :" + #: src/libslic3r/PrintConfig.cpp:3035 msgid "The gap between the object bottom and the generated pad in zero elevation mode." msgstr "Espace entre le bas de l'objet et le socle généré en mode élévation zéro." @@ -9101,8 +9442,14 @@ msgid "The percentage of smaller pillars compared to the normal pillar diameter msgstr "Le pourcentage de piliers plus petits par rapport au diamètre de pilier normal qui sont utilisés dans les zones problématiques où un pilier normal ne peut pas rentrer." #: src/libslic3r/PrintConfig.cpp:2567 -msgid "The percentage of the bed area. \nIf the print area exceeds the specified value, \nthen a slow tilt will be used, otherwise - a fast tilt" -msgstr "Pourcentage de la zone du lit.\nSi la zone d'impression excède la valeur spécifiée,\nalors une inclinaison lente sera appliquée, sinon - une inclinaison rapide" +msgid "" +"The percentage of the bed area. \n" +"If the print area exceeds the specified value, \n" +"then a slow tilt will be used, otherwise - a fast tilt" +msgstr "" +"Pourcentage de la zone du lit.\n" +"Si la zone d'impression excède la valeur spécifiée,\n" +"alors une inclinaison lente sera appliquée, sinon - une inclinaison rapide" #: src/slic3r/GUI/Tab.cpp:3430 msgid "The physical printer(s) below is based on the preset, you are going to delete." @@ -9149,12 +9496,22 @@ msgid "The selected object couldn't be split because it contains only one part." msgstr "L'objet sélectionné n'a pu être scindé car il ne contient qu'une seule pièce." #: src/slic3r/GUI/MainFrame.cpp:1003 -msgid "The selected project is no longer available.\nDo you want to remove it from the recent projects list?" -msgstr "Le projet sélectionné n'est plus disponible.\nVoulez-vous le retirer de la liste des projets récents?" +msgid "" +"The selected project is no longer available.\n" +"Do you want to remove it from the recent projects list?" +msgstr "" +"Le projet sélectionné n'est plus disponible.\n" +"Voulez-vous le retirer de la liste des projets récents?" #: src/slic3r/GUI/DoubleSlider.cpp:1121 -msgid "The sequential print is on.\nIt's impossible to apply any custom G-code for objects printing sequentually.\nThis code won't be processed during G-code generation." -msgstr "L'impression séquentielle est activée.\nIl est impossible d'appliquer un G-code personnalisé pour des objets en impression séquentielle.\nCe code ne sera pas traité au cours de la génération du G-code." +msgid "" +"The sequential print is on.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" +"This code won't be processed during G-code generation." +msgstr "" +"L'impression séquentielle est activée.\n" +"Il est impossible d'appliquer un G-code personnalisé pour des objets en impression séquentielle.\n" +"Ce code ne sera pas traité au cours de la génération du G-code." #: src/slic3r/GUI/ConfigWizard.cpp:1187 msgid "The size of the object can be specified in inches" @@ -9174,8 +9531,22 @@ msgstr "La vitesse des rétractations (ne s'applique qu'au moteur de l'extrudeur #: src/slic3r/GUI/ConfigManipulation.cpp:80 #, possible-c-format -msgid "The Spiral Vase mode requires:\n- one perimeter\n- no top solid layers\n- 0% fill density\n- no support material\n- Ensure vertical shell thickness enabled\n- Detect thin walls disabled" -msgstr "Les prérequis du mode Vase Spiral sont :\n-Un seul périmètre\n-Aucunes couches solides supérieures\n-Une densité de remplissage de 0%\n-Pas de support\n-Vérifier que l'épaisseur de coque verticale est activée\n-La détection de parois fines doit être désactivée" +msgid "" +"The Spiral Vase mode requires:\n" +"- one perimeter\n" +"- no top solid layers\n" +"- 0% fill density\n" +"- no support material\n" +"- Ensure vertical shell thickness enabled\n" +"- Detect thin walls disabled" +msgstr "" +"Les prérequis du mode Vase Spiral sont :\n" +"-Un seul périmètre\n" +"-Aucunes couches solides supérieures\n" +"-Une densité de remplissage de 0%\n" +"-Pas de support\n" +"-Vérifier que l'épaisseur de coque verticale est activée\n" +"-La détection de parois fines doit être désactivée" #: src/libslic3r/Print.cpp:1270 msgid "The Spiral Vase option can only be used when printing single material objects." @@ -9213,16 +9584,28 @@ msgid "The vertical distance between object and support material interface. Sett msgstr "Distance verticale entre l'objet et l'intercalaire du support. Régler cette valeur sur zéro empêchera Slic3r d'utiliser la vitesse et le débit des ponts pour la première couche de l'objet." #: src/slic3r/GUI/Tab.cpp:2731 -msgid "The Wipe option is not available when using the Firmware Retraction mode.\n\nShall I disable it in order to enable Firmware Retraction?" -msgstr "L'option Nettoyage n'est pas disponible lorsque vous utilisez le mode Rétractation du Firmware.\n\nVoulez-vous que je la désactive pour permettre la Rétractation du Firmware ?" +msgid "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Shall I disable it in order to enable Firmware Retraction?" +msgstr "" +"L'option Nettoyage n'est pas disponible lorsque vous utilisez le mode Rétractation du Firmware.\n" +"\n" +"Voulez-vous que je la désactive pour permettre la Rétractation du Firmware ?" #: src/libslic3r/Print.cpp:1294 msgid "The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." msgstr "À l'heure actuelle, la Tour de Nettoyage ne prend pas en charge l'E volumétrique (use_volumetric_e-0)." #: src/slic3r/GUI/ConfigManipulation.cpp:114 -msgid "The Wipe Tower currently supports the non-soluble supports only\nif they are printed with the current extruder without triggering a tool change.\n(both support_material_extruder and support_material_interface_extruder need to be set to 0)." -msgstr "La tour de nettoyage prend actuellement en charge les supports non solubles seulement\nsi ils sont imprimés avec l'extrudeur actuel sans déclencher un changement d'outil.\n(support_material_extruder et support_material_interface_extruder doivent être réglés sur 0)." +msgid "" +"The Wipe Tower currently supports the non-soluble supports only\n" +"if they are printed with the current extruder without triggering a tool change.\n" +"(both support_material_extruder and support_material_interface_extruder need to be set to 0)." +msgstr "" +"La tour de nettoyage prend actuellement en charge les supports non solubles seulement\n" +"si ils sont imprimés avec l'extrudeur actuel sans déclencher un changement d'outil.\n" +"(support_material_extruder et support_material_interface_extruder doivent être réglés sur 0)." #: src/libslic3r/Print.cpp:1426 msgid "The Wipe Tower currently supports the non-soluble supports only if they are printed with the current extruder without triggering a tool change. (both support_material_extruder and support_material_interface_extruder need to be set to 0)." @@ -9273,16 +9656,28 @@ msgid "There are unprintable objects. Try to adjust support settings to make the msgstr "Il y a des objets non imprimables. Essayez d'ajuster les paramètres de support pour rendre les objets imprimables." #: src/slic3r/GUI/DoubleSlider.cpp:1155 -msgid "There is a color change for extruder that has not been used before.\nCheck your settings to avoid redundant color changes." -msgstr "Il y a un changement de couleur pour un extrudeur qui n'a pas été utilisé auparavant.\nVérifiez vos paramètres pour éviter les changements de couleur redondants." +msgid "" +"There is a color change for extruder that has not been used before.\n" +"Check your settings to avoid redundant color changes." +msgstr "" +"Il y a un changement de couleur pour un extrudeur qui n'a pas été utilisé auparavant.\n" +"Vérifiez vos paramètres pour éviter les changements de couleur redondants." #: src/slic3r/GUI/DoubleSlider.cpp:1149 -msgid "There is a color change for extruder that won't be used till the end of print job.\nThis code won't be processed during G-code generation." -msgstr "Il y a un changement de couleur pour un extrudeur qui ne sera pas utilisé avant la fin du travail d'impression.\nCe code ne sera pas traité lors de la génération du G-code." +msgid "" +"There is a color change for extruder that won't be used till the end of print job.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Il y a un changement de couleur pour un extrudeur qui ne sera pas utilisé avant la fin du travail d'impression.\n" +"Ce code ne sera pas traité lors de la génération du G-code." #: src/slic3r/GUI/DoubleSlider.cpp:1152 -msgid "There is an extruder change set to the same extruder.\nThis code won't be processed during G-code generation." -msgstr "Une modification d'extrudeur est défini sur le même extrudeur.\nCe code ne sera pas traité lors de la génération du G-code." +msgid "" +"There is an extruder change set to the same extruder.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Une modification d'extrudeur est défini sur le même extrudeur.\n" +"Ce code ne sera pas traité lors de la génération du G-code." #: src/libslic3r/GCode.cpp:604 msgid "There is an object with no extrusions on the first layer." @@ -9294,8 +9689,12 @@ msgid "This %s version: %s" msgstr "Version de ce %s : %s" #: src/slic3r/GUI/Tab.cpp:1244 -msgid "This action is not revertable.\nDo you want to proceed?" -msgstr "Cette action n'est pas réversible.\nVoulez-vous continuer ?" +msgid "" +"This action is not revertable.\n" +"Do you want to proceed?" +msgstr "" +"Cette action n'est pas réversible.\n" +"Voulez-vous continuer ?" #: src/libslic3r/PrintConfig.cpp:199 msgid "This code is inserted between objects when using sequential printing. By default extruder and bed temperature are reset using non-wait command; however if M104, M109, M140 or M190 are detected in this custom code, Slic3r will not add temperature commands. Note that you can use placeholder variables for all Slic3r settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want." @@ -9370,13 +9769,30 @@ msgid "This file cannot be loaded in a simple mode. Do you want to switch to an msgstr "Ce fichier ne peut être chargé en mode simple. Voulez-vous basculer en mode avancé ?" #: src/slic3r/GUI/Plater.cpp:2319 -msgid "This file contains several objects positioned at multiple heights.\nInstead of considering them as multiple objects, should I consider\nthis file as a single object having multiple parts?" -msgstr "Ce fichier contient plusieurs objets positionnés à différentes hauteurs. Au lieu de les considérer comme des objets distincts, voulez-vous que je considère\nce fichier comme un seul objet en plusieurs parties?" +msgid "" +"This file contains several objects positioned at multiple heights.\n" +"Instead of considering them as multiple objects, should I consider\n" +"this file as a single object having multiple parts?" +msgstr "" +"Ce fichier contient plusieurs objets positionnés à différentes hauteurs. Au lieu de les considérer comme des objets distincts, voulez-vous que je considère\n" +"ce fichier comme un seul objet en plusieurs parties?" #: src/slic3r/GUI/FirmwareDialog.cpp:332 #, possible-c-format -msgid "This firmware hex file does not match the printer model.\nThe hex file is intended for: %s\nPrinter reported: %s\n\nDo you want to continue and flash this hex file anyway?\nPlease only continue if you are sure this is the right thing to do." -msgstr "Le fichier hex de ce firmware ne correspond pas au modèle d'imprimante.\nLe fichier hex est prévu pour : %s\nImprimante détectée : %s\n\nVoulez-vous continuer et flasher ce fichier hex quand même ?\nS'il vous plait, ne continuez que si vous êtes certain de faire le bon choix." +msgid "" +"This firmware hex file does not match the printer model.\n" +"The hex file is intended for: %s\n" +"Printer reported: %s\n" +"\n" +"Do you want to continue and flash this hex file anyway?\n" +"Please only continue if you are sure this is the right thing to do." +msgstr "" +"Le fichier hex de ce firmware ne correspond pas au modèle d'imprimante.\n" +"Le fichier hex est prévu pour : %s\n" +"Imprimante détectée : %s\n" +"\n" +"Voulez-vous continuer et flasher ce fichier hex quand même ?\n" +"S'il vous plait, ne continuez que si vous êtes certain de faire le bon choix." #: src/libslic3r/PrintConfig.cpp:348 msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." @@ -9468,8 +9884,12 @@ msgid "This matrix describes volumes (in cubic milimetres) required to purge the msgstr "Cette matrice décrit les volumes (en millimètres cube) nécessaires pour purger le nouveau filament dans la tour de nettoyage pour une paire d'outils donnée." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:928 -msgid "This operation is irreversible.\nDo you want to proceed?" -msgstr "Cette opération est irréversible.\nVoulez-vous continuer?" +msgid "" +"This operation is irreversible.\n" +"Do you want to proceed?" +msgstr "" +"Cette opération est irréversible.\n" +"Voulez-vous continuer?" #: src/libslic3r/PrintConfig.cpp:1550 msgid "This option sets the number of perimeters to generate for each layer. Note that Slic3r may increase this number automatically when it detects sloping surfaces which benefit from a higher number of perimeters if the Extra Perimeters option is enabled." @@ -9537,8 +9957,16 @@ msgstr "Ce vecteur enregistre les volumes requis pour changer l'outil utilisé p #: src/slic3r/GUI/UpdateDialogs.cpp:216 #, possible-c-format -msgid "This version of %s is not compatible with currently installed configuration bundles.\nThis probably happened as a result of running an older %s after using a newer one.\n\nYou may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." -msgstr "Cette version de %s n'est pas compatible avec les ensembles de configuration actuellement installés.\nCela survient probablement du fait d'avoir lancé une ancienne version de %s après en avoir utilisé une nouvelle.\n\nVous pouvez soit quitter %s et essayer à nouveau avec une version plus récente, ou vous pouvez relancer la configuration initiale. Procéder ainsi permettra de créer une sauvegarde de la configuration existante avant d'installer les fichiers compatibles avec ce %s." +msgid "" +"This version of %s is not compatible with currently installed configuration bundles.\n" +"This probably happened as a result of running an older %s after using a newer one.\n" +"\n" +"You may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." +msgstr "" +"Cette version de %s n'est pas compatible avec les ensembles de configuration actuellement installés.\n" +"Cela survient probablement du fait d'avoir lancé une ancienne version de %s après en avoir utilisé une nouvelle.\n" +"\n" +"Vous pouvez soit quitter %s et essayer à nouveau avec une version plus récente, ou vous pouvez relancer la configuration initiale. Procéder ainsi permettra de créer une sauvegarde de la configuration existante avant d'installer les fichiers compatibles avec ce %s." #: src/libslic3r/PrintConfig.cpp:2601 msgid "This will apply a gamma correction to the rasterized 2D polygons. A gamma value of zero means thresholding with the threshold in the middle. This behaviour eliminates antialiasing without losing holes in polygons." @@ -9763,8 +10191,12 @@ msgstr "Type :" #: src/slic3r/GUI/OpenGLManager.cpp:275 #, possible-c-format -msgid "Unable to load the following shaders:\n%s" -msgstr "Impossible de charger les shaders suivants :\n%s" +msgid "" +"Unable to load the following shaders:\n" +"%s" +msgstr "" +"Impossible de charger les shaders suivants :\n" +"%s" #: src/slic3r/GUI/Plater.cpp:3233 msgid "Unable to reload:" @@ -9776,6 +10208,10 @@ msgstr "Impossible de recharger :" msgid "Undef" msgstr "Undef" +#: src/slic3r/GUI/GUI.cpp:305 +msgid "Undefined" +msgstr "Non défini" + #: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" msgstr "erreur non définie" @@ -9832,12 +10268,20 @@ msgid "UNLOCKED LOCK" msgstr "CADENAS OUVERT" #: src/slic3r/GUI/Tab.cpp:3719 -msgid "UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick to reset all settings for current option group to the system (or default) values." -msgstr "L'icône CADENAS OUVERT indique que certains paramètres ont été modifiés et ne sont pas égaux aux valeurs du système (ou par défaut) pour le groupe d'options actuel.\nCliquez pour régler tous les paramètres pour le groupe d'options actuel sur les valeurs du système (ou par défaut)." +msgid "" +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or default) values." +msgstr "" +"L'icône CADENAS OUVERT indique que certains paramètres ont été modifiés et ne sont pas égaux aux valeurs du système (ou par défaut) pour le groupe d'options actuel.\n" +"Cliquez pour régler tous les paramètres pour le groupe d'options actuel sur les valeurs du système (ou par défaut)." #: src/slic3r/GUI/Tab.cpp:3734 -msgid "UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\nClick to reset current value to the system (or default) value." -msgstr "L'icône CADENAS OUVERT indique que la valeur a été changée et n'est pas égale à la valeur du système (ou par défaut).\nCliquez pour réinitialiser la valeur actuelle sur les valeurs du système (ou par défaut)." +msgid "" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\n" +"Click to reset current value to the system (or default) value." +msgstr "" +"L'icône CADENAS OUVERT indique que la valeur a été changée et n'est pas égale à la valeur du système (ou par défaut).\n" +"Cliquez pour réinitialiser la valeur actuelle sur les valeurs du système (ou par défaut)." #: src/slic3r/GUI/KBShortcutsDialog.cpp:173 msgid "Unselect gizmo or clear selection" @@ -10120,8 +10564,12 @@ msgid "View mode" msgstr "Mode de vue" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:666 -msgid "Visit \"Preferences\" and check \"%1%\"\nto be asked about unsaved changes again." -msgstr "Accédez aux \"Préférences\" et cochez \"%1%\"\npour être à nouveau interrogé sur les modifications non enregistrées." +msgid "" +"Visit \"Preferences\" and check \"%1%\"\n" +"to be asked about unsaved changes again." +msgstr "" +"Accédez aux \"Préférences\" et cochez \"%1%\"\n" +"pour être à nouveau interrogé sur les modifications non enregistrées." #: src/libslic3r/PrintConfig.cpp:3553 msgid "Visualize an already sliced and saved G-code" @@ -10366,8 +10814,18 @@ msgid "World coordinates" msgstr "Les coordonnées mondiales" #: src/slic3r/GUI/UpdateDialogs.cpp:92 -msgid "Would you like to install it?\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "Voulez-vous l'installer ?\n\nNotez qu'un instantané complet de la configuration sera sauvegardé d'abord. Elle peut être restaurée à tout moment si vous rencontrez un problème avec la nouvelle version.\n\nEnsembles de configuration mis à jour :" +msgid "" +"Would you like to install it?\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"Voulez-vous l'installer ?\n" +"\n" +"Notez qu'un instantané complet de la configuration sera sauvegardé d'abord. Elle peut être restaurée à tout moment si vous rencontrez un problème avec la nouvelle version.\n" +"\n" +"Ensembles de configuration mis à jour :" #: src/slic3r/GUI/GUI_App.cpp:1802 msgid "Would you like to stop uploads and close the program?" @@ -10455,12 +10913,20 @@ msgid "You cannot use non-uniform scaling mode for multiple objects/parts select msgstr "Vous ne pouvez pas utiliser un mode de redimensionnement non-uniforme pour une sélection d'objets/de parties multiples" #: src/slic3r/GUI/NotificationManager.hpp:459 -msgid "You have just added a G-code for color change, but its value is empty.\nTo export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" -msgstr "Vous venez d'ajouter un G-code de changement de couleur, mais sa valeur est vide.\nPour exporter le G-code correctement, référez-vous à \"G-code de Changement de Couleur\" dans \"Réglages de l'Imprimante > G-code Personnalisé\"" +msgid "" +"You have just added a G-code for color change, but its value is empty.\n" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" +msgstr "" +"Vous venez d'ajouter un G-code de changement de couleur, mais sa valeur est vide.\n" +"Pour exporter le G-code correctement, référez-vous à \"G-code de Changement de Couleur\" dans \"Réglages de l'Imprimante > G-code Personnalisé\"" #: src/slic3r/GUI/SavePresetDialog.cpp:277 -msgid "You have selected physical printer \"%1%\" \nwith related printer preset \"%2%\"" -msgstr "Vous avez sélectionné l'imprimante physique \"%1%\"\navec le préréglage d'imprimante associé \"%2%\"" +msgid "" +"You have selected physical printer \"%1%\" \n" +"with related printer preset \"%2%\"" +msgstr "" +"Vous avez sélectionné l'imprimante physique \"%1%\"\n" +"avec le préréglage d'imprimante associé \"%2%\"" #: src/slic3r/GUI/GUI_App.cpp:1078 msgid "You have the following presets with saved options for \"Print Host upload\"" @@ -10479,9 +10945,13 @@ msgstr "Il est nécessaire d'installer une mise à niveau de configuration." msgid "You need to restart %s to make the changes effective." msgstr "Vous devez redémarrer %s afin que les modifications soient appliquées." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:611 msgid "You should change the name of your printer device." -msgstr "Vous devez changer le nom de votre imprimante." +msgstr "Vous devez changer le nom de votre périphérique d'impression." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +msgid "You should to change a name of your printer device. It can't be saved." +msgstr "Vous devez changer le nom de votre imprimante. Il ne peut pas être enregistré." #: src/slic3r/GUI/GUI_ObjectList.cpp:3884 #, possible-c-format @@ -10521,12 +10991,24 @@ msgid "Z offset" msgstr "Décalage Z" #: src/slic3r/GUI/ConfigManipulation.cpp:59 -msgid "Zero first layer height is not valid.\n\nThe first layer height will be reset to 0.01." -msgstr "Une hauteur de première couche de zéro n'est pas valide.\n\nLa hauteur de la première couche sera réinitialisée à 0,01." +msgid "" +"Zero first layer height is not valid.\n" +"\n" +"The first layer height will be reset to 0.01." +msgstr "" +"Une hauteur de première couche de zéro n'est pas valide.\n" +"\n" +"La hauteur de la première couche sera réinitialisée à 0,01." #: src/slic3r/GUI/ConfigManipulation.cpp:47 -msgid "Zero layer height is not valid.\n\nThe layer height will be reset to 0.01." -msgstr "Une hauteur de couche de zéro n'est pas valide.\n\nLa hauteur de la couche sera réinitialisée à 0,01." +msgid "" +"Zero layer height is not valid.\n" +"\n" +"The layer height will be reset to 0.01." +msgstr "" +"Une hauteur de couche de zéro n'est pas valide.\n" +"\n" +"La hauteur de la couche sera réinitialisée à 0,01." #: src/libslic3r/PrintConfig.cpp:2831 msgid "Zig-Zag" @@ -10550,8 +11032,12 @@ msgid "Zoom to Bed" msgstr "Zoomer sur le Lit" #: src/slic3r/GUI/KBShortcutsDialog.cpp:176 -msgid "Zoom to selected object\nor all objects in scene, if none selected" -msgstr "Zoomer sur l'objet sélectionné\nou sur tous les objets sur la scène, si aucun n'est sélectionné" +msgid "" +"Zoom to selected object\n" +"or all objects in scene, if none selected" +msgstr "" +"Zoomer sur l'objet sélectionné\n" +"ou sur tous les objets sur la scène, si aucun n'est sélectionné" #: src/libslic3r/PrintConfig.cpp:241 src/libslic3r/PrintConfig.cpp:816 #: src/libslic3r/PrintConfig.cpp:1748 src/libslic3r/PrintConfig.cpp:1758 diff --git a/resources/localization/it/PrusaSlicer.mo b/resources/localization/it/PrusaSlicer.mo index 7e669c9106983fde138d9f42c4f3f7b89798b422..504931b0ae7f9a316b710f05d70a1c38bbce30c8 100644 GIT binary patch delta 56454 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 D=7W0i delta 54226 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

qk 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

!1Us!}O@@ zi=!S`50%W_P}fgFUB4JL(Y>haFCVb`{}~OsA@)JjK@L>CJZhxvFc0=YMPxZ@pYKA2 z_5gV^4m3hKx`V%wjgk~`KBbB<&~_2<^6pc^}(E*OJ)eXhj)xEs~ckH7Ns zKVM81V-bvZj6b8nipR|tmKi6=8S2+g205#6{OKV6Z`oPWv*z;y{|n-emH1kI-u$Lz z&IPtL|NS}VKMD$U+28Db#W~a`piZpJm&^deP!Xz*Vb~c<;9RVPSFt3fyKHt-GmJ@n zlXW*LxsRawxsB7f>BO zLv6NYh<6|ID^J>TUM3^)zaR?@^ITcf*{J zA*e4NMNu=WfakF@>Kjgxn~1q53>~U zQJ-hP4wwbU;6&7a-zUi}^E;sWx6K3QqqgZX4918_YGU^=BffNPL!!Ip zgY?#%sI@MFdT=dUZ;Lt!2VquRh)aX?YSAzc_2>3a@dxUk9+(Jpd}w~0?t#jIgO~*$qSijnBQvuUxQluYR5IVg#^^jY zOV9+h%?IHHoR6FI{lCi-bHJp2YL=ip4rUSV&Ce0xsIO{8t>sWlTLZoC{|zW;X5CStnT0x|ccDUm8kIb^ZT&rJ=CNOx z117mO18VKFp_ZZu>cO>9+q9{*A1W87V=?~z)LBU(K*QZvb{C*V_zX3Ze^DJdugwV= z8#RCe*c?lv9{e+EzpqC<-~?(SH&6q5hMGvw8?%II(fjxR%2Low>!bEnPFDcgUX>M&FrXd~dS7AnNlLs1vL^YDSY#5m|*gXtttW$EQ#c`igz9>3_V0@H{FR+kJ4& zj7EJhH!eVpbPHQSC|n0jDjF#JBhu^|o|x1qGaY6jBEQ-uwP5YHjvL3wU3gU!!K&BWA$+PqIwH3e=0m3V0D1hJ~r0#1{D7=sGQ82fPz&ALinN z7;ysLZ@t1%FO@|&5P!uQSR!t~`~BW{jG}%6z1M8KfK!ii!^PdSUyg6uCngAZC*^AE zMV!FrA26=|`QNC7=0VdE1-uh%2iD?(Zi&qU4&Vanm6Djy-p8KQYbFhNzr{X;nyD{Y z!23DBl65I+`+i1EEN1e6_s4DpaV+%-Scm63Nm2y7w_1DLPW^wV8-}M0IIVFbj>m+l z0^Yaf1*n(GAE=~@l{(eaC*4n~~^JMn*b5ohDVGy(752MkXea9oA92L(Og zDbB;b=>pzA-;19<;C-=(!g#bFz%V>({bbFaA>jSit15?*+Wi6L1=0_Iv^FcSOVT2fV+mdWg>%c%K3R?;l3D4i7kOsJ{s3|NpQQ zg*pWT-k(-YMI~LWLILjp>4OT{YE*ma!X`J`;(qGea47aH67c?B@Fk9;KBB1E6>*B0 ztdGJG4D1N*<@53-0?tPK?owDrVPnaF_ieULset#dQcT7(v>z%Ra6aPrh=BLkZllTs zoCxaA@fC)Z4S4^GRfcj5kO!11AMpNotxW}!D_JWBy#M}3N8IA)x9FG?-6{d^kI>w8 z)kp?zj8Q${oor=maBxuf*9>@nemB2X!28bEwRXV!E4bbmod*}KW3oE}y`N}MCtoC< z!ghETbJsQ7@FOZ2lhq4&e|VG!3+nx!s(!$GyVXJ+rA<&FZI3!A9-z+nvJK3^)C^-& zAC1~xQ*HY~)Vtv%>K$+$^%i`A5$J1Z23{7sP_KgV^!*aOw^ zSXA<^LJeRm>I=+C?1L{*Cuf_sW64#LKLl?NwR#Xnb$|nWE5)crl8hz z8R|%0gPP$k)B{eT?)wj;Vb=D>+}MbE0n~FQpa$yhqM(ug4-4US48{Z<%#!3qP)};O#2Vz7=&V1a9nn0RPCO5*60lH3c3OZWLSleSU>QT5C zkKtByJDYDT`MU(1E7W^pV|GJ@t{maG=m&G)-0o)HqHDU78??9VVcrn~dYaevkY45; z@B+R6|Bs(~n-Gr0s&qUTHN*Q@4ukrbB&&oCsJBK%Y!_-qNA2goqt1s{s1q?sU-Nku zR8ki~?V{eO{- z=x<(Lm2n;QAy^T!4+uCx*b~cOUv%qJ*l8Q$3^X}V0}IkV3a8>;yhxHGMpG4(Y40c^UEakHQGg9bDgVuaH>Ng$dup$0! zEi=r_Xf7&3=TO@&>u_`6RJ3l#n6zga5%B)gi#f3+^+l*3NWP+XqK-648+#-V(Ak`l z28AvYHp9ZG?K1;)<2+QhFGa2GZq&JO2DJqDQA_v{wRA~G1)LDfh1xZBQ0@IO9H*eR z^)Z)%lHmfXgO`{9V~;lV)Tjp+L>)lYQ4wl|8sHFA1V^FbXz@a?4TB4b4!Y8-|KV6e?S1Sht`ebO9Cm2dH;I&{#8|45*owKwZ}cwHx}|_W8Jq z`e7uMoQ~tX>s+TZ1vLysoovHUYcv*9;Y8E`SK0Qnn4B9fVprN9N6``WdgIN((rJPT z?T@JKISe(R8JHJWqh@{s8|wZ4nt~owd1AovV;j_(w@2;sZm5tAv`$4`_ltEcYUwth zB6tde@i){&-k{d{Khy;MlT3Rosr?_Hf<8!s>L4|0Z8M{e*6gUYFKp}8unhGkw!Q$h z_G?i09YXbU9M$i6R8Cz*P4uCye@FNKrJZ$nQ~A^OleSRYU4s;-xVyWvxP>;QsU+Q| zrL-&*cemnhi+gZwad%&KVVz}{-DQ2@`OL|LU--T6_5Ab9bxr3xGxyvx-*Zk5Z4wdz zWS`}kC?8e|3uEP<S??UR<8bDSQ*TTm4ENYW97)r!OAIHjFm%w3@eBH zCbkUrJ8U^@&e`l=4rTq>o^#a*E02b*SeZBmD;L!mtTfn&t%Ti+m5c8gR*3(>$|=e- z$Ahnk72a-G*-%fc?0lg532Mj8;qfm=U@8IG;T)`7G%K;PgWXtZa2G3tuds3peU0Us zGo%6wzJtQV-Pgo__kS;PQHli8K!z0=FApuGn&uWHbG&9~@GYaBmuZk_Vma|EK`MXo zjD)xpnvU-N)J)f!UDzsML|#!V!->Qa|5>@lP`6Gol4}4cBO1WDmFv%Q5y%4h9w5)W z8IqmGlURL*l@A{jNrWt%d_inqu$LIpLfl2{g`9kqyTrd$zY6Od;M=I56Wf61?K9GU zE6Ek;Rozh^lAG}_L-Y^&gA!&Y{w)prD()!j&fs34?P&gp0mEqW1^!+9so*km1oBaL zl2{jfZW*RGH0G9J{EKSre=3CufZ{3gN@xY{H&zE$*D#9| z*Hee&vnovKbofpn_#gz+9_nf_@b~m8POc^WZgBrG2&~#L9^ebqD||tjDME=hu@(t} z=p)6PCijwfL-kKUE??y$@(shp=z6UT&5(acb7Fm1=cG2X{QrxrBsVaPNC9kw?n3-M z4Au_26fI2AG6)6=nMzBrKk4u*lw+*s)`R_){2cH%Xm*%*A;k)$BlxAp=P%)OVFw8m ze5rulI{88+m4a=Mh-}1u1U4^r2X%i?bIylYFpsE{JEBN&2KW|VUcM^=&ceDPwF%hd zx)7xRXaZ3UG*WlpmN>7>eITvKTZzxmXfM`tspU(J43T?%7_oEUmcVn424l!YU{ldz z@R{)^vKCn-kAIQXOjDX{5~>}_*jw3tmT)}Squ=$`aZ;bY=j}{ z;gf&sMIN&bCD#pG1Z-KKBemK1_ZLtwO)`_Xr2|Z&NlE+*1_dNOMIFF?hTlpDxel>c zN-M4ku>lOjXBZj6^Ua1xdLDIOY3*{^e`A`CW5TBBAqopKrB_a{mS?n@5U)v57>Q<( z{!0x{{hEH@Fh>)+0CRt0KVvh2wq^|CFJgGVms1yR?xM1?jMVf}5rBWIj#D^c_XtQ1BO^5|Ean z@F!v&X*^LXkzV)-_icCjSb$u4xM_Stsd^T$1;2lT2Cyn`|%6MYh zNzFEJRoFxc)&Utg|M_u5N>bPc@B`K>bSQ}*S7P}cUZj!cn$x@{4f;|Sgo^Ygc31J@ z^B22m6|u<-6pnutI|N^3BYg|Y`R_{b5>7wXJ4ocB!4@Bq=Gt(M9ztFYG=&qZrkG*W ziwx5t5Iz(TB zTL#Hs{8=RDQY+GwoXl7h&U-Wx84s?o4xUK|mG~^;cjW%>ugT(&wq$()5|OqHH2^Em zT6^V+PJSGs6X1r>_z<|;3?fe`Oh%h(lha_2QCk3i58S78pnt)1CD(`As`B}3F@V|< z{9Jb{e`q{YFiS)DWF=F2J#TGwx89rsY*PqJX#6vH%KHp0FJ_-%*gDv$#J?s#gn??a zz9p~!ie$rbV~qjwmy)R!2=pTjj5U!I_n{-#bOsxavhJ!IK+ z$1m{L(_p0zwopmGCqGr!wP|n?wLw)=2hK!;R>Zoa7vR`QuCH=S%b~>My*~X7aZ#M8 zjhaCIjK=$Q*YcYw+No7~jorREsqQRENnFp}Pi`jhiYapk=Rhw=Y^ zya}=LIbP4$;S4S4#H1(D1`vy6BzKI$Ht2bpm}%S`m9N|SQ+KrWpyV4Tnu4$Fs+F# z!OsPW$PQ|9Lp;x?Sv5H1rMqv4tpJx-hwP2zZ3c#f^0T_ul!i0;IEk+m=p?a3*ClA| zl?=oS2u`P8=##6a>u5bXQX@~#P~x|+*X8g3y)3@Lt|!=08`>fK6D_2NY7M#kXn7sB6$5O8v?8Q=&_S$+ z5vxOe2!10t^I?lnKcAdPRcsL*bhP#{uK#*CivZN7K|{1CpgdTS85H%y>WWirRVJbKgE4V|tyKJm^p~JKu|0)=_9w`r!`wF=~)6cJV+W5@%*)Zh>^%Lm* z%3gtrv7khPVGF~rk3I+U0?cLf5S_a-ert3Nm__(YsTr+PWCSzXLt#3FT}}^qx?E&F zHO0Xt|KahC_uJ{xv>2kp5I#_%7z#z=)E`2A76fjZ@xED82L{_qZZg^%+!<=0gW04T z2w^=nIZ1tZ(+#U@Mo24{x*vcijOeaKCH+c3J(#F zppaL@43SNC^(;-7bjL$=w-OFPTWY)~b?tSh4Yc`OnvZ~YF}$zAttOs)Lnjo1)+9>G z0@;S%V|Ra3)RO^%SdRsJn8He|%aV`7cd!<@thOpmrz__|_`LEHJY`XlePFkvQ+Usx z=@EhY3ar9JMjuUMN>O+ z8Ni6_!5{2dntFnnDBpRMO^fc6Y{pd6NK_#HqXNC=0z`i@R3jZ=wUSD{gbura+#1cV z0$&}Ssn^I*ct53ALv%a6T2i0+~I( z4vkd;7xopTtI$BO?{pJK8AODy*ESuY;ZkyE(Lbn_msCW405eGb=1vCGTnn!%@kwl1 zCAkCm6zezGYT$N4_#+M9Lbi_BLv~gj|5Mgp`3*k^jv?5i@MrTTu=(+u!6C9-e&?F6 zPCq?wlBh-e5pkOiCb3=UI$}j3bwZLPLF6&R&7-!s$2EQ?5bFnSE%;4vl_pvUe*#1I zC3ghgsaWIq^DbpWx)WT+dZ`|Tm8_ikoB*`c9W||O#ptX=C{FllG@kAU!r^xwkan)M9!dQ@>TI~$W^@o;2MJGutQ0B zrM*rq-<{i5iBt4QJ*V*%fUB?~+pt5ZwX)t0<|ph?VwKT+3_A;r(gE(XZU&|ZesUZ@ z-u`Zq3$X{bJdLK&u)l&yn+D2IoekR{9W?+Ujo543M-&30o;Z_A};hUejc<8vB%1F zgIamxXOx`(PaxTgwjx-Df)unD{zm*x43kFj3D&KMi!{VFYOZk6+2m!KVREl78wxkxrtGHIBV`~|=@uqDYILq&qH z3$WLzEkpi^5#_woFgHV%Ce|6u0rU>M`@wnT4VWY_Gvyzj3OF^%Gy;&uuDan@qS-!% zsHGK+A@C#iF`Au1udLPeNb(opDoX7m^i$$n&@|SY0e4}2ih;hu&qa^NT9;g$;A{Yk z(H1mZ0*MvC4B{fqC~&cM5ckSdif3#7BsC+*_14|}h<}xJFoX60SB$~(;}^y*f%g%4 z`K6~GI$6H+nolt|-9aZ%@QPr2iW&oKAv?v&BjhZ_iNxFCH-SJTOzk6TJ_jRm5Zr%D zcg=mNi9rn8n%bELmh)eeM!w>pAOnrYGSn!55dcSm*~tK(((D-EdE|d1o*CaO>Bt*G zd>!k*s4q*iIjk3HkBtB-8;w2C3G_D|rO8^rfi&(3_&WvH0C=7T4kfOo&1R6_rMY8@wo9qU>AHr7H!`iGr zeizN#iEl;6ky}B1H3l(}ug7`=m`K(K$?sx4jYe}>KLfiMZHm4{5u?Ac8o|#YfO7&q z%Z@u6Q6Ay|??XBceL|DU_)laA{7R6DB(c6i!+g|+vg_rNM`q(6M;lO69Y2NKQgSEI zPH;Ig(Ekld3k1Fr57~VRy>gv`FZ4A03jVe>sEMsaZFOuUPq3) zM;C&r4!4L|_+|ggA^a8a#{j-W@8~eoDNfaQA1YIl(r*-m~q`7y*>QTs9RL}E79Q4BLo ze*YJ7>SUwUJ^+|s*F|VFMTeQB_8cVfsK{G(*AUx)!FEFImFcWw$&J+5eee&d&yBwt z>rZa1+}&=`C_7bcX(ZAIdkTH(agCps0H>qD0CuvA+#<*hl5r6)K)gAmNAN$!rsZT^ZQvlz*!FU$x8PHwOc;z9qvG~7Jo{9Ad66F~6AAFH%(2U0a9RDlw zU!d!0Q(lkBL*i|~1cCjWSV{bW_$%=H;8(_4sZmKb-pD%3XKqQ4Y1uH-h&O+rn%u7ho75)x3K<12QLloEb&OW z3ZDBMeqyF9kUfMT6S-XE9-=uIq>&b{XWbFZY3vnnNs!$ocMo60Oe})DR~k`Y7|d;A z$H1&(10qGS$-ODeuZ8(^=kFBokM1H#ce)I$pT=Uf!BvQR68|25Ke&DnN5hv%xz-x3 zJU{*+KTEk@f$1xE!5$Qgw1c1vWL`E!Pv=F0Tal2A48PUx(+nDh~Eag9PCpt zBBN+Dhn-JS|0tN^+FbI3$Vq=wlI~XAbUMIy6b+<6Hqi`VR^n|~Unc&$V#<>2MlOUw z>S}B}T%Qq_*`_f}HuAqwb07Z*@h;dNVE;l3$uM&LEoBj@Q?|qx>EJP@W(;wFd=2~u zkoiG!0xMFFW>)GZLKXooig-afPaqaat|Qnx#BV5fA8>Qg1`H;WpM3H)7Wee9tN}cV zU|T&Rxv&{1I05N9;$DfvuSv6<TDP0ndGh`6H-Q~bJ|p#C5I>HdV}J_S z9(?nUX`)UiM`8fKAkLHcBJpm6;oYWOzy;cW%z`72cU9i2- z7=|f}b!(4?@>@V1$TJbxLxUs$KL8N15YI*NAT%?LDuQY3a};`kc>*Sa{Bk`d|Em2I zyNa5P*bDGQf|(D#AA>Dcj{WrdPIi5c#bI}~<%H`}>=<%wv{_E-{voy%%ozq5iNA?nPV9a8=Ic!qjVB(Ca!(*X0ijpsQ1_?S9-`Sr@*Sz0K+R;WJ5SvY=;vD05zbKg zD=-6#suT@Yf`t@{EQjPMb^!#NwOKpONxmCoq0~-AMM`R;KJ3y4{%7Ks!LL$Y!4#rT zjGm4?)LW7X%vI7a0ZyUlF^w;yA~wL6$Tz|+Aa+XQYr$q9UYDl9*pDF-X-?ylXht1a zV#BDZkG}`I55E{TD|I#Km3$eZR0Y>3u>vhiVhe!EXbBqcL|4%yFT2`id`E$=+@r8LL~V6< zw>7^QY;EFG@CQ1-?H=H@!Uh_NmX|GphK} z1n@J};Qf z+ED8Lfa^Clv727T{qG6QtpHOA#L=Vz;C)KmU+p98L@+=55J|bn8RDBEtxayCLF$R$ z!}NmtU-BY1;qFG`<{sD7llWeF7T7D1ECK+v#=geRfUqFMdm#}Sg6_pHkNV0n%{L`@ z0FBX8B$!eh1(6)o^wVC4;jYWNC)T+C4`+ANDEb<3Jc+Yf59SsF&Z5UQ@+~+*JBYVr{Z9V!?#=ZnI$e;cH z4as8<&J+&$$LMQ{God1j@bl_=APxK=6PXS{9qfLHMV{zjO<0E$YXNR0n8EOigwXg~ z^fmriu-#=?IsWmGAHW%~82#pEjvP* z(Db-8Mvk$G5n#W;E@GerVhQA0;vY!I0enCMH_qoYUPUq-kjS?>h{xm4C>^jWgB(w{ z_rUe^=3GNvarU_QI9sSC!5$ZG3925nclV9g{+aELFlTJEHO}sI>|J@Mc%@=P;~k+< zHcNulWr=cHLv5jzEaA=s+i+W~#pR5iU-eP`RtdIPo5kUbv&7m$oWmUUBwJ{(sfE)K zW*-(GYfxFj>~NF}suoo8e`Ct?|6_9RFq=!KPhZ8-qhqxmDa``SmXz~>=JFZ4#>Ts> z9qo=t_l-bv<8&#DGn@0Jt8WRa5tLFao4G{Fj;!Xq?s{3xqy1C*=P+mX!Eei9{x^4^ z-QkL}Mn$>TmNqvnSkY&|(0H3A&S|kaEOy6mYm`0I65_j;VE4^N=D%uW^9*FM#)gF3 zhuhpIKQ^!S_k*urym@2>$wpP{@jiQgl=+vO$*wp{ls(cGm1v0zw|&TJ9F~|^XJ~u~ z=VWN2#cFZbI2;xZw2PBrafVrp9ruW`hY)tg3Wzgc`ykB8iwrh(a>lzjW#Kkkl<(So zeYQDcU^<#x`Q>xx*l4bnKCp@<*cDaHmC|&ZxrRIEHuDB^ z^;p|*yDh;O*%hzX4HLOILZKFGXhb~QVn5Lqdl)m@xJ2CBx0}Dtm~3|$S4F&w9!9zB z2=E7o(_$TNwMSWpM%jWheR$3EwkKI*LoLzPM1#f|7RJ8iz(rZ(geE4|?ug^)RFbR9 z8f|mLc}D8du^B~iw*0YnYm`e)**IzLvJMBoA<6Gmrdk}yct@nenc%P(Z7e(}jFa!FH>g5wVb=Jl zI4_`jkbCY#zcK+CEahUtW34WmJ8i08A#)CEw4L+kbT};zt2~0;52pDI4#=br;gATM zyXI`aUDcC&ha@G&S%Jk^Ly{s>msldb*KZVG9O{%~Wb7iw znP7KHmBnRGT_X1kcaf`phXYb3-SjKqbECL+)9<^ydZUPU@BPMaUXhenT?4XI^{{&G zXECu!wj`nb&n&4EeU3sz>XKl0?R5SH8wFZC)4Llq_iq>A9~B?r9^Kl%c&7L9DP8?b zi;X#BywAu4{T zq9Ux3_OxXdxmoxkf=wOH>`im;wE4dc%-h?RcG$uMmiPqgu+$}$ENMq=7B^o#vN?w( zF2Qb#waWF-%$4YhVt-hsXpAmg4S&SdS z!NDcnBPaU5Fjwu$QH+R9N{p~1Mcb`hH+D-X*P7E6A0gLH+OjCSJjl3m?Y594hs`~3 zvj5vm$udKH+R?-WZkN^w9#t-AjLOs{F^&(9oIN;`cia!AwM08*Z$g#C)x^$HCtDz5 zXOZ@h@b|=tthqyT!(g`9_(*H4EhzFoH=i?m6Syl|lZ<;0x1O|d65(bP?Cw0z|Lgo& z^wQ?o3A7)A3$GENj{xSiDyXELCQ*wW>^T6l4 zJKcPKPt8&(-QxmE6tGBAHpAr*!QPXsF?JW5ar224v$8hh=x~(mHhI)?@pvBOY*lVR d+K`LO+fWWD2QoU5L+{{t-4{|5_lbm{;A delta 54151 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 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || n%10 == 1 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 12 && n%100 <= 14)) ? 2 : 3);\n" -"X-Generator: PhraseApp (phraseapp.com)\n" +"X-Generator: Phrase (phrase.com)\n" #: src/slic3r/GUI/Tab.cpp:4124 -msgid "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\nTo enable \"%1%\", please switch off \"%2%\"" -msgstr "\"%1%\" jest wyłączony ponieważ \"%2%\" znajduje się w kategorii \"%3%\".\nAby włączyć \"%1%\", wyłącz \"%2%\"." +msgid "" +"\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" +"To enable \"%1%\", please switch off \"%2%\"" +msgstr "" +"\"%1%\" jest wyłączony ponieważ \"%2%\" znajduje się w kategorii \"%3%\".\n" +"Aby włączyć \"%1%\", wyłącz \"%2%\"." #: src/libslic3r/PrintConfig.cpp:249 src/libslic3r/PrintConfig.cpp:828 #: src/libslic3r/PrintConfig.cpp:1148 src/libslic3r/PrintConfig.cpp:1327 @@ -28,6 +32,10 @@ msgstr "%1% Zestaw ustawień" msgid "%1% printer was active at the time the target Undo / Redo snapshot was taken. Switching to %1% printer requires reloading of %1% presets." msgstr "Drukarka %1% była aktywna podczas Cofnięcia / Powtórzenia zrzutu. Zmiana drukarki na %1% wymaga załadowania zestawów ustawień %1%." +#: src/slic3r/GUI/GUI.cpp:330 +msgid "%1% was substituted with %2%" +msgstr "%1% zamieniono na %2%" + #: src/slic3r/GUI/MainFrame.cpp:1585 msgid "%1% was successfully sliced." msgstr "%1% został pomyślnie pocięty." @@ -63,8 +71,12 @@ msgstr "pomyślnie zaimportowano %d zestawów ustawień." #: src/slic3r/GUI/GUI_App.cpp:718 #, possible-c-format -msgid "%s\nDo you want to continue?" -msgstr "%s\nKontynuować?" +msgid "" +"%s\n" +"Do you want to continue?" +msgstr "" +"%s\n" +"Kontynuować?" #: src/slic3r/GUI/MainFrame.cpp:917 src/slic3r/GUI/MainFrame.cpp:1316 #, possible-c-format @@ -108,8 +120,14 @@ msgstr "%s napotkał błąd" #: src/slic3r/GUI/GUI_App.cpp:528 #, possible-c-format -msgid "%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n\nThe application will now terminate." -msgstr "Błąd %s . Prawdopodobnie wystąpił przez brak pamięci. Jeśli masz pewność, że ilość RAMu jest wystarczająca, to może to być bug, a którego zgłoszenie będziemy wdzięczni.\n\nAplikacja zostanie zamknięta." +msgid "" +"%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n" +"\n" +"The application will now terminate." +msgstr "" +"Błąd %s . Prawdopodobnie wystąpił przez brak pamięci. Jeśli masz pewność, że ilość RAMu jest wystarczająca, to może to być bug, a którego zgłoszenie będziemy wdzięczni.\n" +"\n" +"Aplikacja zostanie zamknięta." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:62 #, possible-c-format @@ -126,10 +144,27 @@ msgstr "%s nie ma dostępnych aktualizacji konfiguracji." msgid "%s incompatibility" msgstr "niekompatybilność: %s" +#: src/slic3r/GUI/MsgDialog.cpp:114 +#, possible-c-format +msgid "%s information" +msgstr "%s informacje" + #: src/slic3r/GUI/UpdateDialogs.cpp:270 #, possible-c-format -msgid "%s now uses an updated configuration structure.\n\nSo called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\nAn inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n\nPlease proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." -msgstr "%s używa teraz zaktualizowanej struktury konfiguracji.\n\nZostały wprowadzone tzw. \"Ustawienia systemowe\", w których zachowane są domyślne ustawienia dla wielu drukarek. Te ustawienia nie mogą być modyfikowane, ale użytkownicy mogą tworzyć własne profile, bazujące na Ustawieniach systemowych.\nZestaw ustawień może dziedziczyć wartości ustawień z profilu źródłowego lub nadpisać je własnymi.\n\nKontynuuj do %s , które pozwoli ustawić nowe Zestawy i wybrać automatyczną aktualizację wbudowanych Zestawów." +msgid "" +"%s now uses an updated configuration structure.\n" +"\n" +"So called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\n" +"An inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n" +"\n" +"Please proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." +msgstr "" +"%s używa teraz zaktualizowanej struktury konfiguracji.\n" +"\n" +"Zostały wprowadzone tzw. \"Ustawienia systemowe\", w których zachowane są domyślne ustawienia dla wielu drukarek. Te ustawienia nie mogą być modyfikowane, ale użytkownicy mogą tworzyć własne profile, bazujące na Ustawieniach systemowych.\n" +"Zestaw ustawień może dziedziczyć wartości ustawień z profilu źródłowego lub nadpisać je własnymi.\n" +"\n" +"Kontynuuj do %s , które pozwoli ustawić nowe Zestawy i wybrać automatyczną aktualizację wbudowanych Zestawów." #: src/slic3r/GUI/GUI_App.cpp:1512 #, possible-c-format @@ -138,8 +173,18 @@ msgstr "Tryb %s" #: src/slic3r/GUI/UpdateDialogs.cpp:151 #, possible-c-format -msgid "%s will now start updates. Otherwise it won't be able to start.\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "%s rozpocznie aktualizację. W innym przypadku nie będzie możliwe uruchomienie.\n\nWeź pod uwagę, że najpierw zostanie wykonany całkowity zrzut konfiguracji. Może być wczytany w dowolnym momencie, jeśli okazałoby się, że nowa wersja powoduje problemy.\n\nZaktualizowane zestawy ustawień:" +msgid "" +"%s will now start updates. Otherwise it won't be able to start.\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"%s rozpocznie aktualizację. W innym przypadku nie będzie możliwe uruchomienie.\n" +"\n" +"Weź pod uwagę, że najpierw zostanie wykonany całkowity zrzut konfiguracji. Może być wczytany w dowolnym momencie, jeśli okazałoby się, że nowa wersja powoduje problemy.\n" +"\n" +"Zaktualizowane zestawy ustawień:" #: src/slic3r/GUI/MainFrame.cpp:933 src/slic3r/GUI/MainFrame.cpp:937 #: src/slic3r/GUI/MainFrame.cpp:1329 @@ -765,8 +810,12 @@ msgid "AMF file exported to %s" msgstr "Plik AMF wyeksportowany do %s" #: src/slic3r/GUI/GLCanvas3D.cpp:638 -msgid "An object outside the print area was detected.\nResolve the current problem to continue slicing." -msgstr "Wykryto model poza obszarem roboczym.\nRozwiąż problem, aby kontynuować cięcie." +msgid "" +"An object outside the print area was detected.\n" +"Resolve the current problem to continue slicing." +msgstr "" +"Wykryto model poza obszarem roboczym.\n" +"Rozwiąż problem, aby kontynuować cięcie." #: src/slic3r/GUI/GLCanvas3D.cpp:633 msgid "An object outside the print area was detected." @@ -819,8 +868,12 @@ msgid "Are you sure you want to %1% the selected preset?" msgstr "Czy na pewno chcesz %1% ten zestaw ustawień?" #: src/slic3r/GUI/FirmwareDialog.cpp:902 -msgid "Are you sure you want to cancel firmware flashing?\nThis could leave your printer in an unusable state!" -msgstr "Czy na pewno chcesz przerwać flashowanie firmware?\nMoże to spowodować nieprzewidziane problemy z drukarką!" +msgid "" +"Are you sure you want to cancel firmware flashing?\n" +"This could leave your printer in an unusable state!" +msgstr "" +"Czy na pewno chcesz przerwać flashowanie firmware?\n" +"Może to spowodować nieprzewidziane problemy z drukarką!" #: src/slic3r/GUI/DoubleSlider.cpp:2122 src/slic3r/GUI/DoubleSlider.cpp:2142 msgid "Are you sure you want to continue?" @@ -1010,12 +1063,20 @@ msgid "BACK ARROW" msgstr "STRZAŁKA W TYŁ" #: src/slic3r/GUI/Tab.cpp:3727 -msgid "BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick to reset all settings for the current option group to the last saved preset." -msgstr "STRZAŁKA W TYŁ oznacza, że ustawienia zostały zmodyfikowane i nie odpowiadają tym z ostatnio zapisanego zestawu ustawień dla obecnej grupy opcji.\nKliknij, aby zresetować wszystkie ustawienia w obecnej grupie opcji do tych z ostatnio zapisanego zestawu ustawień." +msgid "" +"BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click to reset all settings for the current option group to the last saved preset." +msgstr "" +"STRZAŁKA W TYŁ oznacza, że ustawienia zostały zmodyfikowane i nie odpowiadają tym z ostatnio zapisanego zestawu ustawień dla obecnej grupy opcji.\n" +"Kliknij, aby zresetować wszystkie ustawienia w obecnej grupie opcji do tych z ostatnio zapisanego zestawu ustawień." #: src/slic3r/GUI/Tab.cpp:3741 -msgid "BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\nClick to reset current value to the last saved preset." -msgstr "STRZAŁKA W TYŁ oznacza, że ustawienia zostały zmodyfikowane i nie odpowiadają tym z ostatnio zapisanego zestawu ustawień.\nKliknij, aby zresetować wszystkie ustawienia do tych z ostatnio zapisanego zestawu ustawień." +msgid "" +"BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\n" +"Click to reset current value to the last saved preset." +msgstr "" +"STRZAŁKA W TYŁ oznacza, że ustawienia zostały zmodyfikowane i nie odpowiadają tym z ostatnio zapisanego zestawu ustawień.\n" +"Kliknij, aby zresetować wszystkie ustawienia do tych z ostatnio zapisanego zestawu ustawień." #: src/slic3r/GUI/Preferences.cpp:72 msgid "Background processing" @@ -1215,16 +1276,24 @@ msgid "buffer too small" msgstr "niewystarczający bufor" #: src/slic3r/GUI/GUI_App.cpp:1152 -msgid "But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\nSettings will be available in physical printers settings." -msgstr "Od tej wersji PrusaSlicer nie pokazujemy już tej informacji w Ustawieniach drukarki.\nUstawienia będą dostępne w ustawieniach fizycznej drukarki." +msgid "" +"But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\n" +"Settings will be available in physical printers settings." +msgstr "" +"Od tej wersji PrusaSlicer nie pokazujemy już tej informacji w Ustawieniach drukarki.\n" +"Ustawienia będą dostępne w ustawieniach fizycznej drukarki." #: src/slic3r/GUI/ButtonsDescription.cpp:16 msgid "Buttons And Text Colors Description" msgstr "Opis Przycisków i Kolorów Tekstu" #: src/slic3r/GUI/GUI_App.cpp:1084 -msgid "By default new Printer devices will be named as \"Printer N\" during its creation.\nNote: This name can be changed later from the physical printers settings" -msgstr "Domyślnie nowe drukarki będą nazywane \"Printer N\" podczas tworzenia.\nUwaga: można to zmienić później w ustawieniach fizycznych drukarki." +msgid "" +"By default new Printer devices will be named as \"Printer N\" during its creation.\n" +"Note: This name can be changed later from the physical printers settings" +msgstr "" +"Domyślnie nowe drukarki będą nazywane \"Printer N\" podczas tworzenia.\n" +"Uwaga: można to zmienić później w ustawieniach fizycznych drukarki." #: src/slic3r/GUI/PresetHints.cpp:222 msgid "by the print profile maximum" @@ -1266,16 +1335,32 @@ msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible msgstr "Nie można przeliczyć szerokości ekstruzji dla %1%: zmienna \"%2%\" jest niedostępna." #: src/slic3r/GUI/GUI_ObjectList.cpp:3400 -msgid "Cannot insert a new layer range after the current layer range.\nCurrent layer range overlaps with the next layer range." -msgstr "Nie można wstawić nowego zakresu wysokości po obecnym.\nZakres pokrywałby się z kolejnym." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"Current layer range overlaps with the next layer range." +msgstr "" +"Nie można wstawić nowego zakresu wysokości po obecnym.\n" +"Zakres pokrywałby się z kolejnym." #: src/slic3r/GUI/GUI_ObjectList.cpp:3391 -msgid "Cannot insert a new layer range after the current layer range.\nThe next layer range is too thin to be split to two\nwithout violating the minimum layer height." -msgstr "Nie można wstawić nowego zakresu wysokości po obecnym.\nKolejny zakres jest zbyt niski, aby można było go podzielić\nz powodu minimalnej grubości warstwy." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"The next layer range is too thin to be split to two\n" +"without violating the minimum layer height." +msgstr "" +"Nie można wstawić nowego zakresu wysokości po obecnym.\n" +"Kolejny zakres jest zbyt niski, aby można było go podzielić\n" +"z powodu minimalnej grubości warstwy." #: src/slic3r/GUI/GUI_ObjectList.cpp:3395 -msgid "Cannot insert a new layer range between the current and the next layer range.\nThe gap between the current layer range and the next layer range\nis thinner than the minimum layer height allowed." -msgstr "Nie można wstawić nowego zakresu wysokości pomiędzy obecne.\nOdstęp pomiędzy zakresami jest niższy \nniż dozwolona minimalna wysokość warstwy." +msgid "" +"Cannot insert a new layer range between the current and the next layer range.\n" +"The gap between the current layer range and the next layer range\n" +"is thinner than the minimum layer height allowed." +msgstr "" +"Nie można wstawić nowego zakresu wysokości pomiędzy obecne.\n" +"Odstęp pomiędzy zakresami jest niższy \n" +"niż dozwolona minimalna wysokość warstwy." #: src/slic3r/GUI/SavePresetDialog.cpp:137 msgid "Cannot overwrite a system profile." @@ -1587,6 +1672,14 @@ msgstr "Asystent Ko&nfiguracji" msgid "Configuration Assistant" msgstr "Asystent konfiguracji" +#: src/slic3r/GUI/GUI.cpp:368 +msgid "Configuration bundle was loaded, however some configuration values were not recognized." +msgstr "Wczytano paczkę konfiguracji, jednak niektóre wartości konfiguracji nie zostały rozpoznane." + +#: src/slic3r/GUI/GUI.cpp:378 +msgid "Configuration file \"%1%\" was loaded, however some configuration values were not recognized." +msgstr "Wczytano plik konfiguracyjny \"%1%\", jednak niektóre wartości konfiguracji nie zostały rozpoznane." + #: src/libslic3r/PrintConfig.cpp:1424 msgid "Configuration notes" msgstr "Notatki konfiguracyjne" @@ -1651,10 +1744,18 @@ msgstr "Połączenie z OctoPrint pomyślne." msgid "Connection to printers connected via the print host failed." msgstr "Niepowodzenie połączenia z drukarką podłączoną do serwera druku." +#: src/slic3r/Utils/OctoPrint.cpp:185 +msgid "Connection to Prusa SL1 / SL1S works correctly." +msgstr "Połączenie z Prusa SL1 / SL1S działa prawidłowo." + #: src/slic3r/Utils/OctoPrint.cpp:185 msgid "Connection to Prusa SL1 works correctly." msgstr "Połączenie z Prusa SL1 działa prawidłowo." +#: src/slic3r/Utils/OctoPrint.cpp:229 +msgid "Connection to PrusaLink works correctly." +msgstr "Połączenie z PrusaLink działa prawidłowo." + #: src/libslic3r/PrintConfig.cpp:2051 msgid "Contact Z distance" msgstr "Odstęp w osi Z" @@ -1724,16 +1825,38 @@ msgid "Copy Version Info" msgstr "Skopiuj informacje o wersji" #: src/slic3r/Utils/PresetUpdater.cpp:84 -msgid "Copying of file %1% to %2% failed.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "Niepowodzenie kopiowania pliku %1% do %2%. \nKomunikat błędu: %3%\n Kopiowanie zostało wywołane przez funkcję: %4%" +msgid "" +"Copying of file %1% to %2% failed.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"Niepowodzenie kopiowania pliku %1% do %2%. \n" +"Komunikat błędu: %3%\n" +" Kopiowanie zostało wywołane przez funkcję: %4%" #: src/slic3r/Utils/PresetUpdater.cpp:91 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file after copying.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "Niepowodzenie kopiowania pliku %1% do %2%. Błąd uprawnień pliku docelowego po skopiowaniu.\nKomunikat błędu: %3%\n Kopiowanie zostało wywołane przez funkcję: %4%" +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file after copying.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"Niepowodzenie kopiowania pliku %1% do %2%. Błąd uprawnień pliku docelowego po skopiowaniu.\n" +"Komunikat błędu: %3%\n" +" Kopiowanie zostało wywołane przez funkcję: %4%" #: src/slic3r/Utils/PresetUpdater.cpp:70 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file before copying.\nError message : %3%\nThis error happend during %4% phase." -msgstr "Niepowodzenie kopiowania pliku %1% do %2%. Błąd uprawnień pliku docelowego przed kopiowaniem.\nKomunikat błędu: %3%\n Błąd wystąpił podczas fazy: %4%" +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file before copying.\n" +"Error message : %3%\n" +"This error happend during %4% phase." +msgstr "" +"Niepowodzenie kopiowania pliku %1% do %2%. Błąd uprawnień pliku docelowego przed kopiowaniem.\n" +"Komunikat błędu: %3%\n" +" Błąd wystąpił podczas fazy: %4%" + +#: src/slic3r/Utils/PresetUpdater.cpp:65 +msgid "Copying of file %1% to %2% failed: %3%" +msgstr "Kopiowanie pliku %1% do %2% nie powiodło się: %3%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:156 msgid "Copying of the temporary G-code has finished but the exported code couldn't be opened during copy check. The output G-code is at %1%.tmp." @@ -1748,8 +1871,12 @@ msgid "Copying of the temporary G-code to the output G-code failed" msgstr "Kopiowanie tymczasowego G-code do wyjściowego nie powiodło się" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:163 -msgid "Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\nError message: %1%" -msgstr "Niepowodzenie kopiowania tymczasowego G-code do pliku wyjściowego G-code. Karta SD zabezpieczona przed zapisem? \nKod błędu: %1%" +msgid "" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\n" +"Error message: %1%" +msgstr "" +"Niepowodzenie kopiowania tymczasowego G-code do pliku wyjściowego G-code. Karta SD zabezpieczona przed zapisem? \n" +"Kod błędu: %1%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:147 msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." @@ -1800,6 +1927,10 @@ msgstr "Nie można połączyć się z OctoPrint" msgid "Could not connect to Prusa SLA" msgstr "Nie można połączyć się z Prusa SLA" +#: src/slic3r/Utils/OctoPrint.cpp:235 +msgid "Could not connect to PrusaLink" +msgstr "Nie można połączyć się z PrusaLink" + #: src/slic3r/Utils/Http.cpp:73 msgid "Could not detect system SSL certificate store. PrusaSlicer will be unable to establish secure network connections." msgstr "Nie mogę wykryć magazynu certyfikatów SSL. PrusaSlicer nie będzie w stanie nawiązać bezpiecznego połączenia z siecią." @@ -2353,8 +2484,14 @@ msgstr "Nie przestawiaj modeli przed łączeniem i zachowaj ich początkowe koor #: src/slic3r/GUI/Field.cpp:288 #, possible-c-format -msgid "Do you mean %s%% instead of %s %s?\nSelect YES if you want to change this value to %s%%, \nor NO if you are sure that %s %s is a correct value." -msgstr "Czy masz na myśli %s %% zamiast %s %s ?\nKliknij TAK, jeśli chcesz zmienić wartość na %s %%,\nlub NIE, jeśli masz pewność, że %s %s jest prawidłową wartością." +msgid "" +"Do you mean %s%% instead of %s %s?\n" +"Select YES if you want to change this value to %s%%, \n" +"or NO if you are sure that %s %s is a correct value." +msgstr "" +"Czy masz na myśli %s %% zamiast %s %s ?\n" +"Kliknij TAK, jeśli chcesz zmienić wartość na %s %%,\n" +"lub NIE, jeśli masz pewność, że %s %s jest prawidłową wartością." #: src/slic3r/GUI/DoubleSlider.cpp:2138 msgid "Do you want to delete all saved tool changes?" @@ -2388,6 +2525,10 @@ msgstr "nie zawiera prawidłowego g-code." msgid "Don't arrange" msgstr "Nie układaj" +# Don't install +msgid "Don't install" +msgstr "Nie instaluj" + #: src/slic3r/GUI/UpdateDialogs.cpp:71 msgid "Don't notify about new releases any more" msgstr "Nie powiadamiaj o nowych wersjach" @@ -3161,6 +3302,10 @@ msgstr "Warstwy przejściowe" msgid "failed finding central directory" msgstr "nie odnaleziono katalogu centralnego" +#: src/slic3r/GUI/Plater.cpp:2399 +msgid "Failed loading file \"%1%\" due to an invalid configuration." +msgstr "Niepowodzenie wczytywania pliku \"%1%\" przez nieprawidłową konfigurację." + #: src/slic3r/Utils/FixModelByWin10.cpp:235 msgid "Failed loading the input model." msgstr "Niepowodzenie ładowania modelu wejściowego." @@ -3500,7 +3645,9 @@ msgstr "przepływ osiąga wartości szczytowe" #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:555 msgid "Following printer preset(s) is duplicated:%1%The above preset for printer \"%2%\" will be used just once." -msgstr "Następujący zestaw ustawień drukarki jest zduplikowany: %1% \nPowyższy zestaw ustawień dla drukarki \"%2%\" zostanie użyty tylko raz." +msgstr "" +"Następujący zestaw ustawień drukarki jest zduplikowany: %1% \n" +"Powyższy zestaw ustawień dla drukarki \"%2%\" zostanie użyty tylko raz." #: src/slic3r/GUI/UpdateDialogs.cpp:287 msgid "For more information please visit our wiki page:" @@ -3512,11 +3659,17 @@ msgstr "Tylko dla wymuszania podpór" #. TRN Description for "WHITE BULLET" #: src/slic3r/GUI/Tab.cpp:3702 -msgid "for the left button: indicates a non-system (or non-default) preset,\nfor the right button: indicates that the settings hasn't been modified." -msgstr "dla lewego przycisku: wskazuje na niesystemowy (lub inny niż domyślny) zestaw ustawień,\ndla prawego przycisku: wskazuje, że ustawienia nie zostały zmodyfikowane." +msgid "" +"for the left button: indicates a non-system (or non-default) preset,\n" +"for the right button: indicates that the settings hasn't been modified." +msgstr "" +"dla lewego przycisku: wskazuje na niesystemowy (lub inny niż domyślny) zestaw ustawień,\n" +"dla prawego przycisku: wskazuje, że ustawienia nie zostały zmodyfikowane." #: src/slic3r/GUI/ConfigManipulation.cpp:135 -msgid "For the Wipe Tower to work with the soluble supports, the support layers\nneed to be synchronized with the object layers." +msgid "" +"For the Wipe Tower to work with the soluble supports, the support layers\n" +"need to be synchronized with the object layers." msgstr "Do działania wieży czyszczącej z podporami rozpuszczalnymi konieczna jest synchronizacja wysokości warstw modelu i podpór." #: src/libslic3r/Print.cpp:1422 @@ -3572,8 +3725,12 @@ msgid "G-code" msgstr "G-code" #: src/slic3r/GUI/DoubleSlider.cpp:1146 -msgid "G-code associated to this tick mark is in a conflict with print mode.\nEditing it will cause changes of Slider data." -msgstr "G-code powiązany z tym zaznaczeniem powoduje konflikt z obecnym trybem drukowania.\nEdytowanie go spowoduje zmianę danych suwaka." +msgid "" +"G-code associated to this tick mark is in a conflict with print mode.\n" +"Editing it will cause changes of Slider data." +msgstr "" +"G-code powiązany z tym zaznaczeniem powoduje konflikt z obecnym trybem drukowania.\n" +"Edytowanie go spowoduje zmianę danych suwaka." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:165 msgid "G-code file exported to %1%" @@ -3963,8 +4120,12 @@ msgid "Hostname, IP or URL" msgstr "Nazwa hosta, IP lub URL" #: src/slic3r/GUI/Tab.cpp:210 -msgid "Hover the cursor over buttons to find more information \nor click this button." -msgstr "Umieść kursor nad przyciskiem, aby uzyskać więcej informacji\nlub kliknij ten przycisk." +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." +msgstr "" +"Umieść kursor nad przyciskiem, aby uzyskać więcej informacji\n" +"lub kliknij ten przycisk." #: src/libslic3r/PrintConfig.cpp:2976 msgid "How far should the pad extend around the contained geometry" @@ -4030,8 +4191,12 @@ msgid "If enabled, all printing extruders will be primed at the front edge of th msgstr "Jeśli ta opcja będzie aktywna, to wszystkie ekstrudery będą czyszczone na przedniej krawędzi stołu na początku wydruku." #: src/slic3r/GUI/ConfigWizard.cpp:1164 -msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\nIf not enabled, the Reload from disk command will ask to select each file using an open file dialog." -msgstr "Jeśli włączone, pozwala poleceniu \"Wczytaj ponownie z dysku\" automatycznie odnaleźć i wczytać pliki.\nJeśli wyłączone, to polecenie będzie otwierać okno dialogowe, w którym wskażesz plik źródłowy." +msgid "" +"If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\n" +"If not enabled, the Reload from disk command will ask to select each file using an open file dialog." +msgstr "" +"Jeśli włączone, pozwala poleceniu \"Wczytaj ponownie z dysku\" automatycznie odnaleźć i wczytać pliki.\n" +"Jeśli wyłączone, to polecenie będzie otwierać okno dialogowe, w którym wskażesz plik źródłowy." #: src/slic3r/GUI/Preferences.cpp:91 msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked." @@ -4039,7 +4204,9 @@ msgstr "Jeśli włączone, pozwala poleceniu Wczytaj ponownie z dysku automatycz #: src/slic3r/GUI/Preferences.cpp:238 msgid "If enabled, changes made using the sequential slider, in preview, apply only to gcode top layer. If disabled, changes made using the sequential slider, in preview, apply to the whole gcode." -msgstr "Jeśli włączone, zmiany stosowane suwakiem sekwencyjnym w podglądzie zostaną zastosowane do górnej warstwy G-code.\nJeśli wyłączone, zmiany stosowane suwakiem sekwencyjnym w podglądzie zostaną zastosowane do całego G-code." +msgstr "" +"Jeśli włączone, zmiany stosowane suwakiem sekwencyjnym w podglądzie zostaną zastosowane do górnej warstwy G-code.\n" +"Jeśli wyłączone, zmiany stosowane suwakiem sekwencyjnym w podglądzie zostaną zastosowane do całego G-code." #: src/slic3r/GUI/Preferences.cpp:83 msgid "If enabled, PrusaSlicer will check for the new versions of itself online. When a new version becomes available a notification is displayed at the next application startup (never during program usage). This is only a notification mechanisms, no automatic installation is done." @@ -4238,6 +4405,10 @@ msgstr "Niepowodzenie importu naprawionego pliku 3MF" msgid "Import profile only" msgstr "Import tylko profilu" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Import SL1 / SL1S archive" +msgstr "Import archiwum SL1 / SL1S" + #: src/slic3r/GUI/MainFrame.cpp:1050 msgid "Import SL1 archive" msgstr "Import archiwum SL1" @@ -4309,8 +4480,12 @@ msgstr "Zmniejsz/zwiększ obszar edycji" #. TRN Description for "UNLOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3695 -msgid "indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." -msgstr "oznacza, że niektóre ustawienia zostały zmodyfikowane i nie odpowiadają wartościom systemowym (lub domyślnym) w obecnej grupie opcji.\nKliknij ikonę OTWARTEJ KŁÓDKI, aby zresetować wszystkie ustawienia obecnej grupy ustawień do wartości systemowych (lub domyślnych)." +msgid "" +"indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." +msgstr "" +"oznacza, że niektóre ustawienia zostały zmodyfikowane i nie odpowiadają wartościom systemowym (lub domyślnym) w obecnej grupie opcji.\n" +"Kliknij ikonę OTWARTEJ KŁÓDKI, aby zresetować wszystkie ustawienia obecnej grupy ustawień do wartości systemowych (lub domyślnych)." #. TRN Description for "LOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3691 @@ -4319,8 +4494,12 @@ msgstr "wskazuje na to, że ustawienia są takie same jak systemowe (lub domyśl #. TRN Description for "BACK ARROW" #: src/slic3r/GUI/Tab.cpp:3707 -msgid "indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick the BACK ARROW icon to reset all settings for the current option group to the last saved preset." -msgstr "oznacza, że ustawienia zostały zmodyfikowane i nie odpowiadają tym z ostatnio zapisanego zestawu ustawień dla obecnej grupy opcji.\nKliknij ikonę STRZAŁKI W TYŁ, aby zresetować wszystkie ustawienia w obecnej grupie opcji do tych z ostatnio zapisanego zestawu ustawień." +msgid "" +"indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click the BACK ARROW icon to reset all settings for the current option group to the last saved preset." +msgstr "" +"oznacza, że ustawienia zostały zmodyfikowane i nie odpowiadają tym z ostatnio zapisanego zestawu ustawień dla obecnej grupy opcji.\n" +"Kliknij ikonę STRZAŁKI W TYŁ, aby zresetować wszystkie ustawienia w obecnej grupie opcji do tych z ostatnio zapisanego zestawu ustawień." #: src/slic3r/GUI/ConfigManipulation.cpp:210 #: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 @@ -4383,8 +4562,12 @@ msgstr "Wysokość pierwszej warstwy" #: src/slic3r/GUI/Field.cpp:269 #, possible-c-format -msgid "Input value is out of range\nAre you sure that %s is a correct value and that you want to continue?" -msgstr "Wprowadzona wartość jest poza zakresem.\nCzy na pewno %s to poprawna wartość i chcesz kontynuować?" +msgid "" +"Input value is out of range\n" +"Are you sure that %s is a correct value and that you want to continue?" +msgstr "" +"Wprowadzona wartość jest poza zakresem.\n" +"Czy na pewno %s to poprawna wartość i chcesz kontynuować?" #: src/slic3r/GUI/Field.cpp:252 src/slic3r/GUI/Field.cpp:1370 msgid "Input value is out of range" @@ -4398,6 +4581,10 @@ msgstr "Sprawdzenie / aktywacja zrzutów konfiguracji" msgid "install" msgstr "instalacja" +#: src/slic3r/GUI/UpdateDialogs.cpp:136 +msgid "Install" +msgstr "Instaluj" + #: src/slic3r/GUI/ObjectDataViewModel.cpp:62 #: src/slic3r/GUI/ObjectDataViewModel.cpp:218 #, possible-c-format @@ -4552,13 +4739,23 @@ msgstr "Przejdź do wysokości" #: src/slic3r/GUI/DoubleSlider.cpp:1223 #, possible-c-format -msgid "Jump to height %s\nor Set ruler mode" -msgstr "Przejdź na wysokość %s \nlub ustaw tryb linijki" +msgid "" +"Jump to height %s\n" +"or Set ruler mode" +msgstr "" +"Przejdź na wysokość %s \n" +"lub ustaw tryb linijki" #: src/slic3r/GUI/DoubleSlider.cpp:1220 #, possible-c-format -msgid "Jump to height %s\nSet ruler mode\nor Set extruder sequence for the entire print" -msgstr "Przejdź na wysokość %s \nUstaw tryb linijki\nlub ustaw sekwencję ekstrudera dla całego wydruku" +msgid "" +"Jump to height %s\n" +"Set ruler mode\n" +"or Set extruder sequence for the entire print" +msgstr "" +"Przejdź na wysokość %s \n" +"Ustaw tryb linijki\n" +"lub ustaw sekwencję ekstrudera dla całego wydruku" #: src/slic3r/GUI/DoubleSlider.cpp:1071 src/slic3r/GUI/DoubleSlider.cpp:1852 msgid "Jump to move" @@ -4756,6 +4953,10 @@ msgstr "Wczytaj model" msgid "Load an model saved with imperial units" msgstr "Wczytaj model zapisany w jednostkach imperialnych" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Load an SL1 / Sl1S archive" +msgstr "Wczytaj archiwum SL1 / SL1S" + #: src/slic3r/GUI/MainFrame.cpp:1058 msgid "Load an SL1 archive" msgstr "Wczytaj archiwum SL1" @@ -5494,6 +5695,10 @@ msgstr "Monotoniczny" msgid "More" msgstr "Więcej" +#: src/slic3r/GUI/GUI.cpp:339 +msgid "Most likely the configuration was produced by a newer version of PrusaSlicer or by some PrusaSlicer fork." +msgstr "Najprawdopodobniej konfiguracja została wygenerowana przez nowszą wersję PrusaSlicer lub przez jakiś fork PrusaSlicer." + #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 msgid "Mouse wheel" msgstr "Kółko myszy" @@ -5604,8 +5809,13 @@ msgid "Multiple Extruders" msgstr "Kilka ekstruderów" #: src/slic3r/GUI/Plater.cpp:2372 -msgid "Multiple objects were loaded for a multi-material printer.\nInstead of considering them as multiple objects, should I consider\nthese files to represent a single object having multiple parts?" -msgstr "Kilka obiektów zostało załadowanych dla drukarki typu multi-material.\nTraktować je jako jeden model zawierający kilka części?" +msgid "" +"Multiple objects were loaded for a multi-material printer.\n" +"Instead of considering them as multiple objects, should I consider\n" +"these files to represent a single object having multiple parts?" +msgstr "" +"Kilka obiektów zostało załadowanych dla drukarki typu multi-material.\n" +"Traktować je jako jeden model zawierający kilka części?" #: src/libslic3r/PrintConfig.cpp:3638 msgid "Multiply copies by creating a grid." @@ -5661,6 +5871,10 @@ msgstr "Nowy Projekt" msgid "New project, clear plater" msgstr "Nowy projekt, wyczyść stół" +#: src/slic3r/GUI/GUI.cpp:304 +msgid "new unknown value %1% was changed to default value %2%" +msgstr "nowa nieznana wartość %1% została zamieniona na domyślną %2%" + #: src/slic3r/GUI/UnsavedChangesDialog.cpp:609 msgid "New Value" msgstr "Nowa wartość" @@ -5748,6 +5962,10 @@ msgstr "Nie znaleziono:" msgid "Note" msgstr "Uwaga" +#: src/slic3r/GUI/MsgDialog.cpp:114 +msgid "Note that" +msgstr "Weź pod uwagę, że " + #: src/slic3r/GUI/Tab.cpp:3408 msgid "Note, that selected preset will be deleted from this/those printer(s) too." msgstr "Zwróć uwagę, że wybrany zestaw ustawień zostanie również usunięty z tej drukarki (lub tych drukarek)." @@ -5757,8 +5975,14 @@ msgid "Note, that this/those printer(s) will be deleted after deleting of the se msgstr "Zwróć uwagę, że usunięcie wybranego zestawu ustawień spowoduje również usunięcie tej drukarki (lub drukarek)." #: src/slic3r/GUI/Tab.cpp:2039 -msgid "Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n\nA new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." -msgstr "Uwaga: wszystkie parametry z tej grupy zostały przeniesione do ustawień fizycznej drukarki (szczegóły na liście zmian).\n\nNowy profil fizycznej drukarki tworzysz klikając ikonkę \"koła zębatego\" na liście rozwijanej z profilami drukarek lub wybierając \"Dodaj fizyczną drukarkę\" na tej samej liście. Edytor profilu fizycznej drukarki pojawi się również po kliknięciu na ikonkę \"koła zębatego\" w zakładce \"Ustawienia drukarki\". Profile fizycznych drukarek są przechowywane w katalogu PrusaSlicer/physical_printer." +msgid "" +"Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n" +"\n" +"A new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." +msgstr "" +"Uwaga: wszystkie parametry z tej grupy zostały przeniesione do ustawień fizycznej drukarki (szczegóły na liście zmian).\n" +"\n" +"Nowy profil fizycznej drukarki tworzysz klikając ikonkę \"koła zębatego\" na liście rozwijanej z profilami drukarek lub wybierając \"Dodaj fizyczną drukarkę\" na tej samej liście. Edytor profilu fizycznej drukarki pojawi się również po kliknięciu na ikonkę \"koła zębatego\" w zakładce \"Ustawienia drukarki\". Profile fizycznych drukarek są przechowywane w katalogu PrusaSlicer/physical_printer." #: src/slic3r/Utils/AstroBox.cpp:92 msgid "Note: AstroBox version at least 1.1.0 is required." @@ -6082,6 +6306,10 @@ msgstr "Otwórz stronę Prusa3D ze sterownikami w przeglądarce" msgid "Open the software releases page in your browser" msgstr "Otwórz stronę z wersjami oprogramowania w przeglądarce" +#: src/slic3r/GUI/UpdateDialogs.cpp:89 +msgid "Opening Configuration Wizard" +msgstr "Otwieranie Asystenta Konfiguracji" + #: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:220 src/slic3r/GUI/Plater.cpp:3961 msgid "Optimize orientation" msgstr "Optymalizuj orientację" @@ -6371,6 +6599,10 @@ msgstr "Drukarki fizyczne" msgid "Pick another vendor supported by %s" msgstr "Wybierz innego producenta obsługiwanego przez %s" +#: src/libslic3r/PrintConfig.cpp:67 +msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" +msgstr "Rozmiary grafik przechowywanych w plikach .gcode i .sl1 / .sl1s, w formacie: \"XxY, XxY, ...\"" + #: src/libslic3r/PrintConfig.cpp:67 msgid "Picture sizes to be stored into a .gcode and .sl1 files, in the following format: \"XxY, XxY, ...\"" msgstr "Rozmiary grafik przechowywanych w plikach .gcode i .sl1, w formacie: \"XxY, XxY, ...\"" @@ -6421,6 +6653,10 @@ msgstr "Sprawdź i popraw listę modeli." msgid "Please check your object list before preset changing." msgstr "Sprawdź listę modeli przed zmianą zestawu ustawień." +#: src/slic3r/GUI/GUI.cpp:341 +msgid "Please review the substitutions and adjust them if needed." +msgstr "Przejrzyj zmiany i dostosuj, jeśli to konieczne." + #: src/slic3r/GUI/Plater.cpp:3089 msgid "Please select the file to reload" msgstr "Wybierz plik do przeładowania" @@ -6521,15 +6757,23 @@ msgid "Press to activate selection rectangle" msgstr "Naciśnij, aby aktywować prostokąt zaznaczający" #: src/slic3r/GUI/KBShortcutsDialog.cpp:155 -msgid "Press to select multiple objects\nor move multiple objects with mouse" -msgstr "Kliknij, aby wybrać wiele modeli\nlub przesunąć je przy pomocy myszy" +msgid "" +"Press to select multiple objects\n" +"or move multiple objects with mouse" +msgstr "" +"Kliknij, aby wybrać wiele modeli\n" +"lub przesunąć je przy pomocy myszy" #: src/slic3r/GUI/KBShortcutsDialog.cpp:221 #: src/slic3r/GUI/KBShortcutsDialog.cpp:222 #: src/slic3r/GUI/KBShortcutsDialog.cpp:231 #: src/slic3r/GUI/KBShortcutsDialog.cpp:232 -msgid "Press to speed up 5 times while moving thumb\nwith arrow keys or mouse wheel" -msgstr "Naciśnij, aby przyspieszyć suwak 5-krotnie\npodczas ruchu strzałkami lub kółkiem myszy" +msgid "" +"Press to speed up 5 times while moving thumb\n" +"with arrow keys or mouse wheel" +msgstr "" +"Naciśnij, aby przyspieszyć suwak 5-krotnie\n" +"podczas ruchu strzałkami lub kółkiem myszy" #: src/slic3r/GUI/KBShortcutsDialog.cpp:212 src/slic3r/GUI/Plater.cpp:4052 #: src/slic3r/GUI/Tab.cpp:2559 @@ -6731,8 +6975,14 @@ msgid "PrusaSlicer GUI initialization failed" msgstr "Niepowodzenie inicjalizacji PrusaSlicer GUI" #: src/slic3r/GUI/GUI_App.cpp:586 -msgid "PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n\nThe application will now terminate." -msgstr "PrusaSlicer napotkał błąd związany z tłumaczeniem tekstów. Skontaktuj się z zespołem odpowiedzialnym za rozwój PrusaSlicer i podaj język, który był włączony, gdy wystąpił błąd. Dziękujemy.\n\nAplikacja zostanie zamknięta." +msgid "" +"PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n" +"\n" +"The application will now terminate." +msgstr "" +"PrusaSlicer napotkał błąd związany z tłumaczeniem tekstów. Skontaktuj się z zespołem odpowiedzialnym za rozwój PrusaSlicer i podaj język, który był włączony, gdy wystąpił błąd. Dziękujemy.\n" +"\n" +"Aplikacja zostanie zamknięta." #: src/slic3r/GUI/AboutDialog.cpp:285 msgid "PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community." @@ -6742,10 +6992,22 @@ msgstr "PrusaSlicer bazuje na projekcie Slic3r autorstwa Alessandro Ranelluccieg msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "Zamykanie PrusaSlicer: niezapisane zmiany" +#: src/slic3r/GUI/UpdateDialogs.cpp:90 +msgid "" +"PrusaSlicer is not using the newest configuration available.\n" +"Configuration Wizard may not offer the latest printers, filaments and SLA materials to be installed. " +msgstr "" +"PrusaSlicer nie używa najnowszej dostępnej konfiguracji.\n" +"Asystent Konfiguracji może nie zawierać wszystkich najnowszych profili drukarek, filamentów oraz materiałów SLA." + #: src/slic3r/GUI/OpenGLManager.cpp:259 #, possible-c-format -msgid "PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \nwhile OpenGL version %s, render %s, vendor %s was detected." -msgstr "PrusaSlicer wymaga karty graficznej kompatybilnej z OpenGL 2.0, aby działać prawidłowo.\nwykryto OpenGL w wersji %s, render %s, producent %s ." +msgid "" +"PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" +"while OpenGL version %s, render %s, vendor %s was detected." +msgstr "" +"PrusaSlicer wymaga karty graficznej kompatybilnej z OpenGL 2.0, aby działać prawidłowo.\n" +"wykryto OpenGL w wersji %s, render %s, producent %s ." #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 msgid "PrusaSlicer version" @@ -6756,8 +7018,14 @@ msgid "PrusaSlicer will remember your action." msgstr "PrusaSlicer zapamięta tą czynność." #: src/slic3r/GUI/ConfigWizard.cpp:1174 -msgid "PrusaSlicer's user interfaces comes in three variants:\nSimple, Advanced, and Expert.\nThe Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." -msgstr "Interfejs PrusaSlicer ma trzy warianty do wyboru:\nProsty, Zaawansowany i Ekspercki.\nTryb Prosty wyświetla tylko najczęściej używane ustawienia potrzebne w codziennym druku 3D. Pozostałe dwa oferują coraz większe możliwości konfiguracji i są przeznaczone odpowiednio dla użytkowników zaawansowanych i ekspertów." +msgid "" +"PrusaSlicer's user interfaces comes in three variants:\n" +"Simple, Advanced, and Expert.\n" +"The Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." +msgstr "" +"Interfejs PrusaSlicer ma trzy warianty do wyboru:\n" +"Prosty, Zaawansowany i Ekspercki.\n" +"Tryb Prosty wyświetla tylko najczęściej używane ustawienia potrzebne w codziennym druku 3D. Pozostałe dwa oferują coraz większe możliwości konfiguracji i są przeznaczone odpowiednio dla użytkowników zaawansowanych i ekspertów." #: src/slic3r/GUI/UnsavedChangesDialog.cpp:668 msgid "PrusaSlicer: Don't ask me again" @@ -6841,8 +7109,14 @@ msgid "Ramming customization" msgstr "Dostosowywanie wyciskania" #: src/slic3r/GUI/WipeTowerDialog.cpp:41 -msgid "Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n\nThis is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." -msgstr "Wyciskanie oznacza szybką ekstruzję bezpośrednio przed zmianą narzędzia w drukarce typu MultiMaterial z jednym ekstruderem (narzędzie w tym przypadku oznacza filament). Jego zadaniem jest odpowiednie ukształtowanie końcówki rozładowywanego filamentu, aby jego ponowne załadowanie mogło odbyć się bez przeszkód. Ta faza procesu zmiany filamentu jest bardzo ważna, a różne filamenty mogą potrzebować różnej prędkości wyciskania aby uzyskać odpowiedni kształt końcówki. Z tego powodu można edytować jego parametry.\n\nTo jest ustawienie dla zaawansowanych użytkowników. Nieprawidłowe wartości mogą powodować blokady, ścieranie filamentu przez radełko itp." +msgid "" +"Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n" +"\n" +"This is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." +msgstr "" +"Wyciskanie oznacza szybką ekstruzję bezpośrednio przed zmianą narzędzia w drukarce typu MultiMaterial z jednym ekstruderem (narzędzie w tym przypadku oznacza filament). Jego zadaniem jest odpowiednie ukształtowanie końcówki rozładowywanego filamentu, aby jego ponowne załadowanie mogło odbyć się bez przeszkód. Ta faza procesu zmiany filamentu jest bardzo ważna, a różne filamenty mogą potrzebować różnej prędkości wyciskania aby uzyskać odpowiedni kształt końcówki. Z tego powodu można edytować jego parametry.\n" +"\n" +"To jest ustawienie dla zaawansowanych użytkowników. Nieprawidłowe wartości mogą powodować blokady, ścieranie filamentu przez radełko itp." #: src/slic3r/GUI/WipeTowerDialog.cpp:91 msgid "Ramming line spacing" @@ -7471,6 +7745,10 @@ msgstr "Zapisz Projekt (3mf)" msgid "Save project as (3mf)" msgstr "Zapisz Projekt jako (3mf)" +#: src/slic3r/GUI/Plater.cpp:5337 +msgid "Save SL1 / SL1S file as:" +msgstr "Zapisz plik SL1 / SL1S jako:" + #: src/slic3r/GUI/Plater.cpp:4975 msgid "Save SL1 file as:" msgstr "Zapisz plik SL1 jako:" @@ -7675,8 +7953,14 @@ msgid "Select what kind of support do you need" msgstr "Wybierz rodzaj potrzebnych podpór" #: src/slic3r/GUI/DoubleSlider.cpp:2135 -msgid "Select YES if you want to delete all saved tool changes, \nNO if you want all tool changes switch to color changes, \nor CANCEL to leave it unchanged." -msgstr "Wybierz TAK, jeśli chcesz usunąć wszystkie zapisane zmiany narzędzi,\nNIE, jeśli chcesz przełączyć zmiany narzędzi na zmiany koloru lub\nANULUJ, aby pozostawić bez zmian." +msgid "" +"Select YES if you want to delete all saved tool changes, \n" +"NO if you want all tool changes switch to color changes, \n" +"or CANCEL to leave it unchanged." +msgstr "" +"Wybierz TAK, jeśli chcesz usunąć wszystkie zapisane zmiany narzędzi,\n" +"NIE, jeśli chcesz przełączyć zmiany narzędzi na zmiany koloru lub\n" +"ANULUJ, aby pozostawić bez zmian." #: src/slic3r/GUI/Selection.cpp:191 msgid "Selection-Add" @@ -7921,8 +8205,12 @@ msgid "Set upper thumb to current slider thumb" msgstr "Przysuń górny punkt suwaka do obecnego" #: src/libslic3r/PrintConfig.cpp:3714 -msgid "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\nFor example. loglevel=2 logs fatal, error and warning level messages." -msgstr "Ustawia czułość logowania. 0:krytyczne, 1:błędy, 2:ostrzeżenia, 3:info, 4:debug, 5:trace\nNp: loglevel=2 loguje krytyczne, błędy i ostrzeżenia." +msgid "" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +"For example. loglevel=2 logs fatal, error and warning level messages." +msgstr "" +"Ustawia czułość logowania. 0:krytyczne, 1:błędy, 2:ostrzeżenia, 3:info, 4:debug, 5:trace\n" +"Np: loglevel=2 loguje krytyczne, błędy i ostrzeżenia." #: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1969 msgid "Settings" @@ -8148,8 +8436,14 @@ msgid "Single Extruder Multi Material" msgstr "Multi Material z jednym ekstruderem" #: src/slic3r/GUI/Tab.cpp:2101 -msgid "Single Extruder Multi Material is selected, \nand all extruders must have the same diameter.\nDo you want to change the diameter for all extruders to first extruder nozzle diameter value?" -msgstr "Wybrano Multi Material z jednym ekstruderem,\nwięc wszystkie ekstrudery muszą mieć taką samą średnicę dyszy.\nCzy chcesz zmienić średnicę dyszy dla wszystkich ekstruderów na wartość z pierwszego?" +msgid "" +"Single Extruder Multi Material is selected, \n" +"and all extruders must have the same diameter.\n" +"Do you want to change the diameter for all extruders to first extruder nozzle diameter value?" +msgstr "" +"Wybrano Multi Material z jednym ekstruderem,\n" +"więc wszystkie ekstrudery muszą mieć taką samą średnicę dyszy.\n" +"Czy chcesz zmienić średnicę dyszy dla wszystkich ekstruderów na wartość z pierwszego?" #: src/slic3r/GUI/Tab.cpp:2476 msgid "Single extruder multimaterial parameters" @@ -8414,8 +8708,12 @@ msgstr "Niektóre komendy kodu G/M, wliczając kontrolę temperatury i inne, nie #: src/slic3r/GUI/Plater.cpp:2309 #, possible-c-format -msgid "Some object(s) in file %s looks like saved in inches.\nShould I consider them as a saved in inches and convert them?" -msgstr "Niektóre modele w pliku %s wyglądają, jak zapisane w calach.\nCzy traktować je jako zapisane w calach i przekonwertować?" +msgid "" +"Some object(s) in file %s looks like saved in inches.\n" +"Should I consider them as a saved in inches and convert them?" +msgstr "" +"Niektóre modele w pliku %s wyglądają, jak zapisane w calach.\n" +"Czy traktować je jako zapisane w calach i przekonwertować?" #: src/slic3r/GUI/GLCanvas3D.cpp:636 msgid "Some objects are not visible." @@ -8624,8 +8922,30 @@ msgid "Start the application" msgstr "Uruchom aplikację" #: src/slic3r/GUI/GUI_App.cpp:386 -msgid "Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n%2%.\n\nThis directory did not exist yet (maybe you run the new version for the first time).\nHowever, an old %1% configuration directory was detected in \n%3%.\n\nConsider moving the contents of the old directory to the new location in order to access your profiles, etc.\nNote that if you decide to downgrade %1% in future, it will use the old location again.\n\nWhat do you want to do now?" -msgstr "Zaczynając od %1% 2.3, konfiguracje na Linuxie zostały przeniesione (zgodnie ze specyfikacją XDG Base Directory) do\n%2%.\n\nTen katalog jeszcze nie istnieje (powodem może być pierwsze uruchomienie nowej wersji).\nJednak poprzedni katalog konfiguracji %1% został wykryty w\n%3%.\n\nRozważ przeniesienie zawartości poprzedniego katalogu do nowej lokalizacji, aby mieć dostęp do swoich profili itd.\nWeź pod uwagę, że jeśli zdecyduje się w przyszłości zainstalować starszą wersję %1%, z powrotem zostanie użyty poprzedni katalog.\n\nCzy chcesz to teraz zrobić?" +msgid "" +"Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n" +"%2%.\n" +"\n" +"This directory did not exist yet (maybe you run the new version for the first time).\n" +"However, an old %1% configuration directory was detected in \n" +"%3%.\n" +"\n" +"Consider moving the contents of the old directory to the new location in order to access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old location again.\n" +"\n" +"What do you want to do now?" +msgstr "" +"Zaczynając od %1% 2.3, konfiguracje na Linuxie zostały przeniesione (zgodnie ze specyfikacją XDG Base Directory) do\n" +"%2%.\n" +"\n" +"Ten katalog jeszcze nie istnieje (powodem może być pierwsze uruchomienie nowej wersji).\n" +"Jednak poprzedni katalog konfiguracji %1% został wykryty w\n" +"%3%.\n" +"\n" +"Rozważ przeniesienie zawartości poprzedniego katalogu do nowej lokalizacji, aby mieć dostęp do swoich profili itd.\n" +"Weź pod uwagę, że jeśli zdecyduje się w przyszłości zainstalować starszą wersję %1%, z powrotem zostanie użyty poprzedni katalog.\n" +"\n" +"Czy chcesz to teraz zrobić?" #: src/slic3r/GUI/PrintHostDialogs.cpp:149 msgid "Status" @@ -8793,8 +9113,12 @@ msgid "Supports stealth mode" msgstr "Wspiera tryb Stealth" #: src/slic3r/GUI/ConfigManipulation.cpp:158 -msgid "Supports work better, if the following feature is enabled:\n- Detect bridging perimeters" -msgstr "Podpory działają lepiej, jeśli włączone jest poniższe ustawienie:\n- Wykrywanie mostów przy obrysach" +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters" +msgstr "" +"Podpory działają lepiej, jeśli włączone jest poniższe ustawienie:\n" +"- Wykrywanie mostów przy obrysach" #: src/slic3r/GUI/Preferences.cpp:104 msgid "Suppress \" - default - \" presets" @@ -8854,11 +9178,18 @@ msgid "Switching Presets: Unsaved Changes" msgstr "Przełączanie zestawu ustawień: niezapisane zmiany" #: src/slic3r/GUI/GUI_App.cpp:1608 -msgid "Switching the language will trigger application restart.\nYou will lose content of the plater." -msgstr "Zmiana języka spowoduje zrestartowanie aplikacji.\nZawartość stołu zostanie wyczyszczona." +msgid "" +"Switching the language will trigger application restart.\n" +"You will lose content of the plater." +msgstr "" +"Zmiana języka spowoduje zrestartowanie aplikacji.\n" +"Zawartość stołu zostanie wyczyszczona." #: src/slic3r/GUI/WipeTowerDialog.cpp:365 -msgid "Switching to simple settings will discard changes done in the advanced mode!\n\nDo you want to proceed?" +msgid "" +"Switching to simple settings will discard changes done in the advanced mode!\n" +"\n" +"Do you want to proceed?" msgstr "Włączenie trybu prostego spowoduje odrzucenie zmian wprowadzonych w trybie zaawansowanym! Czy chcesz kontynować?" #: src/slic3r/GUI/Tab.cpp:1332 @@ -8937,16 +9268,25 @@ msgstr "Nie znaleziono urządzenia %s" #: src/slic3r/GUI/FirmwareDialog.cpp:436 #, possible-c-format -msgid "The %s device was not found.\nIf the device is connected, please press the Reset button next to the USB connector ..." -msgstr "Nie znaleziono urządzenia %s .\nJeśli urządzenie jest podłączone, to naciśnij przycisk Reset obok złącza USB ..." +msgid "" +"The %s device was not found.\n" +"If the device is connected, please press the Reset button next to the USB connector ..." +msgstr "" +"Nie znaleziono urządzenia %s .\n" +"Jeśli urządzenie jest podłączone, to naciśnij przycisk Reset obok złącza USB ..." #: src/slic3r/GUI/Tab.cpp:1238 msgid "The current custom preset will be detached from the parent system preset." msgstr "Obecny niestandardowy zestaw ustawień zostanie odłączony od dziedziczącego zestawu systemowego." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:925 -msgid "The currently manipulated object is tilted (rotation angles are not multiples of 90°).\nNon-uniform scaling of tilted objects is only possible in the World coordinate system,\nonce the rotation is embedded into the object coordinates." -msgstr "Obecnie przekształcany model jest przechylony (kąty obrotu nie są wielokrotnością 90°).\nNierównomierne skalowanie przechylonych modeli jest możliwe tylko w globalnym systemie koordynat, po osadzeniu kątów obrotu w koordynatach modelu." +msgid "" +"The currently manipulated object is tilted (rotation angles are not multiples of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate system,\n" +"once the rotation is embedded into the object coordinates." +msgstr "" +"Obecnie przekształcany model jest przechylony (kąty obrotu nie są wielokrotnością 90°).\n" +"Nierównomierne skalowanie przechylonych modeli jest możliwe tylko w globalnym systemie koordynat, po osadzeniu kątów obrotu w koordynatach modelu." #: src/libslic3r/PrintConfig.cpp:2890 msgid "The default angle for connecting support sticks and junctions." @@ -9030,6 +9370,10 @@ msgstr "Następujące modele drukarek SLA nie mają przypisanych materiałów:" msgid "the following suffix is not allowed:" msgstr "następujący sufiks nie jest dozwolony:" +#: src/slic3r/GUI/GUI.cpp:340 +msgid "The following values were substituted:" +msgstr "Następujące wartości zostały zamienione:" + #: src/libslic3r/PrintConfig.cpp:3035 msgid "The gap between the object bottom and the generated pad in zero elevation mode." msgstr "Odstęp między najniższą częścią modelu a wygenerowaną podkładką w trybie zerowego podniesienia." @@ -9103,8 +9447,14 @@ msgid "The percentage of smaller pillars compared to the normal pillar diameter msgstr "Udział procentowy mniejszych słupków w stosunku do normalnych w problematycznych obszarach, gdzie normalne słupki nie mieszczą się." #: src/libslic3r/PrintConfig.cpp:2567 -msgid "The percentage of the bed area. \nIf the print area exceeds the specified value, \nthen a slow tilt will be used, otherwise - a fast tilt" -msgstr "Procentowa powierzchnia stołu.\nJeśli gabaryty wydruku przekraczają zadaną wartość,\nto zostanie użyte wolne przechylanie, w innym przypadku - szybkie" +msgid "" +"The percentage of the bed area. \n" +"If the print area exceeds the specified value, \n" +"then a slow tilt will be used, otherwise - a fast tilt" +msgstr "" +"Procentowa powierzchnia stołu.\n" +"Jeśli gabaryty wydruku przekraczają zadaną wartość,\n" +"to zostanie użyte wolne przechylanie, w innym przypadku - szybkie" #: src/slic3r/GUI/Tab.cpp:3430 msgid "The physical printer(s) below is based on the preset, you are going to delete." @@ -9151,12 +9501,22 @@ msgid "The selected object couldn't be split because it contains only one part." msgstr "Wybrany model nie może być rozdzielony ponieważ zawiera tylko jedną część." #: src/slic3r/GUI/MainFrame.cpp:1003 -msgid "The selected project is no longer available.\nDo you want to remove it from the recent projects list?" -msgstr "Wybrany obiekt nie jest już dostępny.\nCzy chcesz usunąć go z listy niedawno używanych projektów?" +msgid "" +"The selected project is no longer available.\n" +"Do you want to remove it from the recent projects list?" +msgstr "" +"Wybrany obiekt nie jest już dostępny.\n" +"Czy chcesz usunąć go z listy niedawno używanych projektów?" #: src/slic3r/GUI/DoubleSlider.cpp:1121 -msgid "The sequential print is on.\nIt's impossible to apply any custom G-code for objects printing sequentually.\nThis code won't be processed during G-code generation." -msgstr "Druk sekwencyjny jest włączony.\nNiemożliwe jest dodawanie własnego G-code do modeli drukowanych sekwencyjnie.\nTen kod nie będzie przetwarzany podczas generowania pliku G-code." +msgid "" +"The sequential print is on.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Druk sekwencyjny jest włączony.\n" +"Niemożliwe jest dodawanie własnego G-code do modeli drukowanych sekwencyjnie.\n" +"Ten kod nie będzie przetwarzany podczas generowania pliku G-code." #: src/slic3r/GUI/ConfigWizard.cpp:1187 msgid "The size of the object can be specified in inches" @@ -9176,8 +9536,22 @@ msgstr "Prędkość retrakcji (stosowana tylko dla silnika ekstrudera)." #: src/slic3r/GUI/ConfigManipulation.cpp:80 #, possible-c-format -msgid "The Spiral Vase mode requires:\n- one perimeter\n- no top solid layers\n- 0% fill density\n- no support material\n- Ensure vertical shell thickness enabled\n- Detect thin walls disabled" -msgstr "Wymagania trybu wazy:\n- jeden obrys\n- brak górnych warstw\n- 0% wypełnienia\n- brak materiału podporowego\n- wyłączone ustawienie \"Zagwarantuj grubość ścianki\"\n- wyłączone wykrywanie cienkich ścian" +msgid "" +"The Spiral Vase mode requires:\n" +"- one perimeter\n" +"- no top solid layers\n" +"- 0% fill density\n" +"- no support material\n" +"- Ensure vertical shell thickness enabled\n" +"- Detect thin walls disabled" +msgstr "" +"Wymagania trybu wazy:\n" +"- jeden obrys\n" +"- brak górnych warstw\n" +"- 0% wypełnienia\n" +"- brak materiału podporowego\n" +"- wyłączone ustawienie \"Zagwarantuj grubość ścianki\"\n" +"- wyłączone wykrywanie cienkich ścian" #: src/libslic3r/Print.cpp:1270 msgid "The Spiral Vase option can only be used when printing single material objects." @@ -9215,15 +9589,24 @@ msgid "The vertical distance between object and support material interface. Sett msgstr "Dystans w pionie między modelem a warstwą łączącą materiału podporowego. Ustawienie na 0 wyłączy ustawienie mostu (prędkości i przepływu) dla pierwszej warstwy modelu nad warstwą łączącą." #: src/slic3r/GUI/Tab.cpp:2731 -msgid "The Wipe option is not available when using the Firmware Retraction mode.\n\nShall I disable it in order to enable Firmware Retraction?" -msgstr "Opcja czyszczenia dyszy nie jest dostępna z funkcją retrakcji w firmware (Firmware Retraction).\n\nWyłączyć ją, aby włączyć Firmware Retraction?" +msgid "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Shall I disable it in order to enable Firmware Retraction?" +msgstr "" +"Opcja czyszczenia dyszy nie jest dostępna z funkcją retrakcji w firmware (Firmware Retraction).\n" +"\n" +"Wyłączyć ją, aby włączyć Firmware Retraction?" #: src/libslic3r/Print.cpp:1294 msgid "The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." msgstr "Wieża czyszcząca obecnie nie obsługuje wolumetrycznego parametru E (use_volumetric_e=0)." #: src/slic3r/GUI/ConfigManipulation.cpp:114 -msgid "The Wipe Tower currently supports the non-soluble supports only\nif they are printed with the current extruder without triggering a tool change.\n(both support_material_extruder and support_material_interface_extruder need to be set to 0)." +msgid "" +"The Wipe Tower currently supports the non-soluble supports only\n" +"if they are printed with the current extruder without triggering a tool change.\n" +"(both support_material_extruder and support_material_interface_extruder need to be set to 0)." msgstr "Wieża czyszcząca obsługuje podpory nierozpuszczalne jedynie, gdy są drukowane tym samym ekstruderem - bez wywoływania zmiany narzędzia (zarówno support_material_extruder i support_material_interface_extruder muszą być ustawione na 0)." #: src/libslic3r/Print.cpp:1426 @@ -9275,16 +9658,28 @@ msgid "There are unprintable objects. Try to adjust support settings to make the msgstr "Na stole są modele niemożliwe do wydrukowania. Spróbuj zmienić ustawienia podpór, aby możliwe było ich drukowanie." #: src/slic3r/GUI/DoubleSlider.cpp:1155 -msgid "There is a color change for extruder that has not been used before.\nCheck your settings to avoid redundant color changes." -msgstr "Występuje zmiana koloru dla ekstrudera, który nie był jeszcze używany.\nSprawdź ustawienia, aby uniknąć niepotrzebnych zmian koloru." +msgid "" +"There is a color change for extruder that has not been used before.\n" +"Check your settings to avoid redundant color changes." +msgstr "" +"Występuje zmiana koloru dla ekstrudera, który nie był jeszcze używany.\n" +"Sprawdź ustawienia, aby uniknąć niepotrzebnych zmian koloru." #: src/slic3r/GUI/DoubleSlider.cpp:1149 -msgid "There is a color change for extruder that won't be used till the end of print job.\nThis code won't be processed during G-code generation." -msgstr "Występuje zmiana koloru dla ekstrudera, który nie będzie używany do końca tego wydruku.\nTen kod nie będzie przetwarzany podczas generowania G-code." +msgid "" +"There is a color change for extruder that won't be used till the end of print job.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Występuje zmiana koloru dla ekstrudera, który nie będzie używany do końca tego wydruku.\n" +"Ten kod nie będzie przetwarzany podczas generowania G-code." #: src/slic3r/GUI/DoubleSlider.cpp:1152 -msgid "There is an extruder change set to the same extruder.\nThis code won't be processed during G-code generation." -msgstr "Występuje zmiana koloru na używany przez ten sam ekstruder.\nTen kod nie będzie przetwarzany podczas generowania G-code." +msgid "" +"There is an extruder change set to the same extruder.\n" +"This code won't be processed during G-code generation." +msgstr "" +"Występuje zmiana koloru na używany przez ten sam ekstruder.\n" +"Ten kod nie będzie przetwarzany podczas generowania G-code." #: src/libslic3r/GCode.cpp:604 msgid "There is an object with no extrusions on the first layer." @@ -9296,8 +9691,12 @@ msgid "This %s version: %s" msgstr "%s wersja: %s" #: src/slic3r/GUI/Tab.cpp:1244 -msgid "This action is not revertable.\nDo you want to proceed?" -msgstr "Tej czynności nie można odwrócić.\nCzy chcesz kontynuować?" +msgid "" +"This action is not revertable.\n" +"Do you want to proceed?" +msgstr "" +"Tej czynności nie można odwrócić.\n" +"Czy chcesz kontynuować?" #: src/libslic3r/PrintConfig.cpp:199 msgid "This code is inserted between objects when using sequential printing. By default extruder and bed temperature are reset using non-wait command; however if M104, M109, M140 or M190 are detected in this custom code, Slic3r will not add temperature commands. Note that you can use placeholder variables for all Slic3r settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want." @@ -9372,13 +9771,31 @@ msgid "This file cannot be loaded in a simple mode. Do you want to switch to an msgstr "Ten plik nie może zostać wczytany w Trybie Prostym. Czy chcesz przełączyć na Tryb Zaawansowany?" #: src/slic3r/GUI/Plater.cpp:2319 -msgid "This file contains several objects positioned at multiple heights.\nInstead of considering them as multiple objects, should I consider\nthis file as a single object having multiple parts?" -msgstr "Ten plik zawiera kilka modeli umieszczonych na różnych wysokościach. \nPotraktować go jako\njeden model składający się z kilku części?" +msgid "" +"This file contains several objects positioned at multiple heights.\n" +"Instead of considering them as multiple objects, should I consider\n" +"this file as a single object having multiple parts?" +msgstr "" +"Ten plik zawiera kilka modeli umieszczonych na różnych wysokościach. \n" +"Potraktować go jako\n" +"jeden model składający się z kilku części?" #: src/slic3r/GUI/FirmwareDialog.cpp:332 #, possible-c-format -msgid "This firmware hex file does not match the printer model.\nThe hex file is intended for: %s\nPrinter reported: %s\n\nDo you want to continue and flash this hex file anyway?\nPlease only continue if you are sure this is the right thing to do." -msgstr "Ten plik .hex z firmware nie jest przeznaczony dla tej drukarki.\nPlik .hex jest przeznaczony dla: %s\nWykryta drukarka: %s\n\nCzy chcesz kontynuować i mimo wszystko wgrać ten plik .hex?\nKontynuuj tylko, jeśli wiesz, że tak powinno być." +msgid "" +"This firmware hex file does not match the printer model.\n" +"The hex file is intended for: %s\n" +"Printer reported: %s\n" +"\n" +"Do you want to continue and flash this hex file anyway?\n" +"Please only continue if you are sure this is the right thing to do." +msgstr "" +"Ten plik .hex z firmware nie jest przeznaczony dla tej drukarki.\n" +"Plik .hex jest przeznaczony dla: %s\n" +"Wykryta drukarka: %s\n" +"\n" +"Czy chcesz kontynuować i mimo wszystko wgrać ten plik .hex?\n" +"Kontynuuj tylko, jeśli wiesz, że tak powinno być." #: src/libslic3r/PrintConfig.cpp:348 msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." @@ -9470,8 +9887,12 @@ msgid "This matrix describes volumes (in cubic milimetres) required to purge the msgstr "Ta formuła określa objętość (w milimetrach sześciennych) wymaganą do wyczyszczenia filamentu na wieży czyszczącej dla danej pary narzędzi (filamentów)." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:928 -msgid "This operation is irreversible.\nDo you want to proceed?" -msgstr "Tej czynności nie można cofnąć.\nCzy chcesz kontynuować?" +msgid "" +"This operation is irreversible.\n" +"Do you want to proceed?" +msgstr "" +"Tej czynności nie można cofnąć.\n" +"Czy chcesz kontynuować?" #: src/libslic3r/PrintConfig.cpp:1550 msgid "This option sets the number of perimeters to generate for each layer. Note that Slic3r may increase this number automatically when it detects sloping surfaces which benefit from a higher number of perimeters if the Extra Perimeters option is enabled." @@ -9539,8 +9960,16 @@ msgstr "To ustawienie określa wymaganą objętość wieży czyszczącej przy zm #: src/slic3r/GUI/UpdateDialogs.cpp:216 #, possible-c-format -msgid "This version of %s is not compatible with currently installed configuration bundles.\nThis probably happened as a result of running an older %s after using a newer one.\n\nYou may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." -msgstr "Ta wersja %s nie jest kompatybilna z aktualnie zainstalowanym zestawem konfiguracji.\nPrawdopodobnie stało się tak, ponieważ uruchomiono starszy %s po użyciu nowszego.\n\nMożesz zamknąć %s i spróbować ponownie z nowszą wersją, lub możesz też uruchomić ponownie konfigurację początkową. Spowoduje to stworzenie kopii istniejącej konfiguracji przed zainstalowaniem plików kompatybilnych z %s ." +msgid "" +"This version of %s is not compatible with currently installed configuration bundles.\n" +"This probably happened as a result of running an older %s after using a newer one.\n" +"\n" +"You may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." +msgstr "" +"Ta wersja %s nie jest kompatybilna z aktualnie zainstalowanym zestawem konfiguracji.\n" +"Prawdopodobnie stało się tak, ponieważ uruchomiono starszy %s po użyciu nowszego.\n" +"\n" +"Możesz zamknąć %s i spróbować ponownie z nowszą wersją, lub możesz też uruchomić ponownie konfigurację początkową. Spowoduje to stworzenie kopii istniejącej konfiguracji przed zainstalowaniem plików kompatybilnych z %s ." #: src/libslic3r/PrintConfig.cpp:2601 msgid "This will apply a gamma correction to the rasterized 2D polygons. A gamma value of zero means thresholding with the threshold in the middle. This behaviour eliminates antialiasing without losing holes in polygons." @@ -9765,8 +10194,12 @@ msgstr "Typ:" #: src/slic3r/GUI/OpenGLManager.cpp:275 #, possible-c-format -msgid "Unable to load the following shaders:\n%s" -msgstr "Niepowodzenie wczytywania następujących modułów cieniujących:\n%s" +msgid "" +"Unable to load the following shaders:\n" +"%s" +msgstr "" +"Niepowodzenie wczytywania następujących modułów cieniujących:\n" +"%s" #: src/slic3r/GUI/Plater.cpp:3233 msgid "Unable to reload:" @@ -9778,6 +10211,10 @@ msgstr "Nie można wczytać:" msgid "Undef" msgstr "Undef" +#: src/slic3r/GUI/GUI.cpp:305 +msgid "Undefined" +msgstr "Nie zdefiniowano" + #: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" msgstr "nieznany błąd" @@ -9836,12 +10273,20 @@ msgid "UNLOCKED LOCK" msgstr "OTWARTA KŁÓDKA" #: src/slic3r/GUI/Tab.cpp:3719 -msgid "UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick to reset all settings for current option group to the system (or default) values." -msgstr "OTWARTA KŁÓDKA oznacza, że niektóre ustawienia zostały zmodyfikowane i nie odpowiadają wartościom systemowym (lub domyślnym) w obecnej grupie opcji.\nKliknij, aby zresetować wszystkie ustawienia obecnej grupy ustawień do wartości systemowych (lub domyślnych)." +msgid "" +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or default) values." +msgstr "" +"OTWARTA KŁÓDKA oznacza, że niektóre ustawienia zostały zmodyfikowane i nie odpowiadają wartościom systemowym (lub domyślnym) w obecnej grupie opcji.\n" +"Kliknij, aby zresetować wszystkie ustawienia obecnej grupy ustawień do wartości systemowych (lub domyślnych)." #: src/slic3r/GUI/Tab.cpp:3734 -msgid "UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\nClick to reset current value to the system (or default) value." -msgstr "OTWARTA KŁÓDKA oznacza, że niektóre wartości zostały zmodyfikowane i nie odpowiadają systemowym (lub domyślnym).\nKliknij ikonę, aby zresetować do wartości systemowej (lub domyślnej)." +msgid "" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\n" +"Click to reset current value to the system (or default) value." +msgstr "" +"OTWARTA KŁÓDKA oznacza, że niektóre wartości zostały zmodyfikowane i nie odpowiadają systemowym (lub domyślnym).\n" +"Kliknij ikonę, aby zresetować do wartości systemowej (lub domyślnej)." #: src/slic3r/GUI/KBShortcutsDialog.cpp:173 msgid "Unselect gizmo or clear selection" @@ -10124,8 +10569,12 @@ msgid "View mode" msgstr "Widok" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:666 -msgid "Visit \"Preferences\" and check \"%1%\"\nto be asked about unsaved changes again." -msgstr "Otwórz Preferencje i sprawdź \"%1%\",\naby włączyć potwierdzanie niezapisanych zmian." +msgid "" +"Visit \"Preferences\" and check \"%1%\"\n" +"to be asked about unsaved changes again." +msgstr "" +"Otwórz Preferencje i sprawdź \"%1%\",\n" +"aby włączyć potwierdzanie niezapisanych zmian." #: src/libslic3r/PrintConfig.cpp:3553 msgid "Visualize an already sliced and saved G-code" @@ -10370,8 +10819,18 @@ msgid "World coordinates" msgstr "Globalny układ współrzędnych" #: src/slic3r/GUI/UpdateDialogs.cpp:92 -msgid "Would you like to install it?\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "Czy chcesz kontynuować instalację?\n\nWeź pod uwagę, że najpierw zostanie stworzony zrzut konfiguracji. Może być przywrócony w każdej chwili, gdyby okazało się, że nowa wersja powoduje problemy.\n\nZaktualizowane paczki konfiguracyjne:" +msgid "" +"Would you like to install it?\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"Czy chcesz kontynuować instalację?\n" +"\n" +"Weź pod uwagę, że najpierw zostanie stworzony zrzut konfiguracji. Może być przywrócony w każdej chwili, gdyby okazało się, że nowa wersja powoduje problemy.\n" +"\n" +"Zaktualizowane paczki konfiguracyjne:" #: src/slic3r/GUI/GUI_App.cpp:1802 msgid "Would you like to stop uploads and close the program?" @@ -10459,12 +10918,20 @@ msgid "You cannot use non-uniform scaling mode for multiple objects/parts select msgstr "Nie możesz używać skalowania nierównomiernego dla kliku modeli/części" #: src/slic3r/GUI/NotificationManager.hpp:459 -msgid "You have just added a G-code for color change, but its value is empty.\nTo export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" -msgstr "Dodany został G-code dla zmiany koloru, ale nie zawiera parametrów.\nAby poprawnie wyeksportować G-code, wybierz \"G-code dla zmiany koloru\" w sekcji \"Ustawienia drukarki -> Własny G-code\"" +msgid "" +"You have just added a G-code for color change, but its value is empty.\n" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" +msgstr "" +"Dodany został G-code dla zmiany koloru, ale nie zawiera parametrów.\n" +"Aby poprawnie wyeksportować G-code, wybierz \"G-code dla zmiany koloru\" w sekcji \"Ustawienia drukarki -> Własny G-code\"" #: src/slic3r/GUI/SavePresetDialog.cpp:277 -msgid "You have selected physical printer \"%1%\" \nwith related printer preset \"%2%\"" -msgstr "Wybrana została fizyczna drukarka \"%1%\"\nz powiązanym zestawem ustawień drukarki \"%2%\"" +msgid "" +"You have selected physical printer \"%1%\" \n" +"with related printer preset \"%2%\"" +msgstr "" +"Wybrana została fizyczna drukarka \"%1%\"\n" +"z powiązanym zestawem ustawień drukarki \"%2%\"" #: src/slic3r/GUI/GUI_App.cpp:1078 msgid "You have the following presets with saved options for \"Print Host upload\"" @@ -10483,10 +10950,14 @@ msgstr "Do instalacji jest wymagana aktualizacja konfiguracji." msgid "You need to restart %s to make the changes effective." msgstr "Wymagany jest restart %s, aby wprowadzić zmiany." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:611 msgid "You should change the name of your printer device." msgstr "Należy zmienić nazwę drukarki." +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +msgid "You should to change a name of your printer device. It can't be saved." +msgstr "Należy zmienić nazwę drukarki. Nie można jej zapisać." + #: src/slic3r/GUI/GUI_ObjectList.cpp:3884 #, possible-c-format msgid "You started your selection with %s Item." @@ -10525,12 +10996,24 @@ msgid "Z offset" msgstr "Z offset" #: src/slic3r/GUI/ConfigManipulation.cpp:59 -msgid "Zero first layer height is not valid.\n\nThe first layer height will be reset to 0.01." -msgstr "Zerowa wysokość pierwszej warstwy jest nieprawidłowa.\n\nWysokość pierwszej warstwy zostanie ustawiona na 0,01." +msgid "" +"Zero first layer height is not valid.\n" +"\n" +"The first layer height will be reset to 0.01." +msgstr "" +"Zerowa wysokość pierwszej warstwy jest nieprawidłowa.\n" +"\n" +"Wysokość pierwszej warstwy zostanie ustawiona na 0,01." #: src/slic3r/GUI/ConfigManipulation.cpp:47 -msgid "Zero layer height is not valid.\n\nThe layer height will be reset to 0.01." -msgstr "Zerowa wysokość warstwy jest nieprawidłowa.\n\nWysokość warstwy zostanie ustawiona na 0,01." +msgid "" +"Zero layer height is not valid.\n" +"\n" +"The layer height will be reset to 0.01." +msgstr "" +"Zerowa wysokość warstwy jest nieprawidłowa.\n" +"\n" +"Wysokość warstwy zostanie ustawiona na 0,01." #: src/libslic3r/PrintConfig.cpp:2831 msgid "Zig-Zag" @@ -10554,8 +11037,12 @@ msgid "Zoom to Bed" msgstr "Zbliżenie na Stół" #: src/slic3r/GUI/KBShortcutsDialog.cpp:176 -msgid "Zoom to selected object\nor all objects in scene, if none selected" -msgstr "Ustaw zbliżenie na wybrany model\nlub wszystkie na stole, jeśli żaden nie został wybrany" +msgid "" +"Zoom to selected object\n" +"or all objects in scene, if none selected" +msgstr "" +"Ustaw zbliżenie na wybrany model\n" +"lub wszystkie na stole, jeśli żaden nie został wybrany" #: src/libslic3r/PrintConfig.cpp:241 src/libslic3r/PrintConfig.cpp:816 #: src/libslic3r/PrintConfig.cpp:1748 src/libslic3r/PrintConfig.cpp:1758 diff --git a/resources/localization/pt_br/PrusaSlicer.mo b/resources/localization/pt_br/PrusaSlicer.mo index 62cb2fdbca3ba9baa314205a2fa7e5d14784fa1a..649d4de139371bef7369050d9a66ec8cc0994327 100644 GIT binary patch delta 20147 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 RR2(1Rf5BZ9$Ga=S{|{2DGTHzD delta 20186 zcmXZkcYIIRAII^V@Asy$_nx6<2okZW#NK;V?M+lswYl~PF-mKuRE(+`tzBA_Dq7Si zF+qsds71r zRp$_9!Xvl}FJc~?I4$5b#N`-+_b@#cm>zJZVifASomd=y!4misQ((b_fRh7DU_Pvs z5b&JT6uQ%p6FI4WEO;1y!%O%Qx6BAQm2u-tbNnvO2{_IhEW}9W%nmpy zIlh&~?6?Qj;j@?-Z_n|}1OBB!JrB+`^=zmM^Im0`>}aoe$H1Zj!x%mt;;C4)dhfp{A&9>jhAob_=_$yR|QqD8? z2}jLsS5}&pew3_9_mIPqawBx zHL_J$2shc|zo8;=85Nn^*1xPzP}jZk^&BT`LBMHBLnc(uyPjvAOZvs0$k6R2+$s z7+4Z;3Sb%3a%_R>*aw&&$D=y z0o`o7XX~?39r+5CBj<50{)y_qn9t1hNvH?zvYtUj=xgqE$mPZg7*0J7mEGM?NjwOD2yvVQRBkk0Vdi`=Dzalx%krxg zo(a(o8no<=VhcQlO|VEZbA%tEM!pWK;W<>tv#&Jkyew+Oaj1xPKn-AyHQBliH3f%J zxpCQ}(44{p)ZE3b3OMmN6yL#Xs1pmUHmf5FH8pckbH5(-pgmX>PvU4yzsBU!Ol(Pg z3zoqYUzmthLM>abJq6uh5NcUXLftsgwlBlM)W1Q6zVKReerZ(5YoI#V9JS+hMa}UC z_V{Sjz-Hh|+>07m&o2W`1Fip+6ttWkU=7T^&eYqZ*69RP$P!UWl#I%iA8h>wD)hmx zjQLOGEEHH8!G@foP=mZEZI11d5+MdIg$IDfKvxc zp+fc%YL(2jF0k!Ms1fc&ZMi2<9seEG(SPwIrrB)ndl~f(d9<1JuO2<6K|K%MVtSm; z8jkyEkH%s;4|ibxt)@f2V*>SmFbutI=7CdD_gjdH(C4VB+h*JMq6U0;8|%LVg|jp) z!kFy==SMt-w{ZTBfD?_Qb_Sf%xB>g&CDaB||64OvlISsNiw*7$IEC?TERXe3b2$$ERf0vRC!@0ei1i=T z&Y15zv+gUPmZ8^#LInzms2l!h>#tB-am@DtrzEz(81zu*Z$X9lp7n`s{|_tCUVcx& ziNk@YjprMD8?U3LBy6uAInT*MLF>8Vc0?bD!l0)1g|Z5O+i^ zt4XMh>T}d}U!kUAr}a2$#5b)kt?BnOwOap$D5%FVs8BaTy=+EcIIclu>mmFlzy+8)zCtaF$Ji31PqREj9A^ruebH~`LBFG>QjI6qVH9qE^X%>seF>ygw-@JD;I?p5~l+P!>Ezy*z5!q&jaNTnP0ph{J{0(Y8ND z_qMgYI#4uVD6v&qKQC$WEFW%DGFNWt19&%sA zq9Snz71FmZnd`HnrluI`y7H(wZ;ndFF{sESVQ#JeT@-ZUS=0j_p&sB~Htl(_DD{fi z7`vdRVgvdeK}F~e>KzcgVs^f?sE#y6t&)zYePKN6`UU8(|D6;xlEbK;-9qj0?o~7Q z5vVzgLmh8`Be0J>ehoWPe}S5sw%5$E{SeimaTtyXNXVUa)|2S9qu~Vwo!H{K*+4pA zGWF@G_Q)G%L#lvEqMn!vN1!4$2{p%`qBfST7=uSq0}I?VQs?H1wcB zp?!=>#<*Jnrx~`v2Dk>7<0Gt#^KP4O#s6U^>iPaK$u|ZoQ_pe7M6M+&S<|7p(ai%ROj zs7Ox6nm8M^6`%6#fzeN@kSqE1|jZEz#L zi*G$M%d!g=r#=Psy4{3&z(rKHr+seT6%iOk$NS=Yv@dzVvZVeDH&A!~Wkcfm&SnZ) zKBrJGlSinedxqhd;+09t;;0=g*4hO%@^Lr;7vdJo{n|wCSL-WO@)rBg3&B|$y3w~B13}y*YG>2xov{FZW!viNw&V&y2iF| z!Dbvkf|{z_0n@>T0ngm9BMn+U@1x$=^HE#ycC3LHF&x8#rbBVqg!*vQ#_|(tdH!q7 z<_7&wxG2;EJEI~z+xnIDuxAUmuoNc*L(RydQAzn8Y9ktk+B#?0`bt!UcA%E+8Pxkc z?^{8Cu8X6R_#Insjyk^=D%U1qIC{wx3Q#zJn&VrjkUqo;_!<@Za$!L~+3KKf+zB<} zL8u4MMCHap)O|LhHlm%j{S+!E?xL=HW!gO_dkT{@rBELrEl>|=kN%WkMe6ghBpyXY z<|Qhtv!yg0D}mZaYGUUQ);;R{l&Q@F%cJh!9Ch8hm`dw^00r%IBQQOFhU)nS)JP7Y zmf1;Er0!xkrb%ON6p2c{8mRVms1c69M4XT6aKW^8N>It$9CK>@kEEc`%ts~NYSbS8 z3wFk{s18&}XFAvvl?$D%!%Ep#BJ}iA|<_MbpS;xB8eOss!} zv`8kCboEdpYmMr_0IZ6WQOocLR7XNH2mQBXUhCU9o%Z5b4mYEw^bRIqx-7;;sGKO2 zHRyjaHP6cWKS;wy8Ui>po7pHv;9Jy>phkKE^$mE{wx`Scn?ovS5)%F_gmMk~4?=Cxr%~r$ zLoLHss3}U3+e9=Eszb$5=ha5#MrYL2dLwPa3{MjMh&qWc0irC2Q_8CU{_3^H|YNeHVA7`Uy5|tbFNZQ&+emc6qe82AO~s+3gcKT ziHg)Z>({7U*p5ot%F+hC~M&S@Vf~&C{ z9UoMj^{*eV*FbbL;5-<38PR+(h#-GJk*5?P+RmD)_tg* z>^w%|L)7{C>Ke;io1k*37golRNRoQaR(rx8RMwwGt%AQ$Jxo#0ycP4JcD$OXkId$% zo$Mo2B<7$xwi}hizge%LcFYIZ1pmWA*tovVXZ;PPP?&}ps14(5)Lx&ffq7sJR4ALF zmScYm$Kj|BE<%lL1M0>E=WFyS0_1}>~YaE67@dOsZzfmK} z(a1cgFscKUQ5#VmjKFrNshWuQa64APm5qb`?})BobLu6VnEQ-HZFuw0Q%@FC=!EM~ zH%!&kjHnzc67^9d8iX3rd{oE2wDs+%jpnHJ3M$ziqdqi(&4T_LMK58m9qmu17hT&^;F|>s-6{@4@t%Xq?tb)p!Ca4_i z+k*A4o=l`cNiq}F!zHL>T4zr@fSTJ&s3{1x3_86rJt{)Oa2PH_-7kA9^G*my)r+8} zs5ELo-BD9G#G{}GPq7C+LG^SsY8mas(s%+FU`T5-f<>qt*@D_B|A$KAHf@ZfQ3F_k z>hLbqJK-nPyW<2Z0^S7*3dvK{9A|86IuL{UW~+-j-UIaj&mLce>c9?Lzl<8$BUA)~ z?TndGtK)4Ph!yY!et~_p{#U$fdX}cWxgZ-Bh8j^aYVOyg zI{Xcm#N)R9%GPtfXO7pwaE^CJ|L6Zneu3ZHqn6)k)Pw&)Z5SCkm{4`Lj3aT$hVGAaiSpw{_))YRneVQyRnHNvhK zgOjmC2;UE=2xjkPIue7?)H|V)doC&>TTlZ&*UK|sCQs~vqP@)x8=>ZOJSx=7u?!wU zb?61Q$D)1A2q&Pjeg&X$|%@^%&G@>FH5WNQPo4CZn=>Eh@V=pmxF? zsPp!qrtBVS6*&Ejxvk|r%7jd&|6nNOjn=q@Vs>H3@FQK$|zMLOs?@0o%#-MZa+6SV_o ze&0l*1S$v0p^~dLF2zx(2jm!FKGCY6_Wn;$pLFX`%WupFrb8=HxpoLM>iz!<1%=`g zYU{m@WAG_zghK|Jz57#CHXlJn>J%zMH&9#Z-&g}*p>n7CAk*Fn)$zWl<=8+fcAm5z6-}w{|}V|<3`*4 z1NCWk0JR*?q298OYQspN;=f zPr??sl>1f12dD^@92fNe#I!oOJu{{2KMVsZ;#@#B&x?&;3*ymc9VP@N>+h z^}m)vE!>TIP)LI5P;S)5Q2^DUINRRN+6lvH?}2*IWLr;0J>UTPQ;X`*Wn{~Bo}nU8 zcn0fVdwNLv_@t5VCyvOLH#q-^}$cfKue*f%8R3*3)-Mg=#Qyz0V*;pP@&sv+kZiw ze-`z?`>2Sd`qXr&Bx=eUqgGE>RH&z*I{FPN(mx|f?Kzk1fhVX?r(0ki7=vLUEI-tG zueZ>2s4Xg+KSJe1A}S)EpgO(`wJ&^$TBf^E9l3%^%Fsn-8JEUATK^*`wBtaf#U|-K z#+lTALM^*iOH7i*V@o-|xyCjpgwn^EUqM&0j~t!G;8ncqy5UTs1;19jm%)Ew@%o<_~tJ=CXFaE<9;7F360 zP#vp_+Hktq_C(ZvvK;je*nk??VN{3jcoYSIyYJ71c}rL5A&maIA?5 zw*A;v*1y*4O&S!!Oxw&H#$YY#tx)TG5o(A03iY6U7>Tz~Igw?%nVS5l&=*Io?`o*~ zzH95FP#s=?ir`j{g68xj>ZNi4bzxwK8F@ZyZ9GnUf7J1+JB{s78_N(>q-LWAv<(%h z>!=RAM(r#4zcuv%s1A5@DColVsF9vVt%BPahta#tg+tI^eyIK8A}RtYcbgGcKpk(0 zdSFjf$EKnlw8FOUK~2R~Bq=@Tu{|O6cP4p?p)QO=_^Sr1=M=}3zZY0r%e(TK<#i% zQ61`y+WTi>Ebg-HuTYUJ@SC}Bx!*jqS2v+S$utNxk`<_RdK$IvAE6!)cE-H_^P@Uk z1~vCBP!Al0%8BKucgkL@j&Gec9jk*HNIZt)7|#|yL-lMA>PDxq4hDWVzgVb`6{s(@ zo<=RdH0MkxE2BD61JhtvR7VEjQJjU!sSfAu4=$)3*4soub8*l%97Bch25LE_{GWXp zp?12wwq6WFsaL>$SPkdl7dSeE4eEl)ft?pk&OAeP@ITc4k@u3H#GX^1f_gj%<8Um- z;$CcqA(zdZw?K8EFKSALpdvOM71AWs2DTA9;}59w3SKeCE1)`DA7im8X7bm+U*LU? zn)7X_Pp8w?i>SBNEz}P86cxG*SIy2=1oghJiCX`?Fayp;b!<5*7rw#NMCLhuK;6C0 zp9y;uhEUMlJjD8#qef73)N|1I+aOG(sJO-3c{m#7F`Kt1?2{(&!0 z8`8DgLI1CAruoBkbTWF{NH$QogJ*CX?!9A@YuH`$UB3!Hpy!XV1;@MJGpl7AmZp9i zD`NKh=JnbPXHcJytug#B^MNxI^;({Qn)2y?vHn%~lm;bXGU{cq4$I;p)Xw+{HMh|Z z%*bk^>TPYkA1dUdQG0zNY6_Rw<1117$Trk<$5D~Hrr*a5c0i5jHL63|Uzw2>LaqBaRF2if z2G|sfYyB^#FoA{x_)sUjHouao_@DXBWda7s{xj&{xi@Bx&$B;{<@{vY9LoQn@oIWpdLop-hVZ&1+Rf_W#@^|QVCTds4K_Nn+2b`Eo$ zMp!h3>;E!&2&#Sn*J8$$uK&k!yD*k|%T%tvCC^7q=^LDfg;KlzJ7b6S7W(TyOB&bz z>oZlcA1AKGmY5~2>;J()A1p}yJ50nY*Z~KmGb8&Mhf|MCZ_Znd`YYRqaTD#K8C|op zqP~PqTT^FpJ^!EG)yU*J|8U>}>g8}Ev+JzK*Vr4^WpVxg5kcmxuJbkZo!AEBv$_6X zT=)UC#TLkJ?2VnMueYYj;rh!l9wTWVkJ@QB=HTBy>P9bUh{a|(%>(D+ZndL&ye*gO zXYGC5M!iXH*Qtl0d0hX8(I%*6IUcp_zC>+YM^HPXlh;f|CEQ1~6Hdc$FQ4hrT2$!I zqPET&`Cb1n3LQh`$k1@tUv5uPZ?&QYT>l>=RmE89qp&RQMm_K$-ewAl7j*rs+NhqOj}ykM=Z0NLuv%DC+uuBGIe3>olh!b%e=G~facOqRU zE%gGWT&E|NE^U(XlQORVuVHUuEbX5}xz3k(CffD?s^$0?mtVKBpI|E5mzDF+=ih&o zH%ZjKg6pr#-PoNI!z#M|TQMHrp*|b6e2$@Zye^eo|I=zJUZwsMPQbO5UH=~@m8{}A zbEyA_3D~Bpx&KvcM+Zt)bDhea-COr7jtpl?b@!hjC!E18Ndo`O8qM4Vk?QN=Q@M<_b2>CAVSH3 z?;E@3yS$0(9H8F0DIwxUg_^nkFB(rbcm0>r`WCML4+yrPcC_v-U4L(nN4<20pmw|j ze2#PQHBN73mf_UauK)GC3cW)d*he826WX}`*7-APYyBOU;td>xxZFk$7 z8x}@&;2oTZ?NJZ7gxT;Zs$*&2bNvsN9H`L8quO^_55DJ_ke;ByA2F`tgd3SQ8t6m|Zem;(Psy)9p&US1_Sn}}8SDCD7` z5h~03qC)ruYC}1Q;rPIsp^J$?6zXl)0JTB&Ky_>het=)1BATl!TQL?x-LD7Mz(iEX zyk9Bki{_m54(h}gsGb(=W|mobRB{bPg?=V#ioQUFeiv59Qj7riN)WE9Z z+t?nb=>0#ILUS5Idzc5dMcptSHNuIg2PWC}ov81D6Q~Z}Lq*W(X-1S6b$$`lS8ok$ zf&H;0?m@i+?qM#i|6ILX|I@1+7UDo})Q?~@QTxCyRBrr(ij>paj3@(Upqc|U;^J5u ztDvrrN9Dj`R8lU-9=IKgVxB%kl;=COD7=O3QFGZ9^Wj3&vf7U7@d4DxAE8E^wy%j) z1nT-4sPpS%M{I-oAlZU#v2;HZv8kwzEkREgd`_V-Zm^!lI@Dj{MvRMhoxS)sR>N=l zn+@q9hO-I|zt70=?f}>S*Ymjsy8iDAuAu&n*z`f>ow0SW>x|?2{U2)UW#B_t|0yZ_ zIm9H(6I6D(ADP!^U93sHH!9iIVH^A&HR7y8%@pK8PJvhQ*n}cD>lS-)VHD5efr5}ug{LE=Rs{eg^(%poJb0aKpbjso{O5>rKn|< zjGBV2sD0rGsw3Cz@z?fv`YEpe6Hp=4a;t+;*b(*M*{CU6fXb0=m{aTjJOynS|DfhP z!&I|%Mxv6c3hD+;Q8#Fd>2W9)!6~+VJ*uO>psu@$8o(1&gu+9ok?2Q3TkzmeGjjTqe2r9zG zkThXqppXt@P+3|N^%GBB>_@%94A*&#TQM!JooP2FREG|r-fovr9ZH{Qen2UN>i8g3 zM-owyoP&zM!bH};Lb`$mxzC<>#d;lc(0&Vb;TzNl!)BSJDvY{O1ZqSvw!Mlq7Ij^1 zRBkm!o!8FRJI`YL8c{zQw8sy(PD0J$9Ms&cL_KIb>W2Gl`(acEFWCAM)O}LSHV@2V z&5w#q1nT!$JJ}vzg1T@W>PDMUFP}rGTsVhX#{ZyRVg=`z z2-QVBs1Yi19c+ChhEw+vDCixq4z)$@K#k}oY8m}!%{tfIpd>118ek|kMRlk(Dnk8G zp&o+ju!oAsR8)uOp>k#=lH{43?b{x#Ket7-ph6K)iIX2|xIOkf83pujxFHD0^ z@Hr;=DCBZs%=nNSjrp+}uExxGA8%li2_aVqA7gcln;3F=unQ)|Nmv+XV|hFi4c-JFoi0VyyRU&9Po zA9cJlCd2`#3J$|WI2NcR%73wvNJ#$yaF zM?G*Y>W#Jr8aZ_{?4;7GEP@3Ata?^&+7+8HgS^9rvFxv2VjC<)EmPf;iC#bI>8E!2r!SKAwI!jj}qUVfZIRh)yl@d9??K5ng5r0Y7HP18_uV9z?{zaDs>0^K;%dYfMLQ5EWdMR5x1g581l zP}4HUhLC$5>*HrQ3N;9`Z?wUi58IHhh8q2gP|x`qH-((Lw~_g;nlIjB7hFX(@k`X8 zthCi4SUqI4x&in(4#i%WXLPorPjX-!gQW@fXg?+v-yI2n~cg9@RkzqcmN zjg`q)L5=#+L4Gx=CGG^K-DiQQES4euxE3T7P^O^lv9sbfZB)(OuI0z=Knz@@ILAWnSM~s2o$IX z3`8B@fN}T>zQE^L1)mC<7!kF=KRUJpae#BvyDko!k}nkGM+Z*ET9nWJnfb5j zaD{@!G*$NFHfZ*oup8V)4W1`KKIKWPSQb=yQ7pxEwIuoIsgR41-->$k?WaTTAN&=y zHk>~b3_esoayDwCJoQ;y6iT8F)WDS37{_8qOvH_EU{8GbOUU)Ww&z3cZH^zg5OQ@f z+r^OEh22q$Q~pa9s+*&BRBKT!xd$~JPee&5cIUnva&2)4=ESoYhfh&Wo8?!Fh}BSQ zLSNJy9}3Fd6`RkmVKp5`Rcte=rM#=QhGa)Y%!a605&e*a=KV_44WD8x7Ws|k7~e+q z)k;*29|cysW^XtHH5T@u&i@x{VvFlG7#Cm)@?T<4{0bF0^ZXuia zn~55fKcS}M6V!!y|FpiFiMru>)FQMC3*lp|f^j$O!5uLN`JSl3JTY(~Dll!s3Yz~{ zN$AAbn|5L))HH00YLOv<>rfB=9o3|Np_(%JEqmk2sEU7tm2f>4!~3Yd&vo0LQxX-R znqVx?cOyuskLRPB?jULmq`G5GTr{u^YO$JxdccvOJn3Cqyvkw?j~ip(2>XFYA=jAm zl0CKiwnL4L6*v@cV^q_x>oZ%G7UOvGm$4ak|A$$?DBq3K$scvPcd=YZZ$(Q=q z0?Nmz7g>zz+uZ+ImrTRLJF;nu`cWfqINE9^Z$Jcw6)rRYO<%OE+~*7?DUDG z9zG#oKNNOTutwO*Pvc&WpNWM1P3C7YVZRHOqBgHbQBD76;B%ZsK1IT?A7PgzjE4O| zbU7$UmniHnF7*P(;bkt^gL<=tiNpS)lrl-!4JIGOpQ*qTR0|wR7WTWYcJi>ldUnT5 zluyQNxC|A7_Xhd1Q4(6s{=)WHB!!(g4P(i##b!L`KL^VJ!J)>B6owW=S9RH>-^>3CH7u{Im>~--lX5j%5sMEJa<0Oksci-pFhf$&e-N zZzS@drr#T=2M$1O95$e~R7X)2zJ(fGX|jg>i1sFG&)5T1J`dyYC)D*1Q1KvnHjOnp zEjNiq6g0&$xB_$I71RT~>~^CyoH?w*|3eMpZ9)DVstYpZ zq|0cTf|x;rrd4d%RmT3PKG}q7>hq`={Rs7d%yD+Zj#!C&JnHy<)S$YJ>beBExG@i? zh-!(Zxx@aRF&_1T1z)ii=!8-A{ZJBW;_;{t8V68=>N$?bf_bb-zmu2wU!6qRe0JgpRKS>vb#x*s0HwN7!uW;BU@{Oa6HgYspqcng1G0 zBZ`JyN1TUa(G?53ZV-=pgL_yFlfG_!-T)Pf2cfRtf;#U+kiUl-8_A1Xg-hUd^4(Eu zO@k6)|HEkSC<&b?HCUFR|K_N%k**}u3}>RI;|olQ=}U$E4=8zX1^MFG7cZd3O1;uy ze=9c&^+Fp^o7vK3!v4OXKPoOn_map-;wd)7Ol8CVPUbyKMt&P=(0q@Y-!E}EmMmv| zzY#SU52IQrN%^q94A;j~p2xxX z64f&AR}QNdW zjf;@b4eO%bpfCDcC)6zPYFQVRL{;!z)cjwIn(yZ^7E9K)u4sl+$p420aY`Kv)!R{_ z`#N^SH{Rm@Jl`!K(H@WCuhjVUx?%SP`Ly+^7)`ekD^Y&>Z5wnM8d*SUit3_|P`lkv zP}BDtEQxpVHGHM9*$6eeMq-%zt;1+z5}TS>07}@*LT)WolSeT*E<)XSJ*L8Is4diA zsQ3}voau)}P=l=;D$?yn1)vi+3L`D(Ql1x&8OZIJW2U#!y3X2(X1BmX!W zBr>$OSx^Rhb6^zejqe8*?_l{sfnQ@?j=w;K;X0M!y{I@zEtjKj#c zLaiCmGbA)vZljtcS7)nPRjfk36L!aCs5p?Si_L=Cs6PG-)iP^Qqx*YQM9kXNx}+>t zBHt0!rHfGyK99_fsJl->H_Fz{22~MMMczR*(NNSVo)?rK#=+!oqDFs*?)JbwsIHle zHSi$nx|HwPG^~IcBi&J}>G`M=#yI9H(uH4E{90<~J5>}8wL?7i(l4Ny(_E-GFO z!Nxcb)8hTWNFO^d6K12l1nSKjVm=&?dcloYnCH9WBvi8meeHyTc!7KqRG=x=&*pa< z)N~qyy1{1DgHNK)`x7<4)AzSPR2?-I?qF(6G{9Ok3u^klfl+NfyOPlSUWjU%Q>dnY ziHQ@iqZw!sEC2gp_b=s>aSToxWL=kPu*HSks6bQ#Gh$2BqSX&`;RMuJS%Vt1dk2T3 z{snG`t#Wx#2PUHi<>5g0KYR01fn8BIoQ+xyx1&P!5mZw@M=jsQhlbrdI1h8+6I7te zFwBe_#{B=2fKt1rEv0-xo`VCUpODa?+JvgWHPjeLG~PyWQPhL$qR#7& z>Y~MgzoIIbeS-CM9V|w^BWA`=P{-E=`3tBQ`x}WDQI~0=J*W>3 zd1T;pjHP@DF2jAOuI#xW>?YuY1 z>+4LL!fq)S{1`ZJGt-9)vup{wMU>ar8g@g--@tX`JAB0hG0oR(;V3_h+rz{Y{&SY{ zKX-=R2;8&F_Joyp6F)fb7(SxBNAx>JH8pCxH|&~nVC6oxVCW85h%J54)`IPLpW@kv z!Y+p6;}3`3Lh@6Ogk3-Kum8ZF5tkedyZ>RepV+`~-*1nFT|3NoBJ6HbKK_(V(}8Df z&l#OeLLu@Vmcu${ZJv+CO60d}j#24-Q z;;7m29@fGMsEx-7EP;PwUd{jPmuzsoiMn7u>cm}vCozuv4g3I;Ube4T#-rlIUaWw( z@cI{JVA`<_Gr3a+A>F!@yr#SKvvc^|c1o`4;2 zA*y8}zu6n-LQSW-SRT)yS~Bf5TmM_3USJR^(9K5ej8>ul{ogMnnoyAbI`f)A@*Z|1 zfA06N|J7^7KWsO=3f0sZ{RKvb7Z$3Ji*euHywTY1wv_D1hxBFaBPt)A1cF)k0vp9kfUyEb;R zph9u~yHWc#YCZ+J!F5z0-9?4uXQ)9JbI;6!y0AJ{#eS&4x*2udEliDnV=N}RZ{|mJ zK^<&_JyGZHijtT?;xKA)Y4ds>Qko zjt`E1iNh#AfG@GyW7`)*tNdllYA<}qfv@l_T=loj+b39oe3>WKw1ZF;nS`luK5E*n zM^)$?s*nE;%=^^t(*jk&IjHHk9a&@8|C6XiL852Yv<*?K)d*A*Z4CSt^O8S^v++Jo zPC!Ka$9B6JU)U_!jjGTY)S{N)r9H41s={4R8=Ap>dDOYjNoblK$He#tY8(9k>tgJ` zw&UrA>{#4Nd>s?~XMJA+^#VNtH=`olOVoYJutS`HT~V{_A?o^?36SUWixw+bgF4|? zRD>%TGA9RK$4Zn}2uJ(}et_DF?Z@^Qjzru@?2J|LcWi|DyoetUh6U~oOd1n$QJv73 zM15Qq_*Y={gc1MmcQa6d=?1C-uO*830jpQw?7+RK<9AVUp>SfeUEp+7eE1%<$mLBE ziMrV&+9ZwmUGOAX#BcIs$s_(BrCOpQ*>cneiFruZFIGi5q}Z;A0{M! z5;e#!U<*v0%JT1_DmEW0LUyM_fA!nqZF*dpXpb#HF()Y>%zTZ^qu3D!pA7 zMa};`s1|&RYN?tT>`f=)JLK=8TDo>dyU#q-EPEOyF_T2~Oc8%{{(?El-$dOwN#=+@ zovL7U^8Ew11-?KHrYcz?{@3aQF%9`|Q1>~C8SoA&phdFU{ZgZ*YqTl}1)4UfX)_KB z;0DwvzJRKE#%y+@_fTCi3e(|S)C1R{LhpB|2c8YQhYImA*&}`&DS&F(ZdhLPe?@TM zT5up&4m+^}YIH9^Rp=rr^d`z_6)lNzy5SAmGXkr|Fr-RK_@G5Bgh8#J#4)iKs3wgRjrhMKY=KS4Kg6zBvslFc)VvN;kgxN)-M8iI%zwrB-V|iP|Dj^` zOw?xcdsH7^!n^2-^B}t79%^hT&aj3ryI0Cgb`mkKY|Fhgi)aWcK`BmP$|)lvI`7N`~+9Jm;@9sdc{ zRaGk3pzDEJd`4q-oPo`7Lo_HzR59Y_Q}8OPX8SP~8&rz;A4vLQPVyNlM_d^mPzooJ z?^DH}M(zb_*)3DmD&9SCG1jO2BF1B(YFv+-a4SY{lhB}BT-`$BE>u@MK+W4^Z`zHE zqRQK2E*y^Pg88V?e<3Ij*RaU=Dyl-=ka_OrU^P62S_3lI^zRpS!$~L<&cZtQ8>;CF z*RlxM0{f7kg4qep|DncA_P6X!@?lc)?U4@@t{2w8<){|Bi;8?H>PGziLsnFIHO#E} z-;so-%?Ew~O@j(JM^P>C6t!W+hoOo4LM?p$6E6 z{1EJpm$3=YceNW>VEF>8kbj1{LHW1ME~v;i4HM%|)GBunRk35(1OG;KNr#3u&E}&5 z&stPh+(xxT_C{9W0vOe3FHb^m(mikvY72G@dF@Gnj z1!G!R*Tkb*ZVQgYUr}AszNLlck5Gee8V3K^n|P z{(aPJnT~ashHFuS_1U}D$GKbEAghZNDIbXH^G&EO%+ki5Qxn^hA08#Kg2W}1KyZIZJs4GIEG6fw_k!dli#ure1=XJMvT?jQcx}a9eNvJnnf~xorSOuSA zN-XzY#Q*zW9ZXOD#~${aYpDC=>8bM=J#UfF{B4Emhi7RXBVB~STi%tZOgem1-AU>*Wk_Wl-Ws|}>ZGd~j7}X6M zl2D&@K;3W@4v6se8rC46`2%}{cBtc112?0tKO1-h)wKVhW<~4>YsosOLDv~IJ^P~u z_2(m)|N6MRf&vYWZ*VA{!*$q{>A3*Ck+zI3Lv_u!foD+ zMB^;5R6upjd#GvqG4{r9Q7u;JBYR*?)C=}Q4fg0_68dH1Zq#T!G~RZ%SMd|_f%=>TUV7rwZOYbi$~o!5*iH4P<^xk z6;Mu~`tDv(9{aJCR}E}~YMG&^H=m1Yk)4X6f8@v-R7x{8C&DN-jjzrye z3BJPf-6kdQEEd9-*a8cD67m1YJO(w*PGWVu9$4U0%lAQzjm_vsI#eXRhU(+&v+T{w zq1J$QSQ%GhRBwKZ#0Qvswhf+%sPb=6O?&~>bT3fTEY}<>uZ$XO?NDzv1+_SBLhUQU zb0aQ{#ZUpLBKX7a1S8?sMk9=JzQIbc4KK*nDk|b;(aa_0<`yhQ9~-0`qNy zQWjM{3*W`_LB7layM8!Mru-19i<&RAF6xIB$&ZVY=t5#YCdJnl*=#6_ny1xKgJ=*c zkjz0f;diK5{wwOdjEikB)<(5xYt#cL1^H$8I{8zmPf&@L*zxGQORb3pp&m3BWAR(8 zfR|8Boo$&7s&1(KLR5UXgQ~!oVey^3f@4?=Yp$jtkewbjcTz^P=j$N>Vcbe;id_YJ+X7qk)G} zEtYGBYyx@ zfwI5Y;2exPZxL!boH#V`X0YNDo98&u!+ z#|8KS{*5`VFe?~T>90ooKhHP0W__RJx<$0CSc>yXq6T$O)atnbHI}}^saWdw2>-s2 z`G0_fro*s5>`fP8E?t0ecrx(spghx`_AOU=RNOd)I`0AML1}N;V)F_r4zx!tI-{^5 zE=QgB4E^8#Cb?;!XyO9PqAqBNirIs)Ij%&#QRtRExF%|~?1*DSbl2iY!+W+dnTq2nuY8~Re}D@PlSq!!AKJ87@F?Q{QECfnHq?G>qj(0Y=BH7c z%0KW5*M_20yQR5KIIb>=at8_xcixf@RR>A|9|9!nCB7y9~PX# z|B+wu(jJ`aUz=tALw)F7RX$?!|m7}$y$-N#Xb_X#RqBn_KYP+c_` zb=`c_dHjCJ^Owopfu~WQZf~P%8i{!Rr`gi@HTjyTc#y#J{6Sj~i;!=G8Z)C&^L+*C z`irP7S*jRok#?w-7=fCe(P<<)s!y;R1+OHs7MYCNJpP6XL@u$tX;~~vwkejwc+?H| zpaRfI)S{CniRV^fB`l4%@L$ZG)bqPCS29nlXw>y1p_o4ptKvh{YF9G3z3FgN1(pT* z%lIbw#3?*~a5ca>kHdw%SHj9PSx zm$N}Qsl1Je16Y~!lD}bZSRdb^Wye?W{O|p)Rr36Qu2ZwJ=l`K1b5-WQ{ypEOs*G-o zt?s!c+~AEjJ^nEgpY>3y;EWocyQVxUbndTdzFo_6vE4c#L0>Pt(9=!x7Y*r+C|}h>ghi#`d@eHNA2- z^xPn>Z-rqz-pKQJOs5-r?j*;{H}U*mLZxa-JmL5YJVJRiS#!^ICUF)Okt(*ZQQQc% zW!i|nFj-4#jzh5wd%z=jiyK8+)0B9>4S|dD3GF<`KaO;ZIx@d0AKryoMSgi#;sg0Z z-94886ZW7*_0Pr<_oOem@!j6M0XL}G$8*1N!Os5Hbc^2i2)D%QL7scbh2IVF{GV9u z9_so36nppx&yA%#3tg$-11uP6Em?Rpvx0oxF`oYktI$|lg!~LtO^!z_U@1NxPtLE0pHu}H+*mDD@XzUcv zW#YV<(}*j$W;%-#{xHK@@X}1r4c7~O;<@!v4y>L<7f{f8j^`$j-}@OMnFrSY-1EO+ z+=vS)&pn^M=Dd9iJhzDa%SE0W#d!;sFpn|UQkvGI>2U=uxn!lqfqH9ga6iELT$g-3 z(~|qF*}!$fDd@e~^FQU@+F~{T2a|HcwA*aa$ce;iR{@h?H~fU_1_UPl+CuUCZ)}hr z!Ok3ij-=bRl=nm%pN)iXYwbiTtPMa39F&*WXH^%}pia1lfQDJIDt1H#x@CK!p8tU%>v#5s)lutoAJk4| z7V5*}s=c<{{(@TV-1nZp?M{n5$c{x-^g&>veU{IOnJ6!XiZ2bYBKaQst$byaL_!Mo zVop4QhdA*T>UVrw4qB)!a@d-7IBKV}8nwgOiCVTVU}k*th_zf>)FLzx72;Q69LD@$ z`-6O_z!q&C6s*F66#R;LFxgSh->trm>WUBX7o3Ay?FRg48;cK7eS8wNrONS>9Up`m zE8_yEV_Wi{qgKzC_`cTvQpc>Ot5F+>->?wI{p|VQ)z-%u~=FKD$+Nx4`-r6 z@fxg)7x4=$aK`gL8685E$DXwp=!MnD&&3va302Y3zt{$+A7<6O{YnWui5k84QE&D# zFz-2Aej8$U%D=`K%zfU*Kmq)Yd@a;EpY(!tWp`8;e1eT}0hY(dsIgP@BJ*E^pgsu| z%tJl+8&peN3(C`8vQ23*oJ4tTJcg%n6)wMQFVOf`+cWk-y~rfgw3`!n1v`+>e}yQ; z;GT4a`Co;^@Uy%YgR#wBi|Nvd=&bl8r5PiQDdpl-`3|Huo(I6_z>@4QT+9ZRV;P%DXSB2kOvjv zCOxz1cM4mPe~#*+=Kq*WQH#qX)bV65*dbvzR3G=k%eV(W#)U6E|Ns3^^k2{a0%9@V zq&)N=EyaDJcSvXuE=UmLu3~H`#{YABI2_~uvUvcG;>3cH82_K$tnp&}(3&SE#&zcW z{ixAhD4|_97VDD#3pJgqCW`TYgfbGxlm8o+m|IOhg@gv(Cai(qp$1ptv@!litURb#-VU|u&BC0x9d+J$)S~qSt7Fb| zG5+Z96xa{-Vj}{VV;1tqFscK$NW6mS(%XTuScrTRRF{lG9bXX~KZ+N~|A`uW`!dA% zpOOzFv(MeZ#CRXIxc!4#TS6IQ{7+1UQ9s)+oiQfre^$Gai9V;`%gok?J+j95(`+PW zwxXur0aWOIhB_~QcC&EysP%Pm3UpyZ z)El=&)jS?`qmNNZ7(ZgYf#t~eLhWEypep_c>V^+d=l_M81=-?kR=tDO$$yA? z!9&Qp@6I8SGV0#WWqlKm8YEk>23|$KuX4xu%Wq-So76;YwK}7ka5$4tkrLAtveq+2?qB~(B_j+C^7bSomIfTR*iyeOq~w}PaS zVo>kzzt4U?@B4mdX7}vQ&dl@doO>_tj{WIx>`%Xbc!TKqc+RaF8*=lUb7RJZ995Tf ze8{E5SbT=XFgq5S5OSli30A{Xm;p0P47uA_4D(}_Ng-Dq>tZgPiivSE7R23H4j)Vk zMcwNZ@=p%ASZt0ZaS#^4uQ54ZL3Q9h4yA`Fr-a;WobpM?HKaY~w2;e*@8Q6RbMtTw z$CJzox%9MuJ3HhG;4w^vudp_zniCDVbQIdou^YUHNvY34-FP_`!p)cvZ=f!4A9cg< zTs!~uz>=7m_Ufn`cM95vVjT7H!SU6Yg8ENU3K=P!Lyg1})KF!aXBW zhu)%)+emwt#Wu(3mW13w>fLcTMwZ%zMxr{r4wK*^^zbZdBrao3yoq|^f}fd{e51}a zqTtU}a9}8EL?)r0U@4BqU8oCH|2*U>=s1?a1E}-D%R=sL%z<@rA~wNOsMY@Z7xuZX zScCfKn1%bhTNIjO%<_=CiEXhRR{t{OTH)td44+{YEVLrzTHpYDhWoJ@{%>W-)x!*{ zLariq!@T$f=D}aEBR)l)*K&2pMKyHGC}{3~K%ICGhcN}I*Vu{EzOpC0h$T4w9E)So zuWjhNqi#4FtKuHaf!7U;JaA_n@vj?ZSZ^1uf(oy}s18lS!uT!f z1GfXye`6P_g++BfF2L2OMObr#E#Ai1o_ZhD>OX{ffM0QA$hq_ziGTI{@Mil!;w?7B zxlxO<2P%UNLRPC=h>LI;_Qfh&L+&kHhst<~zqJu-g!Z7z!8hP3-i2$W_91s2<-(<@i)TSX2~1&1F^8V(f$aa4l+x-`iy!pM?3S zZ$f3*E2!)Ijp|T}-F`jl3Q*9T)WSFx%ZJ#9`jR~%*AJ8IwJ;lwb*OI%>h6D*Ld&9t zxIR|KUZ@VP3F@a%Q;~L`Sst@e?~J9%KW-!iC6sNbTwm%(d--(7vef6Hrs5;DvT<#8=`#JiYX?fXM+2M^K@Cu9DDmMOnGWC`j5Dly%{Jc|E^Dqx1gc7ZBbntE5% z4Hlt}pT{^1{Ty=7F(+2RxL+(2c0pZuI;O$-sF&1w9Ehh-iLLe#n}T*2)rCKxpegta zHAiPq7kG#Yr}#&0s8gaAVNO)XdZ8}70yRPzk6DydLw&9;Hpk{ceNEsNtWEpwW5mD0 zA<^-WTgFh;L@k;-C+q@gPTJy$MP0Bos$2 z&)CpM&IXGQ^{yyzHfpQ9EDd@&v=0vS!{pS5<5--G3Ak{|b1Y8GbUx&I&P=e=g}+yblVII3fpP~lhbS9^!lL}kpOsHlj3O+j&g0(HT--|T(g z3R_eE05w-9P(99k-Ry&U!X2o!a0hjMo*N-o3rAuCJb=mYI4Z2KVP9?&4J{3pH>>`YK6_CUq)2-Jvt7I+qQd!jo24OYT)s7-8!dp7s= zP#tQIN>CqSEcbUSC}@uNqb~FiwFb)kVME+Ha2)DowHbATCqaAhKken!8Ebl682d-q z4?GUJrkq#eAG_`Z)Y>?PLov<2#J|FC8U=Y6Ct!mAY}L-dXV;` zTubU5URpxgih7X4sJX5G%BEx+7NmX?HBxC^*zb59R3e(-!WRFFY0%c{JZi||;)VSw zXo~tqG6?^seQ+r3reeRawZFo>9Cu#W-(>zTChSkaFR0DyQ%s2|;+r{f4)s!~40|Mg zH0&>;1PQF60+!*xpuqKbh58-TlO0SL_Fqb+6NTMi>MQXW9f(aF_DA4RlCVE@1CxgR zx91E@&v{!gGaf-b`MsbXFPhA5m=!y5pcU%GZ5WGZumv~x2eoJ#zD6BCK-G_;qU1l+ z2ouFW7{y6diFG7R|>14Hmk!h5y#gB^=)ab{wL}k@^8AZ)>70}N+0&)H)TfaNF_|m z2@O!;*9~>Ug{b&Hk9yxfMRhoJrm(-b%AqpaJE%S5%%FWA#!>$V_4$mM!+w~T#3Gus z`V^XQU<7JW9K#%#D2v^oAZqnCM_p(y+c+7#~-22Py0IYU!6kd*X_g=sD!Z>>*6C+0;-TV>~>Ip zGoP*IL~n%MD(aPRI^IStwqg0ht~d3M3xwThe1uDJP{FWE!tr#4!v0$}XJH%3F@=eL zEv6MTbisW%7V{PfyB@d>^#tjQhFvu*j#_j>P^owc>hqUT=RFVV>5JKUB~jtm4sYNL z)H`5E@vy(&m=mR-3$8@X?Gf~!9JMwolpxG-Cn_9sm1IP)A|}NKxDwl9fAmV(S{Z~H zsP95O(0SBmwqxnAzb{yT>R9w1g=`e!%7k5Gtb+CNQ%r(aQH$meRD93$Z2jGx!S@sv34rnCq7~8Xs4;2O3;6?B3=0|4Zi;DjuoCUB8rh<&)Wj0f2-FmPgUadO zqr&$$EP?5ohW#ztn}Nen(X|T0T<bw7F!q8Yxg!P0X@f&SfCYC%Kg@%@=2aH#D9AV728&`=jRaW7H6TiCPOsQJ;Igt?dJYrjW{0&E8=?>Pu9rb{TJ6d@5!Yb4+U>s(N zcCtbxR1|c=cW^c8i8FLI+XgNP{1p|Zxw=?N9*FA5I@HeR6~Z%D4#P31 zcSh88v&E7IH6-;=J?o9?=@jgVM^Jg7%-a?P15tDQKh(&aL9OmTP#Lj$cbk&VSc&>% z)RZ1Z-8j<2kB+FzKtUI(f%&i%sw1OO9a)A2a9_~=7za~N)zeo0B-9P(qNZjG*2IUX z&z0_FVfZ#`jm$v3Wq066#s77`;N082=~;*`6sW0q(bqPkHQ%ut4M8ocv8a6U88*dz zm3tAg6fwL?AmP<$OXpdRo77Ucf!83pw$Uw=EH8D6CRA!^Rr46yhfhYF{! zP#3s_y73Ftc_{{3d{;yzqQ0oLkoMiM|E04CYDBA{M!FkDwcDLWLGgVMH8d|#C+2>S zZFM|$G}wiDllQ~!C2qmdxOtFGU75j_7wV%DQ9DeBqfjrc`IsFyqSnf3)IQ?g;BeIc zK;9wtmTQ1Iumwxt=(Z zy2FV7TO4Rk!$_<++@@j|{zd%`KEbOWhFw=YH6rZhV_80@pYfc+2=y5wZ6h)VmB8|j zvL`K#3gZTt0H@<6oR50IA<@w`H)~OgY8PsVuA`>lKh)f29%FmKI)VLA`-WMl)Vl-U zqC-ESZkXfauscfqZPZJs)OZ`&E~sc(8W{baf)>?9R0onyur*KwwTfF~E_@$#-U8GV z9S%%5(K=WYHP`QA5uA+LfP5buKO5A&N%mmbkbDt!RVe62bMZag6x8!hw)b@n97Fqe zSQjf!u|3`d)Cm2Bx?#Fc>^gM*B^D6!~QBVT9j9OF=QE{4j zTG(yI3Rn;yV;#&s-PTGUyifg4OoEqZSUBEAZAM>VX4(_Yw0%V$)KvCHy%Xl*3dR55 z6m)?lvuvop3OtTq(EblqpDBB*F+iVE*ZLHiG= zMS2aR{OHa-prG*Cy}+LEAu4{$EwmKc6gyHMiGA@`?1zmO@$Hx=-Gy4+OPAPUUKO|< zV`={xzr;ULQ#osC*iFQYpArB4DJ=iYzTc<)++I4#mYI!^{<#^bt=25O%nk43Ui@V_ z-ve;Qim=;>R{U>u*q!104PS-bU7YweBT4(9wX6j$m}$Lr;EfGYD{R?db6sU) z*e&M+e+MqwMELN*YMaCEbK3iD3A-WGQ*I5rb<`()%MG#IcWmKke~jD177X+LWGS}eetQ>O#|M01_kpmB z;rNDwVfPvJ?+%6C0P1fYX3vN}{~UH7V4ovwV7Tt@N5ifoHa-z{cWB>m%EENf8QXJ4 zw@^@uOn=s1pYNjLd@WYOE2yngwsRKG-BF8iBr1_C3fzv>sGq~^nB~0f8!BUE>Z?&H z_%4>kL>K%YR77133dL!NqHeSaOX73X4T@c~Flvmtz&qFyr=a5d23ElbsJCd*OZNG; zsJG;&SQ|HDYJ85mUy930bi`jx3R+z6pgyo4b>gkS7Z^u9<(07e5R0SUnj27g;vQDO zG*`p!Cv1xCFw-^LJ%4~YZyc(_>rn}7JNm!>`-4J08WR6%Ls$}(iie^)vKX~p-iV#? zAZla^{AN#F4;4=DV>xu!Z6wQMMyg{_53mH4=ys!aMkmq#`CsUU?OrQlKNiWS*o70q zH^ctVY`bGGeE>Dom2TNfY9#7O=HPxjfa>6k+vZ=W4z;>tpPPwVTc=SY68|pouO}^h z*G8Zj>dB&ki%?Ut9dF_V+=hGaS^J1T?1>g*0@}Ypy*;;KQ#=~9=ls*!3!v6cHB>5I z@MqM18nvGWT_D+go1=87l$;&4=n4fkKz*<;R>k?K#d--fx2Ydk2F!-B)Qbc*K~2HC z*aT;x&c79<@F|7IsF%yQhh#E5h8m)&kL<*6QFFH!JK$+l7?yl&Bi00UgZ`)yn-RDn zIDQ<5(f$BmV4o+pFNpT~%U-Lq@ev2Ep}z5)d}?tU`?sy`PN<<>g6ha-d=2-b!tNZZ zL*ajHjfDbM6lTvbA-?v~-uD@?KJ_}N z9nWlJ$Kp<4QOx(s=Dr=)ram+95-P*xW@o5#_I`KZqh+#Pr?IG!$H#Lo*Y11AJ-N9Bh61nLEmsk&OFb@m#NS5u!8X)C$N2aH zHRs-I5&ySkWl{A{Q3-25R>uEci`r0?OA&D$Y4{L(huF(uCF*rk+YnB~x2Ru2ZN18* zvCpkU#s3}D2*#zgk?N0n(oLw2rAuem8Hl>hK2(&&Mbk&zObUHbt22}#;>T|))P;+o zQf4o#jtc^>2Ik6WYo{01;P@g`c>adU15Yt6rp*-b6Iub(^~$2cHQJkk63sYN*sMp* z?RnHH_A*<~E2A#-DQYTKV`|)sy5U(=ez=P|FJ2ZiJu1Z)!V1_FHL}yOoZ|mja3E<` zJ5UdG;w04SK7i^_Oty%hABvzl+8*O@JZg=s4tx|?HrColq2~S|s$;KE?}oH-8d2h} z7X^JmSch#n@I&^9zgx|m!)~+}-{bfnsJZN%%NEs6^mL)z5&x@LW=uf68meRUaR$DF zdZ2iDY>ibyjo4C5&;8v-3Zz1J7&Rx?u^qbCErGO0wNF7k`6|?Rx)Z3Wc!i}feO`-( zMyRh|ALIMD6g2{A^F{oPPCfjP`f`lwLOI@uxEO4RS~M*J2chP8cHkNuM|~G61=r5c zDh~6`Kn-bu!V&-P2uETw>Y0i}{2yNT$NALHVlsTUs9kqdQQ|)l4RdJ7h@Ydri0ni? z!5^rhj9)C`{=~efA6TX@Zfm1Y35(-ZIE3SOur|lLl#KW}{;N_Ef2VUi(3Ot3L7Z0* z$K&$SQTt%QGR!3(T!GpeeO)%<@9{36q9aW?n~I8dKFDo0#tZqNZIQ=ePK z4O9D)aGdWT0n1$5*dYy>BW@^^6Cuxj{IX)5f9R9z~5ZqYXb8TI zpJ7i-(2ywM{%#;firN`%!-RMf^_F{x+R6Njy)j#3o03VWFx!tx zJZDf-k*0}_L`_tOn_^U}y(6%0D*l0=VByY|KYl=UphFkiL5)K#zEfBSUt$uh-POV} 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 delta 13344 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 delta 14733 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 bh>NQbSH4(m$=KMj8;^%=-gw*}_VWJ$sC126 diff --git a/resources/localization/zh_tw/PrusaSlicer.mo b/resources/localization/zh_tw/PrusaSlicer.mo index 61b0de019163397125bc02dce3d7d7900d96c08b..c97213f7f53f70a5e97b2272343699544efe4b60 100644 GIT binary patch delta 12501 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 delta 12524 zcmXZid4NwIvV~D57QcSjxWy)4c z52MABNKr(QB~fGvHBWfnpWpfZ^*ZO=vwY8Xf7h~hS;UcL5%0eeAB^%nZ|LHXSIYCe z^KXT`mofBq$V7(w|y zEP~%z`Q>GSYk0#7a!fzd4HSXuurMl+a;T1KqXuk@k6=qwy{_g!dp_QrgbFwvHPK9S zLqI}HvI9%wSNH&4M$Pmp7Q??$kr#T$l~=%Z3L0inQ2jXEdr|Eb4I8#TZUc3hHo;e%Gx?I%);qK(*g& z?!eaMccTK1T;l>u#JpbMc}d}f=e0JUN9|=#tb{}HDO`ez`~+6RKT$J{UhB%MpaN=) zI{h6`&$plg+Kq#8ua(zY$HW=mYfM4|K8Fpk2Wsz^nrqAt%umcOP%CrTJc|n878b|6 z@3~tOg9@Y}w!vh}zlDJwtRI|Q*rhBkhc>nZEzi4L><<@EdMvE z{ev6bgi50NuV^Ns&O#FEaK5{d`>zV0QlRT}z#e>y3FI%Kmafz$*HH{Auz1v&NkTnu zhYF-Ks=sdLK-5Z(L)D*b<*(yn@|l|g*Pw2e>!=y3gVv}QPG{7TjzMkFEYyIDQ1voV z18gw2V?pw}QMcuYc@vwFk9yy=e*ra--T?`9FvcFFVLbU6SPMTw?d4U}3?BNx1y&3d zKuy&9;c2roHX=U~)z4N``wOW4?xSu&t<5fwpsOYNpduQG+QW%fKHq!`HQ)+Vy)0C{ zJ*WVVqgL!XYUcU3xO&x4&l{UvP!k^I47`aX^bVhCE<_FVuDQkBZGLV3hzjH)YD;oZ zD-_!5-UEeDfyCqE_#DRKSj#WN2;KkBNW8~`L#U3%Z*xnPhE>RKM+I~aHNZ8~+wSTY zM3on{{1awX)GN6b>bGMUYAdFhnOI5pe+LOgcpjT#-Va0GK71B6aIufvK;=5x8Q090x_Tafs-H%0gR7V?8 z*X2v>gjX%!{J(C1VW@gz&3WcJtV8)8R3QIDt&G1bin&uBfdWZ!X8iQKkyIP8NO z=OwLdtDGU^D3wS8={_f#L4&~cER6K z{XBEXtw_qDz;)Q20zDXn8eoh$1r_-`RDcUnhifCo;eO16cTnx_oB0mA50c`j^2f|d zW^GizO#%|y(^ja6UqH=Z5O%|9sDaO;I?6%KG|xA#ehE~0B~-oIR^HmmyP7YVV^N>) zQ&B4$Tp^)vvZy02qH(B|2rQqD8epEe6cy-us6+KJY9{;a`C(MYr!1fATi3o2D!|gH zZ@-$zIDyxSggQ(`eQx(f-GX_jpU+IxKtG}e`VDo@|HPRX`(4QEfLW-o=iEm_-h50# zeG?u>wL68H*g5k`xSacUhlB>Whni`=W3EAQ98JCqs{BpV(yzp0xZTQUfA40t7&Sl^ zYC=2A{ipy=pw7-2)JpuT=eqxo{NM&ChiX{O@(pni`D9cFJ5U4cHV;4!GZkHcozXcD9qsub)LxD>r<;pWTe1Q5YTkqD_mp`F)!%JY z``nk^^PspTVo@E`uzU+tARSN*hN7<1WYn+TbkuLee=rNPP^Y{5@6HKWjr>AXAbU|~ zV0;RfqdGWaUNodeM{WZ1nWK=+%FwlcRBy=iAqViKw9cNg65h{>OD_@7|U^^<1{gyv%-mvlque;|Z zQT3~vO|TaE=dW}Bb-L$JPy&~uR$!-j9JQx^q3Y$j;p!DbmDfN8o`ia_w8z(QAZj8x zI2=Pa-5D8)3U~qPw`2WH?!RVM^Dh_SQ>dj(K?U*>>eV_OwX}=yJN(d|XWVjutU-1B zq4_l`fODvsUqIMk^QP%~ZrM&4#60}XM75_S2&9d{9n zph7Nd*27oGx3l~=m_+^(s;9WWL*5X467_+<0TtR2)blH-NbX`M%=M4E4&DA?vvdz8 zP@py2jB2nG^(HuoIyIN=`5jcpp&a+e+Q(4$rZ-l_{-}Z8G?${@sjE=^Y(`CV7i#Ul z&0(_?z;z0yVTJ#>3Y$=ylx=>8n%M=6$B2L3mqmSSPQD+i<1Exbdr&KQ*z&)bw@m-8 zn`nW+64AJX2Gvj<9Y7t!pHMgZD(V&1=$@PT6x7!3NBtr1G^*Y2<~`I(6}s=9$DxjM zT~xicn1DfV5*10jX$8Acub!J`QO^(0s6N)Ayg6>gNvI`E4Ef1}cp_y!UGW(e$Q30l5 zG5z$HoYG$KmddTuuP#xr;4r}NEmoJ3++AM}z;w034>wwzIai}wtj#`OL z7^Ro>M$g(L=#9yHzJZWCH@;rH5c~MloIP*!fHLByTcnXK1epg#RgXFn9U3iByY$Lmp%eS-S+IEK2G*HBBCk=K&sSObRx{f? zgsOKEHO^VAiNPNv8j&cQ-&N>k4nS2Lh8pl?)Y8pBZP60c>3-kJzeNpj0d;u)KuzS~ zNLQ~Us{NCw_HB{hkihFlLIb^LZbfzUUo4MbU^)C9D`R8ccI>#2h3kEP~?A;&~^A1)nTqj-Tf_t>Zl)T>BgY~{ExW`^$qnQ zYQ|roCUO&X2113MWl;4Rq9)W16-bZ5+<$dAmI4hh3uAF5Y6T9UW^lwjg{prMb%=6M zhp=Fj3p@ceKpRxOE~tKoSbm1N#M~Ig{g0-?ZVI$VXHfaOs6+Qy5!Z1e)O+Ct)U_Fd zn!$S1A>D&IjK84*%U{&ZJO&j|V@$+nF%GAr0^Ayq&{FNSf?rVq{Da!l;>BFWil~kn zm@TZl1FGHtD<6-V@pLm2)&EDRE&2h~&wY%+AYXCcn@b`dwUoOtFE5_6c!&HSCD=Ri z=S%wDZSsGY^1W2@e?G=7z^2i@mw=PY_}*onZ!7D2Yw?|Oe)!9%MU3yACjUArfDwm4AZO zC_jYpy8rh`Xo;%Dx(01f9rdyNSj*2r?e#mT!}+E8wLL$I8t@`2@VltM3P0iM$D<}v z8@2S$sGRY=fh4piBdkJT`MIh<`P-;JbgeWu;|DBxHmakM75(tn@g!V312(7n8hYEY!M zs~C&gvpCd@>Z4}T9<^mJp|)hKISJK112w=~<|Z@So*%XRd1v6=A)yW<>bQnQF~kZ~ z!f48?)b+hGn2cJ&!KnJ_sKDMt4V-1}Lj7nRM$PyaR6xI(|HEPABkQR>_b(tZoPtHD zui=RLwi2k@5sN8U4`0XGsFjFr;8v&>Dxf4(d0W(g{ZIjn$2^#Z`cv{uRQ)@8uKSZJmB>Z~a@6wC&-mU5@(Isy|J#sQO~EAm3v~;|Ga46lz488wmGGG9wQ^^max3n?D!xs@G?wxs z{D%Bft^M%792RKfd+(C}1b@I@&-&rNAFtQe_kJe799v;piti1;gIJt?5}$K{v~A~m z$0;9&IhfMkO(Z$h5C8X<*#U_oJSfzGGeE<0m`wii^S<{I*6!$gzv2q)f$5#XpUvK7 z)Qqckb}QByb&X#$x1+Z3XY7eDcJaNAcmNw=%nQD^1A{&!o+MGatMA>!7jPQ3?dF#D zd(`1d>F!n{u7@A~`|+cw!#J_0AN~(LpX2A`NA~i={}x)Ox9`m&e;;**X7zEe;4EC@ z^QDFS`)%OO?C%au@&K+KD=-&dp+V+L92)Ya2D%@Y{)5~tS%&?2zS{En2fOQ37p%4Sr5$5DZtMm@iQT8aCp{-Z{5|5YKHgiOGS*wpevQ4J@fUbS;k z9j`^bn6fM%IofSe6lz71Q3Fgs)t`ns1G7=%e1JN0pO5DL>x07|;~JDj&9pKOz=o(p zwhr}U^rt<)YZe;o?ss`qfDKSHOhpYm5H*1jRvut|@(WP6=g3&@zg`S?DJX~)#<_-d zQ4JeezBOtO+grX5Rv|yo@{3UQGqEskuzWVE|3lar|3SUb+K>0Wfw(jvp-A(->@0|S zV->|QSQWEyHD1Hi3BGq0o4w-Rm=#}juE)KU$4&ITm3RxE$Hh!gXXQF-oStd!NA5+` zt2`J*LVL0THG^%a2=}1&@Zm{rX`{@lsPbp99HyX_d=%;%aTaQ&wxG_)XZF0@WIy~L zd+MOh!neqH{Qi^B8OSxoedWfW_9g-K9_WU8eiHR%lY_(X9@fR7Q(cGausZoeI1;^S zzIOsfq3X4n?zUnk)*!zHo9q5xBvG7#_!;gKswGB~PeUE5cTn$v9he6rX1W!41hu54 z%oxD%?OVm7ne!K7nP)*F^p8cn5P7 zY71Vs{94o&eTf?I8`R4EgbMfDK@-@sPvmI){-lz`8 zn`x-CG{aniYQNF)pPJv8=Vo#L)!;S-iZpMA>!65P5j8*q)RrV!zBj7=OQ`l^Q7bdc z$~U0S%nnqb$5AVA71iGj)HVGlgKMEgLa3Ql8YR{ul z^(tCIJWoP=^8P6+7GVOHeagV{SqXu+5(DLUnY|ykzCMUvpdX zs2Pjeg1V^wo<(g<2lqViM!SSJ(|il{Nwx`fZ4RIUJb~)qS5zQZEPn^JQuk2TIPYAy z0x_t1HBjxJM7}$`mZ-DP8bjWcpL=}xbC1y8I Date: Mon, 5 Jul 2021 16:09:42 +0200 Subject: [PATCH 75/80] Changed the profile directory to PrusaSlicer, not PrusaSlicer-beta Bumped up version number to 2.3.2-rc --- src/slic3r/GUI/GUI_App.cpp | 4 ++-- version.inc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index cc34248e4..3ce42598d 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -713,8 +713,8 @@ bool GUI_App::init_opengl() void GUI_App::init_app_config() { // Profiles for the alpha are stored into the PrusaSlicer-alpha directory to not mix with the current release. -// SetAppName(SLIC3R_APP_KEY); - SetAppName(SLIC3R_APP_KEY "-beta"); + SetAppName(SLIC3R_APP_KEY); +// SetAppName(SLIC3R_APP_KEY "-beta"); // SetAppDisplayName(SLIC3R_APP_NAME); // Set the Slic3r data directory at the Slic3r XS module. diff --git a/version.inc b/version.inc index a02ece0dc..c45e05843 100644 --- a/version.inc +++ b/version.inc @@ -3,7 +3,7 @@ set(SLIC3R_APP_NAME "PrusaSlicer") set(SLIC3R_APP_KEY "PrusaSlicer") -set(SLIC3R_VERSION "2.3.2-beta") +set(SLIC3R_VERSION "2.3.2-rc") set(SLIC3R_BUILD_ID "PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN") set(SLIC3R_RC_VERSION "2,3,2,0") set(SLIC3R_RC_VERSION_DOTS "2.3.2.0") From a2b337ee4543f7fbbde07ca5b929baf9da410dbf Mon Sep 17 00:00:00 2001 From: YuSanka Date: Tue, 12 Jan 2021 14:54:58 +0100 Subject: [PATCH 76/80] Fix of #5163 and #5505 - Vertical cutting of the preset comboboxes on a sidebar --- src/slic3r/GUI/PresetComboBoxes.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/slic3r/GUI/PresetComboBoxes.cpp b/src/slic3r/GUI/PresetComboBoxes.cpp index 880a4cb6a..ed8824a67 100644 --- a/src/slic3r/GUI/PresetComboBoxes.cpp +++ b/src/slic3r/GUI/PresetComboBoxes.cpp @@ -887,9 +887,13 @@ void PlaterPresetComboBox::update() if (!tooltip.IsEmpty()) SetToolTip(tooltip); +#ifdef __WXMSW__ + // Use this part of code just on Windows to avoid of some layout issues on Linux + // see https://github.com/prusa3d/PrusaSlicer/issues/5163 and https://github.com/prusa3d/PrusaSlicer/issues/5505 // Update control min size after rescale (changed Display DPI under MSW) if (GetMinWidth() != 20 * m_em_unit) SetMinSize(wxSize(20 * m_em_unit, GetSize().GetHeight())); +#endif //__WXMSW__ } void PlaterPresetComboBox::msw_rescale() From 5ff717d3c0bfadc0dacbbec8ea8e82b31875cbd6 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Wed, 7 Jul 2021 10:47:48 +0200 Subject: [PATCH 77/80] Localization: Updated UK dictionary --- resources/localization/PrusaSlicer.pot | 4 +- resources/localization/uk/PrusaSlicer.mo | Bin 386923 -> 388690 bytes resources/localization/uk/PrusaSlicer_uk.po | 366 +++++++++++--------- 3 files changed, 202 insertions(+), 168 deletions(-) diff --git a/resources/localization/PrusaSlicer.pot b/resources/localization/PrusaSlicer.pot index 915c56d84..9a724aabf 100644 --- a/resources/localization/PrusaSlicer.pot +++ b/resources/localization/PrusaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-07-01 16:50+0200\n" +"POT-Creation-Date: 2021-07-07 13:33+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2486,7 +2486,7 @@ msgid "The following values were substituted:" msgstr "" #: src/slic3r/GUI/GUI.cpp:341 -msgid "Please review the substitutions and adjust them if needed." +msgid "Review the substitutions and adjust them if needed." msgstr "" #: src/slic3r/GUI/GUI.cpp:351 src/slic3r/GUI/Plater.cpp:696 diff --git a/resources/localization/uk/PrusaSlicer.mo b/resources/localization/uk/PrusaSlicer.mo index 261f08384a8b210f39a5a567280a48165c0c8425..4dd82bbc438b40b54eb656d9132fcc2d9aa1d37e 100644 GIT binary patch delta 55830 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 delta 54738 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 z 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 LbB`BZZ@vBt4&y&A diff --git a/resources/localization/uk/PrusaSlicer_uk.po b/resources/localization/uk/PrusaSlicer_uk.po index 4edd2fa9e..c6757f6f9 100644 --- a/resources/localization/uk/PrusaSlicer_uk.po +++ b/resources/localization/uk/PrusaSlicer_uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-30 16:33+0200\n" -"PO-Revision-Date: 2021-06-30 16:36+0200\n" +"POT-Creation-Date: 2021-07-07 13:33+0200\n" +"PO-Revision-Date: 2021-07-07 13:37+0200\n" "Last-Translator: Oleksandra Iushchenko \n" "Language-Team: \n" "Language: uk\n" @@ -397,7 +397,6 @@ msgid "First layer height" msgstr "Висота першого шару" #: src/slic3r/GUI/ConfigManipulation.cpp:81 -#, fuzzy, c-format msgid "" "The Spiral Vase mode requires:\n" "- one perimeter\n" @@ -556,7 +555,7 @@ msgstr "філаменти" msgid "SLA print" msgstr "SLA-друк" -#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/GUI.cpp:318 +#: src/slic3r/GUI/ConfigSnapshotDialog.cpp:60 src/slic3r/GUI/GUI.cpp:353 #: src/slic3r/GUI/Plater.cpp:697 src/libslic3r/Preset.cpp:1309 msgid "SLA material" msgstr "SLA-матеріал" @@ -969,7 +968,7 @@ msgid "SLA Technology Printers" msgstr "Принтери технології SLA" #: src/slic3r/GUI/ConfigWizard.cpp:2278 src/slic3r/GUI/DoubleSlider.cpp:2265 -#: src/slic3r/GUI/DoubleSlider.cpp:2285 src/slic3r/GUI/GUI.cpp:245 +#: src/slic3r/GUI/DoubleSlider.cpp:2285 src/slic3r/GUI/GUI.cpp:246 msgid "Notice" msgstr "Зауваження" @@ -1007,7 +1006,7 @@ msgstr "Далі >" msgid "&Finish" msgstr "Завершити" -#: src/slic3r/GUI/ConfigWizard.cpp:2559 src/slic3r/GUI/FirmwareDialog.cpp:151 +#: src/slic3r/GUI/ConfigWizard.cpp:2559 src/slic3r/GUI/FirmwareDialog.cpp:153 #: src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp:248 #: src/slic3r/GUI/ProgressStatusBar.cpp:26 #: src/slic3r/GUI/UnsavedChangesDialog.cpp:656 @@ -1498,31 +1497,31 @@ msgstr "" "Недійсний формат введення. Очікується вектор розмірів у наступному форматі: " "\"%1%\"" -#: src/slic3r/GUI/FirmwareDialog.cpp:150 +#: src/slic3r/GUI/FirmwareDialog.cpp:152 msgid "Flash!" msgstr "Прошити!" -#: src/slic3r/GUI/FirmwareDialog.cpp:152 +#: src/slic3r/GUI/FirmwareDialog.cpp:154 msgid "Flashing in progress. Please do not disconnect the printer!" msgstr "Триває прошивка. Будь ласка, не від'єднуй принтер!" -#: src/slic3r/GUI/FirmwareDialog.cpp:199 +#: src/slic3r/GUI/FirmwareDialog.cpp:201 msgid "Flashing failed" msgstr "Помилка прошивки" -#: src/slic3r/GUI/FirmwareDialog.cpp:282 +#: src/slic3r/GUI/FirmwareDialog.cpp:284 msgid "Flashing succeeded!" msgstr "Прошивка вдалася!" -#: src/slic3r/GUI/FirmwareDialog.cpp:283 +#: src/slic3r/GUI/FirmwareDialog.cpp:285 msgid "Flashing failed. Please see the avrdude log below." msgstr "Помилка прошивки. Будь ласка, переглянте журнал avrdude нижче." -#: src/slic3r/GUI/FirmwareDialog.cpp:284 +#: src/slic3r/GUI/FirmwareDialog.cpp:286 msgid "Flashing cancelled." msgstr "Прошивку скасовано." -#: src/slic3r/GUI/FirmwareDialog.cpp:332 +#: src/slic3r/GUI/FirmwareDialog.cpp:334 #, c-format msgid "" "This firmware hex file does not match the printer model.\n" @@ -1539,7 +1538,7 @@ msgstr "" "Продовжити роботу та все одно прошити цей hex-файл?\n" "Будь ласка, продовжуйте, тільки якщо ви впевнені, що це правильно робити." -#: src/slic3r/GUI/FirmwareDialog.cpp:419 src/slic3r/GUI/FirmwareDialog.cpp:454 +#: src/slic3r/GUI/FirmwareDialog.cpp:421 src/slic3r/GUI/FirmwareDialog.cpp:456 #, c-format msgid "" "Multiple %s devices found. Please only connect one at a time for flashing." @@ -1547,7 +1546,7 @@ msgstr "" "Знайдено кілька пристроїв %s . Будь ласка, підключайте лише один пристрій " "для прошивки." -#: src/slic3r/GUI/FirmwareDialog.cpp:436 +#: src/slic3r/GUI/FirmwareDialog.cpp:438 #, c-format msgid "" "The %s device was not found.\n" @@ -1557,70 +1556,70 @@ msgstr "" "Пристрій %s не знайдено.\n" "Якщо пристрій підключений, натисніть кнопку Скинути поруч з USB-роз'ємом ..." -#: src/slic3r/GUI/FirmwareDialog.cpp:548 +#: src/slic3r/GUI/FirmwareDialog.cpp:550 #, c-format msgid "The %s device could not have been found" msgstr "Пристрою %s не знайдено" -#: src/slic3r/GUI/FirmwareDialog.cpp:645 +#: src/slic3r/GUI/FirmwareDialog.cpp:651 #, c-format msgid "Error accessing port at %s: %s" msgstr "Помилка доступу до порту на %s: %s" -#: src/slic3r/GUI/FirmwareDialog.cpp:647 +#: src/slic3r/GUI/FirmwareDialog.cpp:653 #, c-format msgid "Error: %s" msgstr "Помилка: %s" -#: src/slic3r/GUI/FirmwareDialog.cpp:777 +#: src/slic3r/GUI/FirmwareDialog.cpp:782 msgid "Firmware flasher" msgstr "Пепепрошивка" -#: src/slic3r/GUI/FirmwareDialog.cpp:802 +#: src/slic3r/GUI/FirmwareDialog.cpp:807 msgid "Firmware image:" msgstr "Імідж прошивки:" -#: src/slic3r/GUI/FirmwareDialog.cpp:805 +#: src/slic3r/GUI/FirmwareDialog.cpp:810 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:291 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:366 msgid "Browse" msgstr "Переглянути" -#: src/slic3r/GUI/FirmwareDialog.cpp:807 +#: src/slic3r/GUI/FirmwareDialog.cpp:812 msgid "Serial port:" msgstr "Послідовний порт:" -#: src/slic3r/GUI/FirmwareDialog.cpp:809 +#: src/slic3r/GUI/FirmwareDialog.cpp:814 msgid "Autodetected" msgstr "Автоматично виявлено" -#: src/slic3r/GUI/FirmwareDialog.cpp:810 +#: src/slic3r/GUI/FirmwareDialog.cpp:815 msgid "Rescan" msgstr "Пересканувати" -#: src/slic3r/GUI/FirmwareDialog.cpp:817 +#: src/slic3r/GUI/FirmwareDialog.cpp:822 msgid "Progress:" msgstr "Прогрес:" -#: src/slic3r/GUI/FirmwareDialog.cpp:820 +#: src/slic3r/GUI/FirmwareDialog.cpp:825 msgid "Status:" msgstr "Статус:" -#: src/slic3r/GUI/FirmwareDialog.cpp:821 +#: src/slic3r/GUI/FirmwareDialog.cpp:826 msgid "Ready" msgstr "Готово" -#: src/slic3r/GUI/FirmwareDialog.cpp:841 +#: src/slic3r/GUI/FirmwareDialog.cpp:846 msgid "Advanced: Output log" msgstr "Розширений: журнал виводу" -#: src/slic3r/GUI/FirmwareDialog.cpp:852 +#: src/slic3r/GUI/FirmwareDialog.cpp:857 #: src/slic3r/GUI/Mouse3DController.cpp:551 #: src/slic3r/GUI/PrintHostDialogs.cpp:200 msgid "Close" msgstr "Закрити" -#: src/slic3r/GUI/FirmwareDialog.cpp:902 +#: src/slic3r/GUI/FirmwareDialog.cpp:907 msgid "" "Are you sure you want to cancel firmware flashing?\n" "This could leave your printer in an unusable state!" @@ -1628,11 +1627,11 @@ msgstr "" "Ви впевнені, що хочете скасувати перепрошивку?\n" "Це може привести ваш принтер у непридатний стан!" -#: src/slic3r/GUI/FirmwareDialog.cpp:903 +#: src/slic3r/GUI/FirmwareDialog.cpp:908 msgid "Confirmation" msgstr "Підтвердження" -#: src/slic3r/GUI/FirmwareDialog.cpp:906 +#: src/slic3r/GUI/FirmwareDialog.cpp:911 msgid "Cancelling..." msgstr "Скасування..." @@ -1814,18 +1813,18 @@ msgid "Custom G-codes" msgstr "Користувацькі G-коди" #: src/slic3r/GUI/GCodeViewer.cpp:4375 src/slic3r/GUI/GCodeViewer.cpp:4399 -#: src/slic3r/GUI/GUI.cpp:319 src/slic3r/GUI/Plater.cpp:698 +#: src/slic3r/GUI/GUI.cpp:354 src/slic3r/GUI/Plater.cpp:698 #: src/libslic3r/PrintConfig.cpp:117 msgid "Printer" msgstr "Принтер" #: src/slic3r/GUI/GCodeViewer.cpp:4377 src/slic3r/GUI/GCodeViewer.cpp:4404 -#: src/slic3r/GUI/GUI.cpp:315 src/slic3r/GUI/Plater.cpp:694 +#: src/slic3r/GUI/GUI.cpp:350 src/slic3r/GUI/Plater.cpp:694 msgid "Print settings" msgstr "Параметри друку" #: src/slic3r/GUI/GCodeViewer.cpp:4380 src/slic3r/GUI/GCodeViewer.cpp:4410 -#: src/slic3r/GUI/GUI.cpp:317 src/slic3r/GUI/Plater.cpp:695 +#: src/slic3r/GUI/GUI.cpp:352 src/slic3r/GUI/Plater.cpp:695 #: src/slic3r/GUI/Tab.cpp:1801 src/slic3r/GUI/Tab.cpp:1802 msgid "Filament" msgstr "Філамент" @@ -2497,7 +2496,7 @@ msgstr "Автогенерація видалить всі відредагов msgid "Are you sure you want to do it?" msgstr "Ви впевнені, що хочете це зробити?" -#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:257 +#: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1129 src/slic3r/GUI/GUI.cpp:258 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:621 #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:645 #: src/slic3r/GUI/WipeTowerDialog.cpp:45 src/slic3r/GUI/WipeTowerDialog.cpp:366 @@ -2608,42 +2607,53 @@ msgstr "Вийти з режиму малювання підтримок" msgid "Add supports" msgstr "Додати підтримки" -#: src/slic3r/GUI/GUI.cpp:295 src/slic3r/GUI/UnsavedChangesDialog.cpp:149 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 -#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 -msgid "Undef" -msgstr "Невизначений" +#: src/slic3r/GUI/GUI.cpp:305 +msgid "Undefined" +msgstr "Невизначено" -#: src/slic3r/GUI/GUI.cpp:304 -msgid "new unknown value %1% was changed to default value %2%" +#: src/slic3r/GUI/GUI.cpp:330 +msgid "%1% was substituted with %2%" +msgstr "%1% було замінено на %2%" + +#: src/slic3r/GUI/GUI.cpp:339 +msgid "" +"Most likely the configuration was produced by a newer version of PrusaSlicer " +"or by some PrusaSlicer fork." msgstr "" -"нове невідоме значення %1% було змінено на значення за промовчанням %2%" +"Швидше за все, конфігурація була виготовлена новішою версією PrusaSlicer або " +"деяким форкем PrusaSlicer." -#: src/slic3r/GUI/GUI.cpp:316 src/slic3r/GUI/Plater.cpp:696 +#: src/slic3r/GUI/GUI.cpp:340 +msgid "The following values were substituted:" +msgstr "Замінено такі значення:" + +#: src/slic3r/GUI/GUI.cpp:341 +msgid "Review the substitutions and adjust them if needed." +msgstr "Перегляньте заміни та за потреби відрегулюйте їх." + +#: src/slic3r/GUI/GUI.cpp:351 src/slic3r/GUI/Plater.cpp:696 msgid "SLA print settings" msgstr "Параметри SLA-друку" -#: src/slic3r/GUI/GUI.cpp:332 -msgid "" -"Loading profiles found following incompatibilities:%1% To recover these " -"files, incompatible values were changed to default values.\n" -" But data in files won't be changed until you save them in PrusaSlicer." -msgstr "" -"Під час завантаження профілів було знайдено наступні несумісності:%1% Щоб " -"відновити ці файли, несумісні значення було змінено на значення за " -"промовчанням.\n" -" Але дані у файлах не будуть змінені, поки ви не збережете їх у PrusaSlicer." +#: src/slic3r/GUI/GUI.cpp:355 src/slic3r/GUI/PhysicalPrinterDialog.cpp:156 +msgid "Physical Printer" +msgstr "Фізичний принтер" -#: src/slic3r/GUI/GUI.cpp:349 +#: src/slic3r/GUI/GUI.cpp:368 msgid "" -"Loading %1% file found incompatibilities.\n" -"To recover this file, incompatible values were changed to default values:" -"%2%But data in files won't be changed until you save them in PrusaSlicer." +"Configuration bundle was loaded, however some configuration values were not " +"recognized." msgstr "" -"Завантаження %1% файла виявили несумісність.\n" -"Щоб відновити цей файл, несумісні значення було змінено на значення за " -"промовчанням:%2% Але дані у файлах не змінюватимуться, доки ви не збережете " -"їх у PrusaSlicer." +"Пакет конфігурації завантажено, проте деякі значення конфігурації не " +"розпізнано." + +#: src/slic3r/GUI/GUI.cpp:378 +msgid "" +"Configuration file \"%1%\" was loaded, however some configuration values " +"were not recognized." +msgstr "" +"Файл конфігурації \"%1%\" завантажено, однак деякі значення конфігурації не " +"розпізнаються." #: src/slic3r/GUI/GUI_App.cpp:247 msgid "is based on Slic3r by Alessandro Ranellucci and the RepRap community." @@ -2707,7 +2717,7 @@ msgstr "Вийти, я зараз перенесу свої дані" msgid "Start the application" msgstr "Запустити програму" -#: src/slic3r/GUI/GUI_App.cpp:589 +#: src/slic3r/GUI/GUI_App.cpp:591 #, c-format msgid "" "%s has encountered an error. It was likely caused by running out of memory. " @@ -2722,11 +2732,11 @@ msgstr "" "\n" "Тепер застосування буде припинено." -#: src/slic3r/GUI/GUI_App.cpp:592 +#: src/slic3r/GUI/GUI_App.cpp:594 msgid "Fatal error" msgstr "Критична помилка" -#: src/slic3r/GUI/GUI_App.cpp:596 +#: src/slic3r/GUI/GUI_App.cpp:598 msgid "" "PrusaSlicer has encountered a localization error. Please report to " "PrusaSlicer team, what language was active and in which scenario this issue " @@ -2739,11 +2749,11 @@ msgstr "" "\n" "Тепер застосування буде припинено." -#: src/slic3r/GUI/GUI_App.cpp:599 +#: src/slic3r/GUI/GUI_App.cpp:601 msgid "Critical error" msgstr "Критична помилка" -#: src/slic3r/GUI/GUI_App.cpp:747 +#: src/slic3r/GUI/GUI_App.cpp:749 msgid "" "Error parsing PrusaSlicer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error. Your user profiles will " @@ -2753,7 +2763,7 @@ msgstr "" "пошкоджений. Спробуйте вручну видалити файл, щоб оговтатися від помилки. Це " "не вплине на профілі користувачів." -#: src/slic3r/GUI/GUI_App.cpp:753 +#: src/slic3r/GUI/GUI_App.cpp:755 msgid "" "Error parsing PrusaGCodeViewer config file, it is probably corrupted. Try to " "manually delete the file to recover from the error." @@ -2761,7 +2771,7 @@ msgstr "" "Помилка під час розбору файлу конфігурації PrusaGCodeViewer, можливо, він " "пошкоджений. Спробуйте вручну видалити файл, щоб оговтатися від помилки." -#: src/slic3r/GUI/GUI_App.cpp:807 +#: src/slic3r/GUI/GUI_App.cpp:809 #, c-format msgid "" "%s\n" @@ -2770,26 +2780,26 @@ msgstr "" "%s\n" "Бажаєте продовжити?" -#: src/slic3r/GUI/GUI_App.cpp:809 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 +#: src/slic3r/GUI/GUI_App.cpp:811 src/slic3r/GUI/UnsavedChangesDialog.cpp:665 msgid "Remember my choice" msgstr "Пам'ятати мій вибір" -#: src/slic3r/GUI/GUI_App.cpp:844 +#: src/slic3r/GUI/GUI_App.cpp:846 msgid "Loading configuration" msgstr "Завантаження конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:915 +#: src/slic3r/GUI/GUI_App.cpp:917 msgid "Preparing settings tabs" msgstr "Підготовка вкладок параметрів" -#: src/slic3r/GUI/GUI_App.cpp:1132 +#: src/slic3r/GUI/GUI_App.cpp:1134 msgid "" "You have the following presets with saved options for \"Print Host upload\"" msgstr "" "У вас є наступні пресети із збереженими параметрами для \"Завантаження хоста " "друку(\"Print Host upload\")\"" -#: src/slic3r/GUI/GUI_App.cpp:1136 +#: src/slic3r/GUI/GUI_App.cpp:1138 msgid "" "But since this version of PrusaSlicer we don't show this information in " "Printer Settings anymore.\n" @@ -2799,7 +2809,7 @@ msgstr "" "параметрах принтера.\n" "Ці параметри будуть доступні у налаштуваннях фізичних принтерів." -#: src/slic3r/GUI/GUI_App.cpp:1138 +#: src/slic3r/GUI/GUI_App.cpp:1140 msgid "" "By default new Printer devices will be named as \"Printer N\" during its " "creation.\n" @@ -2809,150 +2819,150 @@ msgstr "" "їх створення.\n" "Примітка: Цю назву можна змінити пізніше в налаштуваннях фізичних принтерів" -#: src/slic3r/GUI/GUI_App.cpp:1141 src/slic3r/GUI/PhysicalPrinterDialog.cpp:691 +#: src/slic3r/GUI/GUI_App.cpp:1143 src/slic3r/GUI/PhysicalPrinterDialog.cpp:691 msgid "Information" msgstr "Інформація" -#: src/slic3r/GUI/GUI_App.cpp:1154 src/slic3r/GUI/GUI_App.cpp:1165 +#: src/slic3r/GUI/GUI_App.cpp:1156 src/slic3r/GUI/GUI_App.cpp:1167 msgid "Recreating" msgstr "Пере-створення" -#: src/slic3r/GUI/GUI_App.cpp:1170 +#: src/slic3r/GUI/GUI_App.cpp:1172 msgid "Loading of current presets" msgstr "Завантаження поточних пресетів" -#: src/slic3r/GUI/GUI_App.cpp:1175 +#: src/slic3r/GUI/GUI_App.cpp:1177 msgid "Loading of a mode view" msgstr "Завантаження режиму перегляду" -#: src/slic3r/GUI/GUI_App.cpp:1251 +#: src/slic3r/GUI/GUI_App.cpp:1253 msgid "Choose one file (3MF/AMF):" msgstr "Виберіть один файл (3MF/AMF):" -#: src/slic3r/GUI/GUI_App.cpp:1263 +#: src/slic3r/GUI/GUI_App.cpp:1265 msgid "Choose one or more files (STL/OBJ/AMF/3MF/PRUSA):" msgstr "Виберіть один чи кілька файлів (STL/OBJ/AMF/PRUSA):" -#: src/slic3r/GUI/GUI_App.cpp:1275 +#: src/slic3r/GUI/GUI_App.cpp:1277 msgid "Choose one file (GCODE/.GCO/.G/.ngc/NGC):" msgstr "Виберіть один файл (GCODE/.GCO/.G/.ngc/NGC):" -#: src/slic3r/GUI/GUI_App.cpp:1286 +#: src/slic3r/GUI/GUI_App.cpp:1288 msgid "Changing of an application language" msgstr "Зміна мови застосування" -#: src/slic3r/GUI/GUI_App.cpp:1409 +#: src/slic3r/GUI/GUI_App.cpp:1411 msgid "Select the language" msgstr "Оберіть мову" -#: src/slic3r/GUI/GUI_App.cpp:1409 +#: src/slic3r/GUI/GUI_App.cpp:1411 msgid "Language" msgstr "Мова" -#: src/slic3r/GUI/GUI_App.cpp:1558 +#: src/slic3r/GUI/GUI_App.cpp:1560 msgid "modified" msgstr "модифікований" -#: src/slic3r/GUI/GUI_App.cpp:1607 +#: src/slic3r/GUI/GUI_App.cpp:1609 #, c-format msgid "Run %s" msgstr "Запустити %s" -#: src/slic3r/GUI/GUI_App.cpp:1611 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "&Configuration Snapshots" msgstr "Знімки конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1611 +#: src/slic3r/GUI/GUI_App.cpp:1613 msgid "Inspect / activate configuration snapshots" msgstr "Перегляньте / активізуйте знімки конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1612 +#: src/slic3r/GUI/GUI_App.cpp:1614 msgid "Take Configuration &Snapshot" msgstr "Зробіть знімок конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1612 +#: src/slic3r/GUI/GUI_App.cpp:1614 msgid "Capture a configuration snapshot" msgstr "Зробіть знімок конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1613 +#: src/slic3r/GUI/GUI_App.cpp:1615 msgid "Check for updates" msgstr "Перевірити наявність оновлень" -#: src/slic3r/GUI/GUI_App.cpp:1613 +#: src/slic3r/GUI/GUI_App.cpp:1615 msgid "Check for configuration updates" msgstr "Перевірити наявність оновлень конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1616 +#: src/slic3r/GUI/GUI_App.cpp:1618 msgid "&Preferences" msgstr "&Преференції" -#: src/slic3r/GUI/GUI_App.cpp:1622 +#: src/slic3r/GUI/GUI_App.cpp:1624 msgid "Application preferences" msgstr "Преференції застосування" -#: src/slic3r/GUI/GUI_App.cpp:1627 src/slic3r/GUI/wxExtensions.cpp:685 +#: src/slic3r/GUI/GUI_App.cpp:1629 src/slic3r/GUI/wxExtensions.cpp:685 msgid "Simple" msgstr "Простий" -#: src/slic3r/GUI/GUI_App.cpp:1627 +#: src/slic3r/GUI/GUI_App.cpp:1629 msgid "Simple View Mode" msgstr "Простий режим перегляду" -#: src/slic3r/GUI/GUI_App.cpp:1629 src/slic3r/GUI/wxExtensions.cpp:687 +#: src/slic3r/GUI/GUI_App.cpp:1631 src/slic3r/GUI/wxExtensions.cpp:687 msgctxt "Mode" msgid "Advanced" msgstr "Розширений" -#: src/slic3r/GUI/GUI_App.cpp:1629 +#: src/slic3r/GUI/GUI_App.cpp:1631 msgid "Advanced View Mode" msgstr "Розширений режим перегляду" -#: src/slic3r/GUI/GUI_App.cpp:1630 src/slic3r/GUI/wxExtensions.cpp:688 +#: src/slic3r/GUI/GUI_App.cpp:1632 src/slic3r/GUI/wxExtensions.cpp:688 msgid "Expert" msgstr "Експерт" -#: src/slic3r/GUI/GUI_App.cpp:1630 +#: src/slic3r/GUI/GUI_App.cpp:1632 msgid "Expert View Mode" msgstr "Режим перегляду Експерт" -#: src/slic3r/GUI/GUI_App.cpp:1635 +#: src/slic3r/GUI/GUI_App.cpp:1637 msgid "Mode" msgstr "Режим" -#: src/slic3r/GUI/GUI_App.cpp:1635 +#: src/slic3r/GUI/GUI_App.cpp:1637 #, c-format msgid "%s View Mode" msgstr "Режим перегляду %s" -#: src/slic3r/GUI/GUI_App.cpp:1638 +#: src/slic3r/GUI/GUI_App.cpp:1640 msgid "&Language" msgstr "Мова" -#: src/slic3r/GUI/GUI_App.cpp:1641 +#: src/slic3r/GUI/GUI_App.cpp:1643 msgid "Flash printer &firmware" msgstr "Прошити принтер" -#: src/slic3r/GUI/GUI_App.cpp:1641 +#: src/slic3r/GUI/GUI_App.cpp:1643 msgid "Upload a firmware image into an Arduino based printer" msgstr "Завантажте імідж прошивки на Arduino-принтер" -#: src/slic3r/GUI/GUI_App.cpp:1657 +#: src/slic3r/GUI/GUI_App.cpp:1659 msgid "Taking configuration snapshot" msgstr "Знімок конфігурації" -#: src/slic3r/GUI/GUI_App.cpp:1657 +#: src/slic3r/GUI/GUI_App.cpp:1659 msgid "Snapshot name" msgstr "Назва знімку" -#: src/slic3r/GUI/GUI_App.cpp:1695 +#: src/slic3r/GUI/GUI_App.cpp:1697 msgid "Failed to activate configuration snapshot." msgstr "Не вдалося активувати знімок конфігурації." -#: src/slic3r/GUI/GUI_App.cpp:1745 +#: src/slic3r/GUI/GUI_App.cpp:1747 msgid "Language selection" msgstr "Вибір мови" -#: src/slic3r/GUI/GUI_App.cpp:1747 +#: src/slic3r/GUI/GUI_App.cpp:1749 msgid "" "Switching the language will trigger application restart.\n" "You will lose content of the plater." @@ -2960,46 +2970,46 @@ msgstr "" "Переключення мови спричинить перезапуск програми.\n" "Ви втратите вміст платеру." -#: src/slic3r/GUI/GUI_App.cpp:1749 +#: src/slic3r/GUI/GUI_App.cpp:1751 msgid "Do you want to proceed?" msgstr "Ви хочете продовжити?" -#: src/slic3r/GUI/GUI_App.cpp:1776 +#: src/slic3r/GUI/GUI_App.cpp:1778 msgid "&Configuration" msgstr "&Конфігурація" -#: src/slic3r/GUI/GUI_App.cpp:1807 +#: src/slic3r/GUI/GUI_App.cpp:1809 msgid "The preset(s) modifications are successfully saved" msgstr "Модифікації пресетів успішно збережено" -#: src/slic3r/GUI/GUI_App.cpp:1828 +#: src/slic3r/GUI/GUI_App.cpp:1830 msgid "The uploads are still ongoing" msgstr "Завантаження все ще триває" -#: src/slic3r/GUI/GUI_App.cpp:1828 +#: src/slic3r/GUI/GUI_App.cpp:1830 msgid "Stop them and continue anyway?" msgstr "Зупинити їх і продовжувати в будь-якому випадку?" -#: src/slic3r/GUI/GUI_App.cpp:1831 +#: src/slic3r/GUI/GUI_App.cpp:1833 msgid "Ongoing uploads" msgstr "Триває завантаження" -#: src/slic3r/GUI/GUI_App.cpp:2059 src/slic3r/GUI/Tab.cpp:3249 +#: src/slic3r/GUI/GUI_App.cpp:2061 src/slic3r/GUI/Tab.cpp:3249 msgid "It's impossible to print multi-part object(s) with SLA technology." msgstr "" "За технологією SLA неможливо надрукувати об'єкти, що складаються з декількох " "частин." -#: src/slic3r/GUI/GUI_App.cpp:2060 +#: src/slic3r/GUI/GUI_App.cpp:2062 msgid "Please check and fix your object list." msgstr "Будь ласка, перевірте та виправте свій список об'єктів." -#: src/slic3r/GUI/GUI_App.cpp:2061 src/slic3r/GUI/Jobs/SLAImportJob.cpp:212 +#: src/slic3r/GUI/GUI_App.cpp:2063 src/slic3r/GUI/Jobs/SLAImportJob.cpp:212 #: src/slic3r/GUI/Plater.cpp:2361 src/slic3r/GUI/Tab.cpp:3251 msgid "Attention!" msgstr "Увага!" -#: src/slic3r/GUI/GUI_App.cpp:2078 +#: src/slic3r/GUI/GUI_App.cpp:2080 msgid "Select a gcode file:" msgstr "Виберіть файл G-коду:" @@ -4012,11 +4022,11 @@ msgid "Load Config from ini/amf/3mf/gcode and merge" msgstr "Завантажити конфігурацію з INI/AMF/3MF/GCODE та об’єднати" #: src/slic3r/GUI/KBShortcutsDialog.cpp:79 src/slic3r/GUI/Plater.cpp:771 -#: src/slic3r/GUI/Plater.cpp:6074 src/libslic3r/PrintConfig.cpp:3639 +#: src/slic3r/GUI/Plater.cpp:6075 src/libslic3r/PrintConfig.cpp:3639 msgid "Export G-code" msgstr "Експорт G-коду" -#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6075 +#: src/slic3r/GUI/KBShortcutsDialog.cpp:80 src/slic3r/GUI/Plater.cpp:6076 msgid "Send G-code" msgstr "Надіслання G-коду" @@ -5136,7 +5146,7 @@ msgid "Save zip file as:" msgstr "Зберегти zip-файл як:" #: src/slic3r/GUI/MainFrame.cpp:1406 src/slic3r/GUI/Plater.cpp:3017 -#: src/slic3r/GUI/Plater.cpp:5602 src/slic3r/GUI/Tab.cpp:1582 +#: src/slic3r/GUI/Plater.cpp:5603 src/slic3r/GUI/Tab.cpp:1582 #: src/slic3r/GUI/Tab.cpp:4122 msgid "Slicing" msgstr "Нарізання" @@ -5237,31 +5247,27 @@ msgstr "%s виявив помилку" msgid "%s information" msgstr "%s інформація" -#: src/slic3r/GUI/MsgDialog.cpp:114 -msgid "Note that" -msgstr "Зверніть увагу, що" - -#: src/slic3r/GUI/NotificationManager.hpp:471 +#: src/slic3r/GUI/NotificationManager.cpp:41 msgid "3D Mouse disconnected." msgstr "3D миша відключена." -#: src/slic3r/GUI/NotificationManager.hpp:474 +#: src/slic3r/GUI/NotificationManager.cpp:44 msgid "Configuration update is available." msgstr "Доступне оновлення конфігурації." -#: src/slic3r/GUI/NotificationManager.hpp:474 +#: src/slic3r/GUI/NotificationManager.cpp:44 msgid "See more." msgstr "Див. докладніше." -#: src/slic3r/GUI/NotificationManager.hpp:476 +#: src/slic3r/GUI/NotificationManager.cpp:46 msgid "New version is available." msgstr "Доступна нова версія." -#: src/slic3r/GUI/NotificationManager.hpp:476 +#: src/slic3r/GUI/NotificationManager.cpp:46 msgid "See Releases page." msgstr "Див. Сторінку випусків." -#: src/slic3r/GUI/NotificationManager.hpp:479 +#: src/slic3r/GUI/NotificationManager.cpp:49 msgid "" "You have just added a G-code for color change, but its value is empty.\n" "To export the G-code correctly, check the \"Color Change G-code\" in " @@ -5271,41 +5277,41 @@ msgstr "" "Щоб правильно експортувати G-код, перевірте значення параметру «G-коду зміни " "кольору» в «Параметри принтера > Користувацький G-код»" -#: src/slic3r/GUI/NotificationManager.cpp:515 -#: src/slic3r/GUI/NotificationManager.cpp:523 +#: src/slic3r/GUI/NotificationManager.cpp:533 +#: src/slic3r/GUI/NotificationManager.cpp:541 msgid "More" msgstr "Більше" -#: src/slic3r/GUI/NotificationManager.cpp:890 -#: src/slic3r/GUI/NotificationManager.cpp:1170 +#: src/slic3r/GUI/NotificationManager.cpp:908 +#: src/slic3r/GUI/NotificationManager.cpp:1188 msgid "Export G-Code." msgstr "Експортувати G-код." -#: src/slic3r/GUI/NotificationManager.cpp:936 +#: src/slic3r/GUI/NotificationManager.cpp:954 msgid "Open Folder." msgstr "Відкрити папку." -#: src/slic3r/GUI/NotificationManager.cpp:975 +#: src/slic3r/GUI/NotificationManager.cpp:993 msgid "Eject drive" msgstr "Від'єднати диск" -#: src/slic3r/GUI/NotificationManager.cpp:1089 -#: src/slic3r/GUI/NotificationManager.cpp:1105 -#: src/slic3r/GUI/NotificationManager.cpp:1116 +#: src/slic3r/GUI/NotificationManager.cpp:1107 +#: src/slic3r/GUI/NotificationManager.cpp:1123 +#: src/slic3r/GUI/NotificationManager.cpp:1134 msgid "ERROR:" msgstr "ПОМИЛКА:" -#: src/slic3r/GUI/NotificationManager.cpp:1094 -#: src/slic3r/GUI/NotificationManager.cpp:1109 -#: src/slic3r/GUI/NotificationManager.cpp:1124 +#: src/slic3r/GUI/NotificationManager.cpp:1112 +#: src/slic3r/GUI/NotificationManager.cpp:1127 +#: src/slic3r/GUI/NotificationManager.cpp:1142 msgid "WARNING:" msgstr "ЗАСТЕРЕЖЕННЯ:" -#: src/slic3r/GUI/NotificationManager.cpp:1173 +#: src/slic3r/GUI/NotificationManager.cpp:1191 msgid "Slicing finished." msgstr "Нарізання завершено." -#: src/slic3r/GUI/NotificationManager.cpp:1215 +#: src/slic3r/GUI/NotificationManager.cpp:1233 msgid "Exporting finished." msgstr "Експорт завершено." @@ -5386,10 +5392,6 @@ msgstr "Видаліть цей пресет з цього принтера" msgid "This printer will be shown in the presets list as" msgstr "Цей принтер буде відображатися у списку пресетів як" -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:156 -msgid "Physical Printer" -msgstr "Фізичний принтер" - #: src/slic3r/GUI/PhysicalPrinterDialog.cpp:163 msgid "Type here the name of your printer device" msgstr "Введіть тут назву вашого принтера" @@ -5581,12 +5583,12 @@ msgstr "Під об’єктем" msgid "Around object" msgstr "Навколо об'єкта" -#: src/slic3r/GUI/Plater.cpp:757 src/slic3r/GUI/Plater.cpp:6075 +#: src/slic3r/GUI/Plater.cpp:757 src/slic3r/GUI/Plater.cpp:6076 msgid "Send to printer" msgstr "Надіслати на принтер" #: src/slic3r/GUI/Plater.cpp:772 src/slic3r/GUI/Plater.cpp:3017 -#: src/slic3r/GUI/Plater.cpp:5605 +#: src/slic3r/GUI/Plater.cpp:5606 msgid "Slice now" msgstr "Нарізати зараз" @@ -6110,44 +6112,44 @@ msgstr "Встановити кількість копій на %d" msgid "Cut by Plane" msgstr "Вирізати площиною" -#: src/slic3r/GUI/Plater.cpp:5337 +#: src/slic3r/GUI/Plater.cpp:5338 msgid "Save G-code file as:" msgstr "Зберегти G-код файл як:" -#: src/slic3r/GUI/Plater.cpp:5337 +#: src/slic3r/GUI/Plater.cpp:5338 msgid "Save SL1 / SL1S file as:" msgstr "Зберегти SL1 / SL1S файл як:" -#: src/slic3r/GUI/Plater.cpp:5484 +#: src/slic3r/GUI/Plater.cpp:5485 #, c-format msgid "STL file exported to %s" msgstr "STL-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:5501 +#: src/slic3r/GUI/Plater.cpp:5502 #, c-format msgid "AMF file exported to %s" msgstr "AMF-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:5504 +#: src/slic3r/GUI/Plater.cpp:5505 #, c-format msgid "Error exporting AMF file %s" msgstr "Помилка експортування AMF-файлу %s" -#: src/slic3r/GUI/Plater.cpp:5533 +#: src/slic3r/GUI/Plater.cpp:5534 #, c-format msgid "3MF file exported to %s" msgstr "3MF-файл експортовано в %s" -#: src/slic3r/GUI/Plater.cpp:5538 +#: src/slic3r/GUI/Plater.cpp:5539 #, c-format msgid "Error exporting 3MF file %s" msgstr "Помилка експортування 3MF-файлу %s" -#: src/slic3r/GUI/Plater.cpp:6074 +#: src/slic3r/GUI/Plater.cpp:6075 msgid "Export" msgstr "Експорт" -#: src/slic3r/GUI/Plater.cpp:6169 +#: src/slic3r/GUI/Plater.cpp:6170 msgid "Paste From Clipboard" msgstr "Вставити з буферу обміну" @@ -7762,6 +7764,12 @@ msgstr "Параметри принтеру" msgid "Material Settings" msgstr "Параметри матеріалу" +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:149 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:158 +#: src/slic3r/GUI/UnsavedChangesDialog.cpp:857 +msgid "Undef" +msgstr "Невизначений" + #: src/slic3r/GUI/UnsavedChangesDialog.cpp:537 msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "PrusaSlicer закривається: Незбережені зміни" @@ -9577,7 +9585,6 @@ msgid "Extra perimeters if needed" msgstr "Додаткові периметри, якщо необхідно" #: src/libslic3r/PrintConfig.cpp:539 -#, fuzzy, c-format msgid "" "Add more perimeters when needed for avoiding gaps in sloping walls. Slic3r " "keeps adding perimeters, until more than 70% of the loop immediately above " @@ -10640,7 +10647,6 @@ msgid "This setting represents the maximum speed of your fan." msgstr "Цей параметр відображає максимальну швидкість вашого вентилятора." #: src/libslic3r/PrintConfig.cpp:1435 -#, fuzzy, c-format msgid "" "This is the highest printable layer height for this extruder, used to cap " "the variable layer height and support layer height. Maximum recommended " @@ -12831,6 +12837,34 @@ msgstr "Підготовка заповнення" msgid "Generating support material" msgstr "Створення підтримок" +#~ msgid "new unknown value %1% was changed to default value %2%" +#~ msgstr "" +#~ "нове невідоме значення %1% було змінено на значення за промовчанням %2%" + +#~ msgid "" +#~ "Loading profiles found following incompatibilities:%1% To recover these " +#~ "files, incompatible values were changed to default values.\n" +#~ " But data in files won't be changed until you save them in PrusaSlicer." +#~ msgstr "" +#~ "Під час завантаження профілів було знайдено наступні несумісності:%1% Щоб " +#~ "відновити ці файли, несумісні значення було змінено на значення за " +#~ "промовчанням.\n" +#~ " Але дані у файлах не будуть змінені, поки ви не збережете їх у " +#~ "PrusaSlicer." + +#~ msgid "" +#~ "Loading %1% file found incompatibilities.\n" +#~ "To recover this file, incompatible values were changed to default values:" +#~ "%2%But data in files won't be changed until you save them in PrusaSlicer." +#~ msgstr "" +#~ "Завантаження %1% файла виявили несумісність.\n" +#~ "Щоб відновити цей файл, несумісні значення було змінено на значення за " +#~ "промовчанням:%2% Але дані у файлах не змінюватимуться, доки ви не " +#~ "збережете їх у PrusaSlicer." + +#~ msgid "Note that" +#~ msgstr "Зверніть увагу, що" + #~ msgid "Ignore non-existent config files" #~ msgstr "Ігнорувати неіснуючі конфігураційні файли" From f6a6651173625a62ed00393382c588524009dbdc Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Wed, 7 Jul 2021 15:17:21 +0200 Subject: [PATCH 78/80] Improved error handling when installing configuration updates: In case the configuration snapshot cannot be taken before installing configuration updates (because the current configuration state is invalid), ask user whether to continue or abort. --- src/slic3r/Config/Snapshot.cpp | 61 ++++++++++++++++++++++--- src/slic3r/Config/Snapshot.hpp | 7 +++ src/slic3r/GUI/ConfigWizard.cpp | 15 +++--- src/slic3r/GUI/ConfigWizard_private.hpp | 2 +- src/slic3r/GUI/GUI_App.cpp | 13 ++++-- src/slic3r/Utils/PresetUpdater.cpp | 42 +++++++++-------- src/slic3r/Utils/PresetUpdater.hpp | 2 +- 7 files changed, 103 insertions(+), 39 deletions(-) diff --git a/src/slic3r/Config/Snapshot.cpp b/src/slic3r/Config/Snapshot.cpp index 40539b7b7..fb42ff24d 100644 --- a/src/slic3r/Config/Snapshot.cpp +++ b/src/slic3r/Config/Snapshot.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include "libslic3r/PresetBundle.hpp" #include "libslic3r/format.hpp" @@ -17,6 +18,13 @@ #include "libslic3r/FileParserError.hpp" #include "libslic3r/Utils.hpp" +#include "../GUI/GUI.hpp" +#include "../GUI/GUI_App.hpp" +#include "../GUI/I18N.hpp" +#include "../GUI/MainFrame.hpp" + +#include + #define SLIC3R_SNAPSHOTS_DIR "snapshots" #define SLIC3R_SNAPSHOT_FILE "snapshot.ini" @@ -435,14 +443,27 @@ const Snapshot& SnapshotDB::take_snapshot(const AppConfig &app_config, Snapshot: } boost::filesystem::path snapshot_dir = snapshot_db_dir / snapshot.id; - boost::filesystem::create_directory(snapshot_dir); - // Backup the presets. - for (const char *subdir : snapshot_subdirs) - copy_config_dir_single_level(data_dir / subdir, snapshot_dir / subdir); - snapshot.save_ini((snapshot_dir / "snapshot.ini").string()); - assert(m_snapshots.empty() || m_snapshots.back().time_captured <= snapshot.time_captured); - m_snapshots.emplace_back(std::move(snapshot)); + try { + boost::filesystem::create_directory(snapshot_dir); + + // Backup the presets. + for (const char *subdir : snapshot_subdirs) + copy_config_dir_single_level(data_dir / subdir, snapshot_dir / subdir); + snapshot.save_ini((snapshot_dir / "snapshot.ini").string()); + assert(m_snapshots.empty() || m_snapshots.back().time_captured <= snapshot.time_captured); + m_snapshots.emplace_back(std::move(snapshot)); + } catch (...) { + if (boost::filesystem::is_directory(snapshot_dir)) { + try { + // Clean up partially copied snapshot. + boost::filesystem::remove_all(snapshot_dir); + } catch (...) { + BOOST_LOG_TRIVIAL(error) << "Failed taking snapshot and failed removing the snapshot directory " << snapshot_dir; + } + } + throw; + } return m_snapshots.back(); } @@ -553,6 +574,32 @@ SnapshotDB& SnapshotDB::singleton() return instance; } +const Snapshot* take_config_snapshot_report_error(const AppConfig &app_config, Snapshot::Reason reason, const std::string &comment) +{ + try { + return &SnapshotDB::singleton().take_snapshot(app_config, reason, comment); + } catch (std::exception &err) { + show_error(static_cast(wxGetApp().mainframe), + _L("Taking a configuration snapshot failed.") + "\n\n" + from_u8(err.what())); + return nullptr; + } +} + +bool take_config_snapshot_cancel_on_error(const AppConfig &app_config, Snapshot::Reason reason, const std::string &comment, const std::string &message) +{ + try { + SnapshotDB::singleton().take_snapshot(app_config, reason, comment); + return true; + } catch (std::exception &err) { + wxRichMessageDialog dlg(static_cast(wxGetApp().mainframe), + _L("PrusaSlicer has encountered an error while taking a configuration snapshot.") + "\n\n" + from_u8(err.what()) + "\n\n" + from_u8(message), + _L("PrusaSlicer error"), + wxYES_NO); + dlg.SetYesNoLabels(_L("Continue"), _L("Abort")); + return dlg.ShowModal() == wxID_YES; + } +} + } // namespace Config } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/Config/Snapshot.hpp b/src/slic3r/Config/Snapshot.hpp index 48add8a1a..f45300633 100644 --- a/src/slic3r/Config/Snapshot.hpp +++ b/src/slic3r/Config/Snapshot.hpp @@ -127,6 +127,13 @@ private: std::vector m_snapshots; }; +// Take snapshot on SnapshotDB::singleton(). If taking snapshot fails, report an error and return nullptr. +const Snapshot* take_config_snapshot_report_error(const AppConfig &app_config, Snapshot::Reason reason, const std::string &comment); + +// Take snapshot on SnapshotDB::singleton(). If taking snapshot fails, report "message", and present a "Continue" or "Abort" buttons to respond. +// Return true on success and on "Continue" to continue with the process (for example installation of presets). +bool take_config_snapshot_cancel_on_error(const AppConfig &app_config, Snapshot::Reason reason, const std::string &comment, const std::string &message); + } // namespace Config } // namespace GUI } // namespace Slic3r diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 31d16d4a1..19a20950e 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -2330,7 +2330,7 @@ bool ConfigWizard::priv::check_and_install_missing_materials(Technology technolo return true; } -void ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *preset_bundle, const PresetUpdater *updater) +bool ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *preset_bundle, const PresetUpdater *updater) { const auto enabled_vendors = appconfig_new.vendors(); @@ -2379,14 +2379,14 @@ void ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *prese break; } - if (snapshot) { - SnapshotDB::singleton().take_snapshot(*app_config, snapshot_reason); - } + if (snapshot && ! take_config_snapshot_cancel_on_error(*app_config, snapshot_reason, "", _u8L("Continue with applying configuration changes?"))) + return false; if (install_bundles.size() > 0) { // Install bundles from resources. // Don't create snapshot - we've already done that above if applicable. - updater->install_bundles_rsrc(std::move(install_bundles), false); + if (! updater->install_bundles_rsrc(std::move(install_bundles), false)) + return false; } else { BOOST_LOG_TRIVIAL(info) << "No bundles need to be installed from resources"; } @@ -2480,6 +2480,8 @@ void ConfigWizard::priv::apply_config(AppConfig *app_config, PresetBundle *prese // Update the selections from the compatibilty. preset_bundle->export_selections(*app_config); + + return true; } void ConfigWizard::priv::update_presets_in_config(const std::string& section, const std::string& alias_key, bool add) @@ -2687,7 +2689,8 @@ bool ConfigWizard::run(RunReason reason, StartPage start_page) p->set_start_page(start_page); if (ShowModal() == wxID_OK) { - p->apply_config(app.app_config, app.preset_bundle, app.preset_updater); + if (! p->apply_config(app.app_config, app.preset_bundle, app.preset_updater)) + return false; app.app_config->set_legacy_datadir(false); app.update_mode(); app.obj_manipul()->update_ui_from_settings(); diff --git a/src/slic3r/GUI/ConfigWizard_private.hpp b/src/slic3r/GUI/ConfigWizard_private.hpp index 62ec6b18b..34f682d40 100644 --- a/src/slic3r/GUI/ConfigWizard_private.hpp +++ b/src/slic3r/GUI/ConfigWizard_private.hpp @@ -613,7 +613,7 @@ struct ConfigWizard::priv bool on_bnt_finish(); bool check_and_install_missing_materials(Technology technology, const std::string &only_for_model_id = std::string()); - void apply_config(AppConfig *app_config, PresetBundle *preset_bundle, const PresetUpdater *updater); + bool apply_config(AppConfig *app_config, PresetBundle *preset_bundle, const PresetUpdater *updater); // #ys_FIXME_alise void update_presets_in_config(const std::string& section, const std::string& alias_key, bool add); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 3ce42598d..e04065ec8 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1664,9 +1664,10 @@ void GUI_App::add_config_menu(wxMenuBar *menu) child->SetFont(normal_font()); if (dlg.ShowModal() == wxID_OK) - app_config->set("on_snapshot", - Slic3r::GUI::Config::SnapshotDB::singleton().take_snapshot( - *app_config, Slic3r::GUI::Config::Snapshot::SNAPSHOT_USER, dlg.GetValue().ToUTF8().data()).id); + if (const Config::Snapshot *snapshot = Config::take_config_snapshot_report_error( + *app_config, Config::Snapshot::SNAPSHOT_USER, dlg.GetValue().ToUTF8().data()); + snapshot != nullptr) + app_config->set("on_snapshot", snapshot->id); } break; case ConfigMenuSnapshots: @@ -1677,8 +1678,10 @@ void GUI_App::add_config_menu(wxMenuBar *menu) ConfigSnapshotDialog dlg(Slic3r::GUI::Config::SnapshotDB::singleton(), on_snapshot); dlg.ShowModal(); if (!dlg.snapshot_to_activate().empty()) { - if (! Config::SnapshotDB::singleton().is_on_snapshot(*app_config)) - Config::SnapshotDB::singleton().take_snapshot(*app_config, Config::Snapshot::SNAPSHOT_BEFORE_ROLLBACK); + if (! Config::SnapshotDB::singleton().is_on_snapshot(*app_config) && + ! Config::take_config_snapshot_cancel_on_error(*app_config, Config::Snapshot::SNAPSHOT_BEFORE_ROLLBACK, "", + GUI::format(_L("Continue to activate a configuration snapshot %1%?", ex.what())))) + break; try { app_config->set("on_snapshot", Config::SnapshotDB::singleton().restore_snapshot(dlg.snapshot_to_activate(), *app_config).id); // Enable substitutions, log both user and system substitutions. There should not be any substitutions performed when loading system diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index add71fc33..b1a6e75ad 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -171,7 +171,7 @@ struct PresetUpdater::priv void check_install_indices() const; Updates get_config_updates(const Semver& old_slic3r_version) const; - void perform_updates(Updates &&updates, bool snapshot = true) const; + bool perform_updates(Updates &&updates, bool snapshot = true) const; void set_waiting_updates(Updates u); }; @@ -584,12 +584,14 @@ Updates PresetUpdater::priv::get_config_updates(const Semver &old_slic3r_version return updates; } -void PresetUpdater::priv::perform_updates(Updates &&updates, bool snapshot) const +bool PresetUpdater::priv::perform_updates(Updates &&updates, bool snapshot) const { if (updates.incompats.size() > 0) { if (snapshot) { BOOST_LOG_TRIVIAL(info) << "Taking a snapshot..."; - SnapshotDB::singleton().take_snapshot(*GUI::wxGetApp().app_config, Snapshot::SNAPSHOT_DOWNGRADE); + if (! GUI::Config::take_config_snapshot_cancel_on_error(*GUI::wxGetApp().app_config, Snapshot::SNAPSHOT_DOWNGRADE, "", + _u8L("Continue and install configuration updates?"))) + return false; } BOOST_LOG_TRIVIAL(info) << format("Deleting %1% incompatible bundles", updates.incompats.size()); @@ -604,7 +606,9 @@ void PresetUpdater::priv::perform_updates(Updates &&updates, bool snapshot) cons if (snapshot) { BOOST_LOG_TRIVIAL(info) << "Taking a snapshot..."; - SnapshotDB::singleton().take_snapshot(*GUI::wxGetApp().app_config, Snapshot::SNAPSHOT_UPGRADE); + if (! GUI::Config::take_config_snapshot_cancel_on_error(*GUI::wxGetApp().app_config, Snapshot::SNAPSHOT_UPGRADE, "", + _u8L("Continue and install configuration updates?"))) + return false; } BOOST_LOG_TRIVIAL(info) << format("Performing %1% updates", updates.updates.size()); @@ -648,6 +652,8 @@ void PresetUpdater::priv::perform_updates(Updates &&updates, bool snapshot) cons for (const auto &name : bundle.obsolete_presets.printers) { obsolete_remover("printer", name); } } } + + return true; } void PresetUpdater::priv::set_waiting_updates(Updates u) @@ -761,11 +767,9 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 // This effectively removes the incompatible bundles: // (snapshot is taken beforehand) - p->perform_updates(std::move(updates)); - - if (!GUI::wxGetApp().run_wizard(GUI::ConfigWizard::RR_DATA_INCOMPAT)) { + if (! p->perform_updates(std::move(updates)) || + ! GUI::wxGetApp().run_wizard(GUI::ConfigWizard::RR_DATA_INCOMPAT)) return R_INCOMPAT_EXIT; - } return R_INCOMPAT_CONFIGURED; } @@ -799,7 +803,8 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 const auto res = dlg.ShowModal(); if (res == wxID_OK) { BOOST_LOG_TRIVIAL(info) << "User wants to update..."; - p->perform_updates(std::move(updates)); + if (! p->perform_updates(std::move(updates))) + return R_INCOMPAT_EXIT; reload_configs_update_gui(); return R_UPDATE_INSTALLED; } @@ -828,7 +833,8 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 const auto res = dlg.ShowModal(); if (res == wxID_OK) { BOOST_LOG_TRIVIAL(debug) << "User agreed to perform the update"; - p->perform_updates(std::move(updates)); + if (! p->perform_updates(std::move(updates))) + return R_ALL_CANCELED; reload_configs_update_gui(); return R_UPDATE_INSTALLED; } @@ -848,7 +854,7 @@ PresetUpdater::UpdateResult PresetUpdater::config_update(const Semver& old_slic3 return R_NOOP; } -void PresetUpdater::install_bundles_rsrc(std::vector bundles, bool snapshot) const +bool PresetUpdater::install_bundles_rsrc(std::vector bundles, bool snapshot) const { Updates updates; @@ -860,7 +866,7 @@ void PresetUpdater::install_bundles_rsrc(std::vector bundles, bool updates.updates.emplace_back(std::move(path_in_rsrc), std::move(path_in_vendors), Version(), "", ""); } - p->perform_updates(std::move(updates), snapshot); + return p->perform_updates(std::move(updates), snapshot); } void PresetUpdater::on_update_notification_confirm() @@ -880,16 +886,14 @@ void PresetUpdater::on_update_notification_confirm() const auto res = dlg.ShowModal(); if (res == wxID_OK) { BOOST_LOG_TRIVIAL(debug) << "User agreed to perform the update"; - p->perform_updates(std::move(p->waiting_updates)); - reload_configs_update_gui(); - p->has_waiting_updates = false; - //return R_UPDATE_INSTALLED; + if (p->perform_updates(std::move(p->waiting_updates))) { + reload_configs_update_gui(); + p->has_waiting_updates = false; + } } else { BOOST_LOG_TRIVIAL(info) << "User refused the update"; - //return R_UPDATE_REJECT; - } - + } } } diff --git a/src/slic3r/Utils/PresetUpdater.hpp b/src/slic3r/Utils/PresetUpdater.hpp index acec7baf7..d7eeb5604 100644 --- a/src/slic3r/Utils/PresetUpdater.hpp +++ b/src/slic3r/Utils/PresetUpdater.hpp @@ -52,7 +52,7 @@ public: UpdateResult config_update(const Semver &old_slic3r_version, UpdateParams params) const; // "Update" a list of bundles from resources (behaves like an online update). - void install_bundles_rsrc(std::vector bundles, bool snapshot = true) const; + bool install_bundles_rsrc(std::vector bundles, bool snapshot = true) const; void on_update_notification_confirm(); private: From 28ef127d3e2641150b959df0cadd3758c04b7311 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Wed, 7 Jul 2021 15:22:42 +0200 Subject: [PATCH 79/80] Changed one line in CZ dictionary for the Configuration Substitutions dialog. Fixed one bug in the preceding commit. --- resources/localization/cs/PrusaSlicer.mo | Bin 298747 -> 298753 bytes resources/localization/cs/PrusaSlicer_cs.po | 2 +- src/slic3r/GUI/GUI_App.cpp | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/localization/cs/PrusaSlicer.mo b/resources/localization/cs/PrusaSlicer.mo index b52481cc74bab6b70389caedfe0ecfbb06865c90..092fad91902c7b3791b93df2d7ec828adfbacfcb 100644 GIT binary patch delta 20389 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�u>V_AnWtV=l32`{qpk5L6 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 BQ-A;f delta 20383 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⋙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"on_snapshot", Config::SnapshotDB::singleton().restore_snapshot(dlg.snapshot_to_activate(), *app_config).id); From 95a84fa826b25e0f927fa6903b9ce8a398fc0ee0 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Thu, 8 Jul 2021 08:46:36 +0200 Subject: [PATCH 80/80] Bumped up version number --- version.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.inc b/version.inc index c45e05843..632712806 100644 --- a/version.inc +++ b/version.inc @@ -3,7 +3,7 @@ set(SLIC3R_APP_NAME "PrusaSlicer") set(SLIC3R_APP_KEY "PrusaSlicer") -set(SLIC3R_VERSION "2.3.2-rc") +set(SLIC3R_VERSION "2.3.2") set(SLIC3R_BUILD_ID "PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN") set(SLIC3R_RC_VERSION "2,3,2,0") set(SLIC3R_RC_VERSION_DOTS "2.3.2.0")

d*B|dj@et884O3wXsUHCDl$t^13!a$*?hpU zn6(rIR@sBXl;qWHxH13sDbPgIb!$SP_4qW?sIFd6zUnMRq4f(f;2@K{xyl^(FE) zDiS}u3rMc6W@hnF*A+s&T&kf$-odsnz&6zXMD>%bn@Pq(c!7E)%!9$*&3&~nhW7tx z3i@CsYNTf{8{WsM7^jE%d2GpjG#00R7`6W+4)A+F_9q{}{;x{IAR3f}=TRM8$1<38ph>pgs5NtKeK_j+ai{}m zIx1-wqfX8Ts9o_CW8)i)i~d0-!tqhtFY_SwzX}Cu&~_+~NwERypy`Woa0)8q%Td{X z5p~@SR4#l*o$aydPxqxjyx4)5r#S^N}(Q91vT(ysQY@NCOF(W-RiEeg&n91|A*?}D(c96isR53 zVwPY$>hmecu6357X0*b7z8>}9EvWmCBHvS-oA?axU~4=%)bCtlMV*|(Ob1bio6yEV z4J0vY#2HZsO99k_n_@}qjtcQE)C10;26EAQ9hGc%tzS^r#TsFZi@$6C$ETn*&5T;h zT&QHLhze;nRL2c$dvj|W+ujki1U*p6H_+CHp_Xo(tx>!=94L`CE$>ZFT4(mW_3>iXoUBuj@HXl~Sf1+5iO$=VRLWc^SB8-T6~V<@Pj z8K{vhKy|PQ72-pvGyW>3LEk77!gQ#CWkg*cib~G1s0Y?XMWz?(ZRnzMVhL)3yGF79 zl`Lmy&~~_s3gJ)G5(Gw@0Yyf2lms=yH0UiEYUa66ktvFLKn2v=H%F~`f7Ho22zTL7 zY>$P;u$>f=ReYyb2WxOEZbN-#YWs&dh=yY*^)sj=I^tOK14t6|b^~gL%TO~rj*9F* zsOz7gw)GEG4kQ|9B9zvpkdlUCsFy|yR4xod-7p@{;%a<}ea4%&T&oG@K}(UZ_RbE> z$4sJ3Htofxm`Kz@ElEdIga@J`I2ScAcL@c}d@lX#+hMIX6)JzMYa-tElVV;AQ-2y)@nLG^4(1hWSnzb*A5G%k!Q36qH;?Q62q6Js`m> zvou*yyCf7f)AFcft8PE8%@_jn#u zC>voe?1))#G3LQ@sHBZB$9%a=kC~{KN8Q&8Gvf$cj+-$AYtJ=D`Eb-WT|1ZkuZ|Ae z4<6zm>QU#JpY{GgeSQcv;|HiEi8$YE&xELhDHjG~L)20ZLLKE3QITAYC-DI0#6K38 zf$m$t{#VFP)1Vt3*$;l9wo8nK=EMs@byO8cU~ANUFHz@2#6`xGr~wv2oq&~4yP&=O zytj1~afLg;|s7Sb|oLGYDXdABaaX_J#vd>bJJJV1R zT!`LoK~3ZoYS+2dtO5lX$>gf0vcal0naxLq zd>?8lZlIFy11j_}*PHE|6w6RAiRxzpYT(OJxw9WN(R=9a|M&KSxEsucA;{V|B~ddR zhJGJE$Kwv_GdG$CSKef1+zypYJyF@-AJgF|)POfwPoW0<1a)1|X7;~E5_7Zp9c@a~ zw%drB;ThD4_ZW3@y++OG7iPowTg-`93N_G*sOuV`9@NRUk3lWb9MmpYjk<2@7T0W- zBQ)s2cQ71(pdM6stN9{Q6LqxKL$xHnDET+Z@+x*Tk+=5EdzT5rIK%9)~Am$FU_VH1XN{t#=X4Fgz+t16O z`mc$Nu`P~4_XGv4Y4x4v*XU7qnO{EtgW5jPcKf}5fLH((vbCtQeh=ya|Dp!+29>Oz zu@ENOV~+4zsHGWiU4RD=HHIqC))p z0W7K;=dYRI(354R|8P;`z=R3JT#K)OWJOsF__wCFM)| zdDKJZ^EjyX^r&PjiMqZzrpLCZekP;Ng%zlr*oqp+F$~5#=xRpJVKbvhsE*@c2F#A? zxGri5I-@$6iaP1mp_XC?YDPy;NqQR<@=vJ!AM1!&$}H9rn1c5DN7(-gb$=Q{aHaj= zGU{#j0WbL3jyMs|9W(pB@d>ju6H!ZZ7|Y@tOos(dn$MeJY3kEZxpWg3;d@l}PdnxM zog);IpEfUv`>6ftJ7eC8v9Kcb7O0tTLHz`D3WMg5vqtT_R*qp~|MDw5@Fy^VDM zwx@j(uEy^!g{>4;oHPG$sNQ+MvxNFb48vJWe>h&jn^^y%S*p-WCgjCXOVJQ@1h+xu zL?^6|127d{LoLxaTaSO)OvKGkL2JW^(b;dRq-R#eDK zqmru?*27`8{Wj{sKTrox;D)&_9xA7DqIN?;jG_HsiGs4Yq5Yt(tq(w*Xru8nuCbpl z`NypNHq;tl!KL`Y)@R)`|7>VGDmiQ2VmJ8s`2n>%7Th-H$aeI8|F@rlPOdYkHF}Ra zYGd3nCP$4pD=M@_QAt)06^Tx$5RXUg`_-szyC0Pcmr?iKM=k9))WGxHW&dlRR;QpF zJEATeih96Y)aM&f9iBiPt#_~pM!sieR2FqzQ&h+OQK6oVC2I9koTxa1<&cD^MM6MSouD^R1H6w)%6F)U z#{AbrDh+C4El~HlsEAHhLEB;_PQsH|1?xXH7p%it)DL4hO!UO>{YPh7U{UJPpPC=h zDq~gZ!*D46joGlyGqVduqjuSB48>Jg5#4*XknOn%)j-r){|9QM8&Fw$5EYqgsNA@Z zipVF_1b(3+mgr9WJsv?V z?Q?W>!w(7yS=7&FhFMV~t%zFtvDgfkVq=W>#YC(X7S-pN3D2Nj=U-5{kmf&={lzdZ z10RY??pl)NrU&4j>5)a|{ zpXPf&;uI#{0D3qGN;GzP!<(S`A_JSIc!g0`pwraM-^ zKX5)?MP1+17v!z^Kvbv~qS`m32Cxg2lownI+HUtyFQEv2V{Fuo$uK2mL*+nK)Qv+? z`*{i~|~!(|)K9$D-D94k{;(qFzorgL*_1R|AQ91TDDi73k(Sp3>&W5g% zCNBkbPz-f6)<$LbAnSD0%+{gSb~|bb&Z0v37#jf&8C ztc1%kJ$^uiK4~2Dd0te+D!I1M(mDVYqN%8XY(hP72kL?U!!q~}X2Udb%|5Pyy1u)$ zANHd@1oPo{R1)U?J;?iOxXM=d76l!p?c)V`|LAoZE~fqz{Wvy$koVK=1k_9A9_j#k zhPv-7>cOcK1bP2;{7k3_oIqvyJ=6r=SbYgi(#Ao~1=qOmcFANE8= zBv&F%K(e_CY5+qLn;e;pip)mTgASwjEwYORA&IZ+0SVhz*)XQ18{tFbbE!VvBMQprrR zbVqe~7&U`)sE(eZI{1h>7a}DO^8U0U2I{3U2ekxCP!m{f+xMgHKZZ))i`WwHqL!vq z3iiJ`u1TRBwowCaMRlAj*bJy3_M~10wHx+h3cQHA{~d;6gp}s~!l;4nM_vDy^%^#y z{sOhsWmB>LGgGLa%ADP!P$52v1@RwSPmtQoAOq_2yr}z1qt>=NYNlgQUo@tp9(+2D z$(_5Xqxc8vB#e~S3?L+}YqnEi8cOlOD6EHPF@PD9Yh6D9hXGSq%Ic1?N}V& zV*$*UKFIqT-VL=IK4LIN&tP^{R?I^^hfCov3av36BM-?KE+}FgS`KI$3Lj+#}zW~f`5?#x=!z~An#usc!>+RU|8WG@Am+yiUc_aslT&s z4G(gvGLRlc*?xGeSdjPkymyM5>~CGdT6?FYF%5eE`yXYz0-;20 zpElNksB>WoYQJwrt@TON+wHefCO1-}wrh54In;w&U^X0pNpYS1{Dl4d0eb)b&o>HT zT=08ov+b&(vbr8>KwVG|9DzE~7NcG^n^9SR6}257pzaGQV?IxWy1xi2nQNfVm%6Ba zTA^E>LN5w>-5y50mF}WWz|Ytm4n-xD^L&Gj5;TdqXu{mwXdI}w&@Sl%wv=@ z?U_-#Ck)k3)pG2Atw{qKG@`+%P)|Z-?P}COeC17ulcKg^UetraF$k-n9#{+0V{6Qg z6Y&!sL@mXR3g$?Dj3uaNtjPXX2s>3YNz@P3@eu5YQ!y9%Dw&fm4{AVVP)XGsHQ*7b z&@Qm`wW!elWxb9X;42)Bzpw$0b}O3)K0?jxGwLk&RWUb2LLDfHP)BMF)LC8+HG?*& z2d&4fco=ovTlD&~`l_1eM71Wfy4fgbMn$a+P;b57sF%cG>qOLp7NFLCD=GpfP!D>J zZSf;!#KzTvyg$(%gZkX5ZUz!Wg_4Qe2LP{}z8HPZz+ z8_%GUw{;D(|3_dq>YFhWrm1O?urliY4ygWyq4)Fu6bc%^TvQ}hqSop#YMWg`ZLj}O z*_^1BS@XQ82vkPpOjp$P!%%O<)u^S~i<-zu>kaEO?5Nl6R|+q&P3<735!R|>mS7ud zAp0>5ovxlQ3uah)C3oza^Pq~_P+|3ZNmfWJ5=a= zjf{z{xvUj12cNgZ^*9r+V9CZNyOTCCyC5}Yp}it%3HxINT!iCsg-aoXLhhy}#7!}; zE<|mUEvPlyg&O%~)b(Fc5lY|8yv@Qen0ixGB!{B@ov#h3rG47m+#jKZ**%$2N$S?4 zppkV%ZI3Ca2du_myn^cRGb(9Pw=`>84z-3IP}^}PHpFA7^CL|wle}3_kt~c#-rA`9 zdKq13v28ew8o*~%$YQiM*<1*tP%nk*xGE~U>tP0LhThtul64^}XZG3p4eJ-wlErUh z&X+Qt?7x~6^nhllwdsi3&)rcW8i87hS*ToDh@VG~K!nz4!kk3eouBCn}Ut+ZhX3+gfL#LU|mu&+nq%p3hKA7^8iV_wRn>LjAtr z8rH#YsEO3*5aj)@Y_>*4E>%bNzt*%o1-(YQp=Q_%12_UT@;|UIE<`;rQ77{{4MUxr z9Z@G-U)23$P!pPkrExiGXtWixpCNf619{UQ3HC2n%G+`kDt1*|LamH)|DT@_;Gh07NP#Udyvxv zGxrE`!f_mi;u$P~5qp}B%A<0p3MxnHqmJxmsBPOFHL(e(C0Kyda5G-TQf@D^FO&B+ zNmBxA@IfnlfqPIluIgi!VvqGahSB~A%VO%jrrr?;QeTV8m5lvNq>7>XX^A>F`k*4> zPN1L=&9xV-M`i6ne2!O9IdG)E>EIe_rq5CLy+a-0fdOXiL-8&3(%2UB4>a$LrKkbi z$IAE->DP5i4l+L|)Wep1kboso_6|ht>qV%X_|tkGGg5zn)iC~GlU!}F7WGl6f!#*k z_Xd@e(T13bBtb1rcJ%)DKgv_kgBqY7+yxb)si+aJMxB6rQ8zxpUA2pCG zw*CpVmN7<}ldTbIX+~mN+=PnY73)*f$@m>LfaIgt|B)%=9A#!!2(@-4P#xDoMPLPL z#(Oas52HGGfQr;-RAijd=K4se2_?7ntf>1-pt8OkYT~s=lSEphHui$KsE!w-cEL8R zhNn>>PBF%GoEi01tsrUwb5Qp!v-O>*2OLIC=n^W29$_1d{fC)IKbL|on2UNnu196@ zY1IBrJ=Q$15Eh_b0rj9!s2R=0Jh&K3<5koWr5I--Q3MsCny7&`LM>4n)P&qAwy*#- z!ZoPxdRI`Pe}g*VB91p_e{2k)o(DCMW*CgUPy?BXo$-t{Y(kLt&y3b%2HK-fGy~6z z#kKznQOL#zgHiAOO{g!Kx3ME8n`A~l7SmIoj!L3^s3g0CI*=kvHUo@?O1kW*tS^ol zXd_$ihOMcO$5cGu`DialIK_lI1hw{sP%okCs1SBR?Sj6jh)hO>bRO#Z6{xq|KI=ai zO#MI9E=oMrEKNq#b!E}}-~VY%K^F`_t@&8g5-dZ7Y(MIOkMS$ML%kJWPBS_44K?G$ z)6GD$pazx~bze9t$I7D)sD`N5_+WGu@?{iC;YGZGiDsDX_W_j?C1wUWE3gadd`K|M zggyjo`1pYXwInNN2YLUp=?PT!FPvlU--KFmso*$^>ez1W3uaN&o zgAR~53rz=!Q4dUu3T+Y8K&qi0*cg>mtxyl_hnn#SRH$cQMO=l$@e?YU`!6!v?kTFj zk1hpu;9qPW6dm<|U{rReM|D^cHK4|*0rf@g<8i2@+>W~LEUM$Xw*93w!V;59$xyqf z6zYU@J5f+52B8k1Y1j(4q9T%bskt!~YVFITu5W@`(_W~VPsU(eg6jAPDzcX_1Ye*A zm}r?v-pt4n@xT8@K^@gb&9EEl!g1yTX8~5Gz894=(UzMB#zSqpbg1?)T!N)g5qyeS z@eNMI6e~>oM$ArqJ7&}Vf9w^=#+4@IrBR{nh}!=%t$(79%nPVU+(Hfb9V+C}R+;2X zgj%B1s2s_QibOe7WSZOd?yB>AXO#V5Ch8l@O4I|6pdNS)wHqFyW*lj?$(aoQ?F zEP~2~R@edupVm9jI(EIQI?4_U?9Km*Y9*bhZwdULJK-A~^Q8PP* zn%QmCOX!_#|6+~0&O|ObY6%KrCTxe=zSB`luy7swU!gv48@{3*ka@jXtHP*#UJ`ZU zwL^ul59%NpZQEC&l5#t0$xfpVq^Gt$>ITzqN>o3&ZN1nA*Mz1f4Z(cS1eJ_Kuo%um zt=%0A!Y`;9e@7kJ{*5LQu~GM>#nKp#TAI<;`KXC)K_&N5)b&?g3JT3TR7jI;GHaLv z)m|2r13genFc>xS@u&x^MZlEDHA|HW6`|7Bil_%wM@6y)>YN#f-0wQ`D5!%? zsO&$Bn(;H#N%aYp^~wJ<56EM!hl^-;Q5^?wGxz65?Sh(^7CWNeqEk`V?X~THV>#{r zZxl3uQrpezv4wRMYKCht4EJMR{Emu5t{r9#r=VV|>rn$fk6P<5s0T*fX|79SErLqY zdKj$z-;{zR?mDO4n%StIQ+OO_6m zoaIsX_p|lsd)WWl-+$Q)pQ6?*#$J=Pxlxhmj$YQI7i!dl&f^Jug*s4n?&G_ikA05~ zvFZU{X1MX7X^($6$hk#*(2*eLf7swC`+qTow8z=Ec>I6nAFIVY8RRsf!_OE@d!18e zV0}-Ufi1++K5&0zDq&dCHFaF0aS8? zqh{C;wJZ9g-fA;ZkywCQn*FGVoJZaF9y4RC^CohIFeUX`s3quwxp5^b((X+P%2NLY z^S~sigC{@c!xpHS%)?+jkIId=sDVYiXpZDms2s?NYOjh~x{j!cj6$7^%dIali}rt> zOZK&hy0AOyZ8sV9plztP)k#zbU$HV4yKDwF#d-`i!>_3C0~!A|Gt7xf-Z~hJ?eP+h zL+|f@np`mt=#LutT8x6nQQPq%>Hv9$TB^8L&F6_wYo7+S8*-qQs0g;gQaB0MV`p-x z@HO)z+=lCBfKM^8_WwHyN}A|5ObBzMI{xRFO73!esgqrD4 z>vY?`3hUFp*VYr>G}niqs~Lq;&{~&5bub8(T$3>bm!f8N9u=9ZsMqj))b;PI5pJ1? zB}64-c2rJOL`|pz>iWJ|0>|BA|N98d1sZzOaOt-Br`zT4n5^B41!=#H%`ov@_Ad^^ zKd}Bi^RD<8>rsD)ie$z6W}EfE$kbP&4z|ts5f5W}-1&h0--*KA2PWw%KQuYe9ly~& z5x3&lN2bFf|C(R7b;G6%d@okv^W;xV4t2&H)E8m_ynrP!+Eep$KsBsO{VFPwIoxL^ zsS05X8j4w~qC(yT70TAAT`(NA9sfiv(G%2Ce6{r`&rLlk>Ma_A+6|$o{)*bq%b>Qs zTZe+yq$}zm8IIb1D^c6;6jtyPAylqpd1X4vg_=PD)O96M1FDBQ(mS9+KN*|gT+~3n zTcf@9u6LcJ6qLPLF&K-XPPpc%feb@MW+i&x@h~Oz)7Y3Lc!i2grMKqb8ie|MHL9Oe zr~y7ly?mT^CP|Z^_s{=wQP5kg5b6M`jt#LZs-tr_1mB_#nC|aQGA%)!7h6%0JBOL@ z9V#-(KA6a6Knv zrp11!Y+i&~^Z(%*yo@@6-Or|dHflRA#{m9?-oO8Ifr}!|EExx z_RBP+XIz!2|AG4NfL+Im)c^Gby#ItsZhye}AN7bq0q@uG=TQ4TQXt^{3br{OpuQ9r zV)F(;gf>;4Q^fmxA{5C(MbNVg$T@ zs@)LZQvZzE@o7vmv&69i-rx1y!1c6OiEU=`6BW`Gag34Unh15kFxr=+2L8ZW`uBjh z>)f>z^o8L7mc!?$kmikNLO&VR@f|#b#p0U|0}0Gbi{U}q=U{oPpU_NXC2ITLKqcKz z)VJqki2~jikQ$gu@Bc9rv}Ws2xzHhTz&rDQq237vlLWkfS8FS7q8^qs;Qa~3E6hQ? zcd~$Yu&l;#>btNIenlO@`I4IfbwmCmsLpcKA2iJg4)AYOvHv!v3^*5Q7?&#G48X=| z0^VOh-b@?t{(N>&x`4MEZlpI$Q!7Kj*~@irFq8+Z&lGTqQ~wv+V5X3O_fD9ah3okI zAts}JaaNWL4`d5?|74_Nj)1eD=Q~#^JjNM0%>xGIGD(*(Hv^!32#&^E7>up*@IV}e zQ}Gn0z{Yva(zy7P`aYbAEAs`sKTaE-c9!2657r3OGIdgs^PD{Jn2^){Yy0;6XadUNPXDrv4VMQQu!V z;JwvmRtb1t#~0vlw3n%Btb+P#RtNR+YK1?r1OCKz)!6?@DYUH~@Xqp)xR3f0)WOrF zM!-AEH((^{yKo^MM(v7bHO+x?6!kiNhq^9mEpy-RsCP>W)JrTc>Sb3F_13NHQqWp< zK)o(E;XvGtdR>OrHUlez$*8x$a2$#n_z~0t?xMEaXH-rlsbdB-*ZL>w-Eao=h2*-` zO;Oi`swL{J)e&`JAJl+`<8qvU88LS~whuN!g|s`y!oC=vrTGI-P+wd>;JppoHwbty ztr@86H=vg2PfV}EW{#fbO@6^YN75+gJZc)!3%k8UUpBPr->_5svDzM(=Lw}n~5yr?fC zO;M2;iOQArsI1r$Zxm=$Yb7%CU0VPj0z#x)}y*v8Cg zJSyvFpqax&M8}R;n!C|^v)Y*>_c<117yR9x31RGx0q?(}8Qv-2 z{fCEQcMdp3X+MSf&viz3yPEx)qFccGH=!1y22icL8F>TLYq>otskUQfyn>o(x*lc# zg-~lf5f%Cws7S8B40yn{Ke2v6Mcj?l)2u~4)c&rDg|R>Cz}bx>@EU5nHR@&d`#^j` zeF7@Wd-o1_|M+ejY5)(gD85H6O`bm5ZuF0ODGfokq3a~-8*uzIG(fFsV{DI8u@e45 zg}zch;~zMl`Y}vF2y65=5$Z9(9N7m@_eCEV@cs_40UoA)4y)pnLFNn2L(HzTvIsd) zgb%u)X1)pamFqQT!r;LHrv;YBrurPiG0qV4pz5d}ES6v|+=tq}xrdrvF$I-ub5TqA z4Rr#R8WwQKe`ZEO4b@TGs6HxdTVPG>j@mXSP-}b+^%A*)ItQMiLhKt(QeiUGk(>>c zBjKnVsD&K4j*B`+R-&sl*-Js&>IJ66FV@5(%=RjT%7x0-j<$U)>Ol)o6WEB#ksY@E z3aY=ysQV+2Gy_bJnqdBs%wH!{85)!{wNM?jLhXVP)`_SCV>YV8t*8h8jSBt0s0a8) znVF?Pofo-L=R;Lgq*~ba{y2mBtWm77k}un66RMo(qh1CT>T;+bm8zmTs)Y(=Thx71 zFfKPtMl4~1!puPu;!4!A~^?;YCwSR-k zjZdhV{X(sI(sAaxP-{WdQC%1{f##^lv_nl~G^(HR_H%cJ{b0UziTz+D>cS1EwcUX_ z^ADhw>ZJYr1}fcNr6o9knt?oWbRg4C!86hI>4I+ZDCts9|kY-8)4Q62Y1 zbubpS=2NZ9P;0*pwPfc}OLP(SfJdkae6{tU31$frq6U&4(`)}1rl7TGh3aS=YBx+k zg?bKZW;-w?osN~Ev(S*7LYTGqKUEc>au{o%vT#OpPN{poazn_9adt428 z5jFFFP@#T_TI(OE+(;vMEnj>+_c=WJg1kWGDa;A2v=0!)2OY;maSN z`ihbI4F>ZAlO?TW5^@saCiI_0S9oAEQ1_-Lzoy+rm*EwETV1gqM#G^3_HZ8UuHX8No*o0vC?;wmH#PNwmM$nU%xEA?z_-@I>z!~J%GAIu` zX^1DXlsvWblrrS4$A2qex7?s9jNq3Jk$g@DYzHjzS+CM!2(v)G06f1wZvEdtne}9e zbeSgbHU!^6<5l#pBsU)|1z%n6KUt(h0jyWz2!@>m!0(D%B2SYZFsufcY3NvnG^dsq zHOY%Cav7ryxvpp&dPL&D+0Eq|QyEyB-spM|?pYgY9L(pQvoVl?*HDqF3=w$@_&Wq8 zX_$pR)dhJTVI*Zp4?XQ8{OkD9v@a|EN#P_v62F`-vr_Aa;NFT~k9nWu{@Z>Mawl^y zRwO2ao{*nNE{MT>upP*!z<;DjjY&^Sax1ZG(28Jq{$V6SpUL12xPy_58h_69fh$0_i zVBEnLAQz8DZ~OyX!k+l?(UE9Ih%3>T7M>*3%TjNI-;&-w_$E z#$TjYOL#@5%HRLJU3beH%7wWCVr3ub~6|OE zB9SF5@{xKpUF?q9FD${UxYp-G{X^~uJr#+$kz&bX`d72WX5uZ_M(9T>gHfk9+l(i% z6;K3;0!k`>peI1o29=l8MV2sVzt+DJ%afCvZHq^CN<2~RSJ4?!{7;8zB>3-YDl)?!5( z<6py0W>_F~UYRkD!5^RpYArv11w+^d4TG!~Aa8UQfWkDs!WY?$rlMKi?I;osNm5;O zADGtUmuT$(3snYlRF~*NydM5+x_BUVp!Qnlj|H$Snm{j~+@%&N!NA?9NCTQqqg7e* zGb&Prp6cY%(RWIFtO9-vas#QyXHY$^LNELp*mdX+Kq;^zsX6;w9lTr)U?wWU4>6Wh z*5MN5q&8o-UZac3v)uPOxGc5PT#19=N@=|TaYN;-rdGHTC~vU*`QJog9^0hSOD%xT zkOq^>Mo!+pxeOi7fHEEn3GSK)sl?-SnQ*;Aa$8?ynI1@dK6}P^P2VZ}h4T2z4+|nk zT*ms!YlX&Ch9_r<3}mJfuV;Zj9!uVYw5`TfeFP6~=Et-vM1hh~MI$0GARK zS>S|Je(}Vlu-uh1;<4Ra^e}NYbUs9h!HHA^87=Dnv$SRKka%ZGB*!0v7=py~~ zs_{lh>xGIvU9q>Fp4I2BH#`T$gN;$906%12(5Q3O2R{? z>LQYQ16KuXE%4>xiG$^>1;%=E@}ru=0~^2s)8+Y}TR!6y*Gnm{hKe*~iJp+|XEC?b zgD{Ag7defG)cO1>V>!A+$jOQ9hkPu<-E!XJFy-MZ4|bPeWxl*qDT_A7g6M$|p_are0E!d>yu;%Zaj3^3=0orJNFI5q)+KcrxC<3o?17iq7p|jVpOUZ2oUSpL zzZa*X4iS(@HI@k`SHR;+G=el0Sb6`}R*!r-;x>>@VWBX3=Ey>NHHGWG`X>Ho`jWyE ziyoJ7{?`Eh>ZYwV9ScIaZ896M56kQ(9zxSOj}x6CZb7_?fyv5$rp&fqq!lOLt}l0 z_W>)ClitZ-wTnC%`o z?pqt&vo^R-ZS-?8U?Bs#19*VHf<_TO0@5hwx;9gnjWviob=c8ALt;Y;(N=-Qf-LSVAzX;CF7q*^aXv8vx*nE^r*8nG6+qt|U+J=U5rOv2?k- z)Q*A6f#zc9DQrLO+o{;f`j9!`TnOfj_U>{2{4coL6dUXC*VrUVq8vsen(l!KWMFix zNOmxf(8AzLVn>nd!mw$ae3K6ShF=0-UXFP{-xFeyAuJLs-~Y`hJV9INDfa_N;KEp6 zo6}qiFOJruz@F3vD(EFmN-coC58(LBIZM+2=W=_))169M7Ci>mMvub@S*HI0uggLV z$PTD2r_MxU3^4o24}jn;`6a}8(Lazyf?bRq%;3D>f9i7csLS1TkuB72ljmNgaTd%! zpC z_@}{E$8Ka;C3LY6sQ41!$1et+cV$_!TnDctC(@GMR_J^94l!pqJ=XO<&*0(|a*+Iv z--Lol24ay>N;HYaeyBI~5ODkGnZ&TTiW^RDmi9_tE*2a^y`ttufUit$E44^CO}YQ` zlH>%BlPuKjH?nm;YId4aqQ7Wr2yPDxgy_I)1vBA#(EgZ&OR3$+4r|F@Z5p79L+MZr_{Q+rQC4)Rwh^o499BpZoyK(LM4M06G8t;mJq zJK(uWZ5_Ipcp81ddZ=mS+!BqY@>}n}BhwY)f^umg8KVnjB|nYErg~a;qd$#qsjE&N z9pF(i$}sFH3nbV6J8-cFWLH^`Y)8i?psO8rl$sg6LQ4Rj8$X~5L`vCQ)mWYy$+}Y=r~Ia&_z;EOCU>|7Vh1kM#$*9CDEj zY&aAaqm`CUla_!L=HC;d4cw0 znNie==+zno_5!4mqDgA)ADSZpD&cYNsYjYvB+4X9a)c7$NAHY3Ok=ia} zeT@g^FDKdrrVln5gO=(cD!|hheMx>711o?%MEx9oPwWf1|GS6eT@o2c+=DU;4aMaTP-Wv2&10Pqm zL|QUjWI2lr!r!6XoS$boGz^8fpMrjHnqYE?$X&&b!unw!k)OoigdWS5B!5FrM{WgN zIj}{*e;}WgA(gNR>FEqc-eD_Jm!(=U>nOhSF@+{*X^KT?Zpx60H1*LT_pwEFF=?)+ zeouO;+36Oo&u$@m7&worpkMQWHkBzU*{@;G#p}yq-c2^a?_)BLAQSm zL1J_Xr)t3o*Fahm{3gAm#p!8J?ICe=^5>Of7=9v#P9olnmWHF5T>o_x{AkF>fcrEJ zVf%B$;pj1PU0CcH{!#{|)Fp}#SESDiyBhog@_p&80Om3NFmi*j>~yZWq1-W$sy_vCOJ6+@>k?V4r6PR zzfOL$3{yEII2C7c8b%P@W>dKty@ZDG3`k18KIDzbm!V#Vrgg;O_!X2)et7-HkRj9> zkl#!HLogyG=o9HgE-{#N#LHYM>uZ4PD)9JISW9ZO$A*H)4N(j1I2X{^K)owO2^n@m z04nk?sK|X5FRIu)9AF!~1;`Izf$a1JDo(I-sN2Yg$@Bjv6h*Sp9D}B96hxW<5-CsP zL&Z#Di6K^&f5X9tGF0TYF5jNGy(?vX{i6#>5U!YM9H1F*jelRu2^}@ELo(sDJ6{CZ7}S2L2!6 zVDJ@PUWPs;eoOoXe}v|L!+#OHzqKUij}NiPEDE6|={9tlp zm2sYH5n~RyxYR`cf?r1b4@Ys(=avV=FVNZ4RGikQg~gWvBzpnQ!Vr-g0CRHv{Ly@x zTSd-ON@;#I$>uE7USq*z(`!4H{;vNUXm}By)%bTb&fiJ5UP-d0`a*CK;ABX~vs4N_ z#SE=SQNN=Z9tvv0B2Md>6|JV?%N88ez9&Jsb8v2tH zeWzi*p87cpxuqUCJMmk67%~t~q9+f4<8Wl7FB$$*c;DhDWTE_AWs!FDTqnN}oO1(C zDvBRSzDMWlhMlp?s3iu}fkA~BPy=6Nw#yhH#Jw0g4C0jZ*3bo)lDmw*3yz{-R}lXJ z^IH4dX0_{0?5=Pm1StT;0vswS-B#RH)K;_1e9f(fysZ?F(F{q+B0bR=Xh(3Pb&*ow z@6r2_VvugZTPo0V;ABKOVmXcatB|on925?P4k80e3CC6K%cqWP8m0E3T37B^u z-+KIeL)20mBz1uSo6wYiI?Md{DbCQd5nh>px9)_bm_?_UA z!84FtS-2XK6M2j}?@;_fA_)uB*5REgBmwNF#7lL#{nT5t{UylKD#=%Ji@>Hvi!d;N z-jdikESVKskoX8Sx748DkN&EzLpZJ9dy?W=3ZE%NqQewDj3Fz~wh*0SiOLMCOXF-X zr4`eH{8xIDF{Hm9KuRXd$EKE_d{OFoQIU1T&lPvZ`uEqBHx5%+O+!9xHU@}nBYpsQ zI%GG=i#VulCf8jtt}Nft#C^dn)j^U!NdFx2MZoW3@sX}m8^!hNjdfC-qYZ%!I7Wj= zBDFF9GvqRuhT!vQeg;GXh%f1hr1uwb2#c(uRvMnnNzl zTw^_*G&Nypc8y2qf;$+rT7AKcV8Ca3OM%UchN4@D_h1jRz+?P30z}fwjl3udh0y8{ zcY~-FL*3Gte0wyKoHxy>SxzJwLxaHHW!Qf5Gr@?=(9;!!t0aS}pl<06{whHvx%|>2 zR&GP2AUOl#n(o;v&*=xyjnDe}B3B4oJ#k8e1 zv&FKdiWWIGzAa&-FJH`A@oa+~W+8vuM?bSr7F$44b9HIk%lzj0Fk6JftkTaG7TvrV zZhIQv%obrwFV+)9Du3T-)?QNFcWDB#IA2!?W#xQ&Av6b{UPhPM&s+ylu*ppQ- zlLXs$r!cW1IF8jJA6xrhNj69+P+6n&yb+dQ1i$ndl8$Na*DmWm)U>1eQy22@dWMl%}WYy~+MJiK9lhUXk6KJN(T*C+*%oktHtL^P9^q+RsOe47_14 zVcxrLf9^0}-L`urHvfLI-%n{~PvGzkH0#%JWcM=pUogJLFy}RMT=h42%o?e9pKz%<7@mOJcWUCox09Sa<0w+P1>n;AO8(L9zpWw9eq67$YZ$KuB3 iN`J4mbu_xI`Ao0oj{gG~waD-Q diff --git a/resources/localization/it/PrusaSlicer_it.po b/resources/localization/it/PrusaSlicer_it.po index 8ece653ea..d1df2f911 100644 --- a/resources/localization/it/PrusaSlicer_it.po +++ b/resources/localization/it/PrusaSlicer_it.po @@ -5,11 +5,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: PhraseApp (phraseapp.com)\n" +"X-Generator: Phrase (phrase.com)\n" #: src/slic3r/GUI/Tab.cpp:4124 -msgid "\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\nTo enable \"%1%\", please switch off \"%2%\"" -msgstr "\"%1%\" è disattivato perchè \"%2%\" è nella categoria \"%3%\".\nPer attivare \"%1%\", si prega di spegnere \"%2%\"" +msgid "" +"\"%1%\" is disabled because \"%2%\" is on in \"%3%\" category.\n" +"To enable \"%1%\", please switch off \"%2%\"" +msgstr "" +"\"%1%\" è disattivato perchè \"%2%\" è nella categoria \"%3%\".\n" +"Per attivare \"%1%\", si prega di spegnere \"%2%\"" #: src/libslic3r/PrintConfig.cpp:249 src/libslic3r/PrintConfig.cpp:828 #: src/libslic3r/PrintConfig.cpp:1148 src/libslic3r/PrintConfig.cpp:1327 @@ -28,6 +32,10 @@ msgstr "%1% Preset" msgid "%1% printer was active at the time the target Undo / Redo snapshot was taken. Switching to %1% printer requires reloading of %1% presets." msgstr "La stampante %1% era attiva nel momento in cui è stata creata l'istantanea di Annulla / Ripeti dell'oggetto. Passare alla stampante %1% richiede il ricaricamento dei preset %1%." +#: src/slic3r/GUI/GUI.cpp:330 +msgid "%1% was substituted with %2%" +msgstr "%1% è stato sostituito con %2%" + #: src/slic3r/GUI/MainFrame.cpp:1585 msgid "%1% was successfully sliced." msgstr "%1% generato con successo." @@ -63,8 +71,12 @@ msgstr "%d preset importati correttamente." #: src/slic3r/GUI/GUI_App.cpp:718 #, possible-c-format -msgid "%s\nDo you want to continue?" -msgstr "%s\nVuoi continuare?" +msgid "" +"%s\n" +"Do you want to continue?" +msgstr "" +"%s\n" +"Vuoi continuare?" #: src/slic3r/GUI/MainFrame.cpp:917 src/slic3r/GUI/MainFrame.cpp:1316 #, possible-c-format @@ -108,8 +120,14 @@ msgstr "%s ha riscontrato un errore" #: src/slic3r/GUI/GUI_App.cpp:528 #, possible-c-format -msgid "%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n\nThe application will now terminate." -msgstr "%s ha riscontrato un errore. Probabilmente è stato causato dalla memoria piena. Se sei sicuro di avere abbastanza RAM nel sistema, questo potrebbe essere un bug e te ne saremmo grati se potessi informarci.\n\nL'applicazione verrà chiusa." +msgid "" +"%s has encountered an error. It was likely caused by running out of memory. If you are sure you have enough RAM on your system, this may also be a bug and we would be glad if you reported it.\n" +"\n" +"The application will now terminate." +msgstr "" +"%s ha riscontrato un errore. Probabilmente è stato causato dalla memoria piena. Se sei sicuro di avere abbastanza RAM nel sistema, questo potrebbe essere un bug e te ne saremmo grati se potessi informarci.\n" +"\n" +"L'applicazione verrà chiusa." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:62 #, possible-c-format @@ -126,10 +144,27 @@ msgstr "Non sono disponibili aggiornamenti di configurazione per %s." msgid "%s incompatibility" msgstr "incompatibilità %s" +#: src/slic3r/GUI/MsgDialog.cpp:114 +#, possible-c-format +msgid "%s information" +msgstr "%s informazioni" + #: src/slic3r/GUI/UpdateDialogs.cpp:270 #, possible-c-format -msgid "%s now uses an updated configuration structure.\n\nSo called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\nAn inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n\nPlease proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." -msgstr "%s adesso utilizza uno schema aggiornato di configurazioni.\n\nSono stati introdotti i così detti 'Preset di sistema', che contengono i settaggi integrati predefiniti per varie stampanti. Questi preset di sistema non possono essere modificati, però l'utente può creare i propri preset ereditando le impostazioni da quelli di sistema.\nUn preset ereditato può sia ereditare un valore particolare dal genitore, o sovrascriverlo con un valore personalizzato.\n\nSi prega di procedere con il %s che segue per impostare i nuovi preset e scegliere se abilitare gli aggiornamenti automatici del preset." +msgid "" +"%s now uses an updated configuration structure.\n" +"\n" +"So called 'System presets' have been introduced, which hold the built-in default settings for various printers. These System presets cannot be modified, instead, users now may create their own presets inheriting settings from one of the System presets.\n" +"An inheriting preset may either inherit a particular value from its parent or override it with a customized value.\n" +"\n" +"Please proceed with the %s that follows to set up the new presets and to choose whether to enable automatic preset updates." +msgstr "" +"%s adesso utilizza uno schema aggiornato di configurazioni.\n" +"\n" +"Sono stati introdotti i così detti 'Preset di sistema', che contengono i settaggi integrati predefiniti per varie stampanti. Questi preset di sistema non possono essere modificati, però l'utente può creare i propri preset ereditando le impostazioni da quelli di sistema.\n" +"Un preset ereditato può sia ereditare un valore particolare dal genitore, o sovrascriverlo con un valore personalizzato.\n" +"\n" +"Si prega di procedere con il %s che segue per impostare i nuovi preset e scegliere se abilitare gli aggiornamenti automatici del preset." #: src/slic3r/GUI/GUI_App.cpp:1512 #, possible-c-format @@ -138,8 +173,18 @@ msgstr "%s Modalità Visualizzazione" #: src/slic3r/GUI/UpdateDialogs.cpp:151 #, possible-c-format -msgid "%s will now start updates. Otherwise it won't be able to start.\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "%s avvierà gli aggiornamenti. In caso contrario non sarà in grado di avviarsi.\n\nSi fa noto che prima verrà creata un'istantanea della configurazione completa. Questa potrà essere ripristinata in qualunque momento se dovesse esserci un problema con la nuova versione.\n\nPacchetti di configurazione aggiornati:" +msgid "" +"%s will now start updates. Otherwise it won't be able to start.\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"%s avvierà gli aggiornamenti. In caso contrario non sarà in grado di avviarsi.\n" +"\n" +"Si fa noto che prima verrà creata un'istantanea della configurazione completa. Questa potrà essere ripristinata in qualunque momento se dovesse esserci un problema con la nuova versione.\n" +"\n" +"Pacchetti di configurazione aggiornati:" #: src/slic3r/GUI/MainFrame.cpp:933 src/slic3r/GUI/MainFrame.cpp:937 #: src/slic3r/GUI/MainFrame.cpp:1329 @@ -765,8 +810,12 @@ msgid "AMF file exported to %s" msgstr "File AMF esportato in %s" #: src/slic3r/GUI/GLCanvas3D.cpp:638 -msgid "An object outside the print area was detected.\nResolve the current problem to continue slicing." -msgstr "È stato rilevato un oggetto al di fuori dell'area di stampa.\nRisolvere il problema per continuare lo slicing." +msgid "" +"An object outside the print area was detected.\n" +"Resolve the current problem to continue slicing." +msgstr "" +"È stato rilevato un oggetto al di fuori dell'area di stampa.\n" +"Risolvere il problema per continuare lo slicing." #: src/slic3r/GUI/GLCanvas3D.cpp:633 msgid "An object outside the print area was detected." @@ -819,8 +868,12 @@ msgid "Are you sure you want to %1% the selected preset?" msgstr "Sei sicuro di voler %1% il preset selezionato?" #: src/slic3r/GUI/FirmwareDialog.cpp:902 -msgid "Are you sure you want to cancel firmware flashing?\nThis could leave your printer in an unusable state!" -msgstr "Sei sicuro di voler annullare il flash del firmware?\nQuesto potrebbe lasciare la tua stampante in una condizione inutilizzabile!" +msgid "" +"Are you sure you want to cancel firmware flashing?\n" +"This could leave your printer in an unusable state!" +msgstr "" +"Sei sicuro di voler annullare il flash del firmware?\n" +"Questo potrebbe lasciare la tua stampante in una condizione inutilizzabile!" #: src/slic3r/GUI/DoubleSlider.cpp:2122 src/slic3r/GUI/DoubleSlider.cpp:2142 msgid "Are you sure you want to continue?" @@ -879,13 +932,13 @@ msgstr "Disposizione completata." #: src/slic3r/GUI/KBShortcutsDialog.cpp:206 #: src/slic3r/GUI/KBShortcutsDialog.cpp:216 msgid "Arrow Down" -msgstr "Freccia giù" +msgstr "Freccia Giù" #: src/slic3r/GUI/KBShortcutsDialog.cpp:160 #: src/slic3r/GUI/KBShortcutsDialog.cpp:217 #: src/slic3r/GUI/KBShortcutsDialog.cpp:229 msgid "Arrow Left" -msgstr "Freccia sinistra" +msgstr "Freccia Sinistra" #: src/slic3r/GUI/KBShortcutsDialog.cpp:161 #: src/slic3r/GUI/KBShortcutsDialog.cpp:218 @@ -1010,12 +1063,20 @@ msgid "BACK ARROW" msgstr "FRECCIA INDIETRO" #: src/slic3r/GUI/Tab.cpp:3727 -msgid "BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick to reset all settings for the current option group to the last saved preset." -msgstr "L'icona FRECCIA INDIETRO indica che le impostazioni sono state cambiate e non corrispondono all'ultimo preset salvato per il seguente gruppo di opzioni.\nClicca per reimpostare all'ultimo preset salvato tutte le impostazioni per il seguente gruppo di opzioni." +msgid "" +"BACK ARROW icon indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click to reset all settings for the current option group to the last saved preset." +msgstr "" +"L'icona FRECCIA INDIETRO indica che le impostazioni sono state cambiate e non corrispondono all'ultimo preset salvato per il seguente gruppo di opzioni.\n" +"Clicca per reimpostare all'ultimo preset salvato tutte le impostazioni per il seguente gruppo di opzioni." #: src/slic3r/GUI/Tab.cpp:3741 -msgid "BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\nClick to reset current value to the last saved preset." -msgstr "L'icona FRECCIA ALL'INDIETRO indica che il valore è stato cambiato e non corrisponde all'ultimo preset salvato.\nCliccare per reimpostare il valore corrente all'ultimo preset salvato." +msgid "" +"BACK ARROW icon indicates that the value was changed and is not equal to the last saved preset.\n" +"Click to reset current value to the last saved preset." +msgstr "" +"L'icona FRECCIA ALL'INDIETRO indica che il valore è stato cambiato e non corrisponde all'ultimo preset salvato.\n" +"Cliccare per reimpostare il valore corrente all'ultimo preset salvato." #: src/slic3r/GUI/Preferences.cpp:72 msgid "Background processing" @@ -1215,16 +1276,24 @@ msgid "buffer too small" msgstr "buffer troppo piccolo" #: src/slic3r/GUI/GUI_App.cpp:1152 -msgid "But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\nSettings will be available in physical printers settings." -msgstr "Ma da questa versione di PrusaSlicer non mostriamo più queste informazioni nelle impostazioni della stampante.\nLe impostazioni saranno disponibili nelle impostazioni delle stampanti fisiche." +msgid "" +"But since this version of PrusaSlicer we don't show this information in Printer Settings anymore.\n" +"Settings will be available in physical printers settings." +msgstr "" +"Ma da questa versione di PrusaSlicer non mostriamo più queste informazioni nelle impostazioni della stampante.\n" +"Le impostazioni saranno disponibili nelle impostazioni delle stampanti fisiche." #: src/slic3r/GUI/ButtonsDescription.cpp:16 msgid "Buttons And Text Colors Description" msgstr "Descrizione colori testo e pulsanti" #: src/slic3r/GUI/GUI_App.cpp:1084 -msgid "By default new Printer devices will be named as \"Printer N\" during its creation.\nNote: This name can be changed later from the physical printers settings" -msgstr "Per impostazione predefinita le nuove stampanti saranno denominate \"Printer N\" durante la loro creazione.\nNota: Questo nome può essere cambiato in seguito dalle impostazioni delle stampanti fisiche" +msgid "" +"By default new Printer devices will be named as \"Printer N\" during its creation.\n" +"Note: This name can be changed later from the physical printers settings" +msgstr "" +"Per impostazione predefinita le nuove stampanti saranno denominate \"Printer N\" durante la loro creazione.\n" +"Nota: Questo nome può essere cambiato in seguito dalle impostazioni delle stampanti fisiche" #: src/slic3r/GUI/PresetHints.cpp:222 msgid "by the print profile maximum" @@ -1266,16 +1335,32 @@ msgid "Cannot calculate extrusion width for %1%: Variable \"%2%\" not accessible msgstr "Non è possibile calcolare la larghezza di estrusione per %1%: Variabile \"%2%\" non accessibile." #: src/slic3r/GUI/GUI_ObjectList.cpp:3400 -msgid "Cannot insert a new layer range after the current layer range.\nCurrent layer range overlaps with the next layer range." -msgstr "Non è possibile inserire un nuovo intervallo layer dopo quello attuale.\nL'intervallo layer attuale si sovrappone alla quello successivo." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"Current layer range overlaps with the next layer range." +msgstr "" +"Non è possibile inserire un nuovo intervallo layer dopo quello attuale.\n" +"L'intervallo layer attuale si sovrappone alla quello successivo." #: src/slic3r/GUI/GUI_ObjectList.cpp:3391 -msgid "Cannot insert a new layer range after the current layer range.\nThe next layer range is too thin to be split to two\nwithout violating the minimum layer height." -msgstr "Non è possibile inserire un nuovo intervallo layer dopo quello attuale.\nL'intervallo layer successivo è troppo sottile per essere diviso in due\nsenza violare l'altezza layer minima." +msgid "" +"Cannot insert a new layer range after the current layer range.\n" +"The next layer range is too thin to be split to two\n" +"without violating the minimum layer height." +msgstr "" +"Non è possibile inserire un nuovo intervallo layer dopo quello attuale.\n" +"L'intervallo layer successivo è troppo sottile per essere diviso in due\n" +"senza violare l'altezza layer minima." #: src/slic3r/GUI/GUI_ObjectList.cpp:3395 -msgid "Cannot insert a new layer range between the current and the next layer range.\nThe gap between the current layer range and the next layer range\nis thinner than the minimum layer height allowed." -msgstr "Non è possibile inserire un nuovo intervallo layer tra quello attuale e quello successivo.\nLo spazio tra l'intervallo layer corrente e quello successivo\nè più sottile dell'altezza layer minima consentita." +msgid "" +"Cannot insert a new layer range between the current and the next layer range.\n" +"The gap between the current layer range and the next layer range\n" +"is thinner than the minimum layer height allowed." +msgstr "" +"Non è possibile inserire un nuovo intervallo layer tra quello attuale e quello successivo.\n" +"Lo spazio tra l'intervallo layer corrente e quello successivo\n" +"è più sottile dell'altezza layer minima consentita." #: src/slic3r/GUI/SavePresetDialog.cpp:137 msgid "Cannot overwrite a system profile." @@ -1587,6 +1672,14 @@ msgstr "Co&nfigurazione guidata" msgid "Configuration Assistant" msgstr "Assistente configurazione" +#: src/slic3r/GUI/GUI.cpp:368 +msgid "Configuration bundle was loaded, however some configuration values were not recognized." +msgstr "Il bundle di configurazione è stato caricato, ma alcuni valori di configurazione non sono stati riconosciuti." + +#: src/slic3r/GUI/GUI.cpp:378 +msgid "Configuration file \"%1%\" was loaded, however some configuration values were not recognized." +msgstr "Il file di configurazione \"%1%\" è stato caricato, ma alcuni valori di configurazione non sono stati riconosciuti." + #: src/libslic3r/PrintConfig.cpp:1424 msgid "Configuration notes" msgstr "Note di configurazione" @@ -1651,10 +1744,18 @@ msgstr "Connessione con OctoPrint funzionante." msgid "Connection to printers connected via the print host failed." msgstr "Collegamento alle stampanti collegate tramite l'host di stampa fallito." +#: src/slic3r/Utils/OctoPrint.cpp:185 +msgid "Connection to Prusa SL1 / SL1S works correctly." +msgstr "Collegamento a Prusa SL1 / SL1S correttamente funzionante." + #: src/slic3r/Utils/OctoPrint.cpp:185 msgid "Connection to Prusa SL1 works correctly." msgstr "La connessione a Prusa SL1 funziona correttamente." +#: src/slic3r/Utils/OctoPrint.cpp:229 +msgid "Connection to PrusaLink works correctly." +msgstr "Il collegamento a PrusaLink funziona correttamente." + #: src/libslic3r/PrintConfig.cpp:2051 msgid "Contact Z distance" msgstr "Distanza di contatto Z" @@ -1724,16 +1825,38 @@ msgid "Copy Version Info" msgstr "Copia info versione" #: src/slic3r/Utils/PresetUpdater.cpp:84 -msgid "Copying of file %1% to %2% failed.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "Copia del file %1% a %2% non riuscita.\nMessaggio errore : %3%\nL'errore è stato causata dalla funzione: %4%" +msgid "" +"Copying of file %1% to %2% failed.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"Copia del file %1% a %2% non riuscita.\n" +"Messaggio errore : %3%\n" +"L'errore è stato causata dalla funzione: %4%" #: src/slic3r/Utils/PresetUpdater.cpp:91 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file after copying.\nError message : %3%\nCopying was triggered by function: %4%" -msgstr "Copia del file %1% su %2% non riuscita. Permessi non validi nel file di destinazione dopo la copia.\nMessaggio errore : %3%\n Questo errore è causato dalla funzione: %4%." +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file after copying.\n" +"Error message : %3%\n" +"Copying was triggered by function: %4%" +msgstr "" +"Copia del file %1% su %2% non riuscita. Permessi non validi nel file di destinazione dopo la copia.\n" +"Messaggio errore : %3%\n" +" Questo errore è causato dalla funzione: %4%." #: src/slic3r/Utils/PresetUpdater.cpp:70 -msgid "Copying of file %1% to %2% failed. Permissions fail at target file before copying.\nError message : %3%\nThis error happend during %4% phase." -msgstr "Copia del file %1% su %2% non riuscita. Permessi non validi nel file di destinazione prima della copia.\nMessaggio errore : %3%\n Questo errore si è verificato durante la fase %4%." +msgid "" +"Copying of file %1% to %2% failed. Permissions fail at target file before copying.\n" +"Error message : %3%\n" +"This error happend during %4% phase." +msgstr "" +"Copia del file %1% su %2% non riuscita. Permessi non validi nel file di destinazione prima della copia.\n" +"Messaggio errore : %3%\n" +" Questo errore si è verificato durante la fase %4%." + +#: src/slic3r/Utils/PresetUpdater.cpp:65 +msgid "Copying of file %1% to %2% failed: %3%" +msgstr "Copia del file %1% su %2% non riuscita: %3%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:156 msgid "Copying of the temporary G-code has finished but the exported code couldn't be opened during copy check. The output G-code is at %1%.tmp." @@ -1748,8 +1871,12 @@ msgid "Copying of the temporary G-code to the output G-code failed" msgstr "Copia del G-code temporaneo nel G-code di output non riuscita" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:163 -msgid "Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\nError message: %1%" -msgstr "Copia del G-code temporaneo sul G-code di uscita non riuscita. Forse la scheda SD è bloccata in scrittura?\nMessaggio di errore: %1%" +msgid "" +"Copying of the temporary G-code to the output G-code failed. Maybe the SD card is write locked?\n" +"Error message: %1%" +msgstr "" +"Copia del G-code temporaneo sul G-code di uscita non riuscita. Forse la scheda SD è bloccata in scrittura?\n" +"Messaggio di errore: %1%" #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:147 msgid "Copying of the temporary G-code to the output G-code failed. There might be problem with target device, please try exporting again or using different device. The corrupted output G-code is at %1%.tmp." @@ -1800,6 +1927,10 @@ msgstr "Impossibile connettersi ad OctoPrint" msgid "Could not connect to Prusa SLA" msgstr "Connessione a Prusa SLA fallita" +#: src/slic3r/Utils/OctoPrint.cpp:235 +msgid "Could not connect to PrusaLink" +msgstr "Impossibile connettersi a PrusaLink" + #: src/slic3r/Utils/Http.cpp:73 msgid "Could not detect system SSL certificate store. PrusaSlicer will be unable to establish secure network connections." msgstr "Impossibile rilevare archivio di certificati SSL di sistema. PrusaSlicer non sarà in grado di stabilire connessioni di rete sicure." @@ -2353,8 +2484,14 @@ msgstr "Non disporre i modelli prima dell’unione e mantieni le coordinate XY o #: src/slic3r/GUI/Field.cpp:288 #, possible-c-format -msgid "Do you mean %s%% instead of %s %s?\nSelect YES if you want to change this value to %s%%, \nor NO if you are sure that %s %s is a correct value." -msgstr "Intendevi %s invece di %s %s?\nSeleziona SI se vuoi cambiare il valore a %s %%,\no NO se sei sicuro che %s %s è il valore corretto." +msgid "" +"Do you mean %s%% instead of %s %s?\n" +"Select YES if you want to change this value to %s%%, \n" +"or NO if you are sure that %s %s is a correct value." +msgstr "" +"Intendevi %s invece di %s %s?\n" +"Seleziona SI se vuoi cambiare il valore a %s %%,\n" +"o NO se sei sicuro che %s %s è il valore corretto." #: src/slic3r/GUI/DoubleSlider.cpp:2138 msgid "Do you want to delete all saved tool changes?" @@ -2388,6 +2525,10 @@ msgstr "non contiene un g-code valido." msgid "Don't arrange" msgstr "Non disporre" +# Don't install +msgid "Don't install" +msgstr "Non installare" + #: src/slic3r/GUI/UpdateDialogs.cpp:71 msgid "Don't notify about new releases any more" msgstr "Non notificare più i nuovi rilasci" @@ -3161,6 +3302,10 @@ msgstr "Layer sfumati" msgid "failed finding central directory" msgstr "directory centrale non trovata" +#: src/slic3r/GUI/Plater.cpp:2399 +msgid "Failed loading file \"%1%\" due to an invalid configuration." +msgstr "Impossibile caricare il file \"%1%\" a causa di una configurazione non valida." + #: src/slic3r/Utils/FixModelByWin10.cpp:235 msgid "Failed loading the input model." msgstr "Caricamento modello input fallito." @@ -3512,11 +3657,17 @@ msgstr "Solo per rinforzi supporto" #. TRN Description for "WHITE BULLET" #: src/slic3r/GUI/Tab.cpp:3702 -msgid "for the left button: indicates a non-system (or non-default) preset,\nfor the right button: indicates that the settings hasn't been modified." -msgstr "per il tasto sinistro: indica un preset non di sistema (o non-predefinito),\nper il tasto destro: indica che le impostazioni non sono state modificate." +msgid "" +"for the left button: indicates a non-system (or non-default) preset,\n" +"for the right button: indicates that the settings hasn't been modified." +msgstr "" +"per il tasto sinistro: indica un preset non di sistema (o non-predefinito),\n" +"per il tasto destro: indica che le impostazioni non sono state modificate." #: src/slic3r/GUI/ConfigManipulation.cpp:135 -msgid "For the Wipe Tower to work with the soluble supports, the support layers\nneed to be synchronized with the object layers." +msgid "" +"For the Wipe Tower to work with the soluble supports, the support layers\n" +"need to be synchronized with the object layers." msgstr "Per far sì che la torre di spurgo funzioni con i supporti solubili, i layer dei supporti devono essere sincronizzati con quelli del modello." #: src/libslic3r/Print.cpp:1422 @@ -3572,8 +3723,12 @@ msgid "G-code" msgstr "G-code" #: src/slic3r/GUI/DoubleSlider.cpp:1146 -msgid "G-code associated to this tick mark is in a conflict with print mode.\nEditing it will cause changes of Slider data." -msgstr "Il G-code associato a questo segno di spunta è in conflitto con la modalità di stampa.\nLa modifica causerà cambiamenti nei dati della barra di scorrimento." +msgid "" +"G-code associated to this tick mark is in a conflict with print mode.\n" +"Editing it will cause changes of Slider data." +msgstr "" +"Il G-code associato a questo segno di spunta è in conflitto con la modalità di stampa.\n" +"La modifica causerà cambiamenti nei dati della barra di scorrimento." #: src/slic3r/GUI/BackgroundSlicingProcess.cpp:165 msgid "G-code file exported to %1%" @@ -3963,7 +4118,9 @@ msgid "Hostname, IP or URL" msgstr "Nome Host, IP o URL" #: src/slic3r/GUI/Tab.cpp:210 -msgid "Hover the cursor over buttons to find more information \nor click this button." +msgid "" +"Hover the cursor over buttons to find more information \n" +"or click this button." msgstr "Scorri il cursore sui bottoni per ottenere maggiori informazioni o clicca su questo bottone." #: src/libslic3r/PrintConfig.cpp:2976 @@ -4030,8 +4187,12 @@ msgid "If enabled, all printing extruders will be primed at the front edge of th msgstr "Se attivata, tutti gli estrusori di stampa verranno preparati nel bordo frontale del piano di stampa all'inizio della stampa." #: src/slic3r/GUI/ConfigWizard.cpp:1164 -msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\nIf not enabled, the Reload from disk command will ask to select each file using an open file dialog." -msgstr "Se attivo, permette al comando di Ricarica da disco di trovare e caricare automaticamente i file quando richiesti.\nSe non attivo, il comando Ricarica da disco chiederà di selezionare ciascun file tramite finestra di apertura file." +msgid "" +"If enabled, allows the Reload from disk command to automatically find and load the files when invoked.\n" +"If not enabled, the Reload from disk command will ask to select each file using an open file dialog." +msgstr "" +"Se attivo, permette al comando di Ricarica da disco di trovare e caricare automaticamente i file quando richiesti.\n" +"Se non attivo, il comando Ricarica da disco chiederà di selezionare ciascun file tramite finestra di apertura file." #: src/slic3r/GUI/Preferences.cpp:91 msgid "If enabled, allows the Reload from disk command to automatically find and load the files when invoked." @@ -4238,6 +4399,10 @@ msgstr "Importazione del file 3mf riparato non riuscita" msgid "Import profile only" msgstr "Solo profilo di importazione" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Import SL1 / SL1S archive" +msgstr "Importa archivio SL1 / SL1S" + #: src/slic3r/GUI/MainFrame.cpp:1050 msgid "Import SL1 archive" msgstr "Importa archivio SL1" @@ -4309,8 +4474,12 @@ msgstr "Aumenta/diminuisci l'area di modifica" #. TRN Description for "UNLOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3695 -msgid "indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." -msgstr "indica che è stata modificata qualche impostazione e non è uguale ai valori di sistema (o predefiniti) del corrente gruppo di opzioni.\nClicca l'icona LUCCHETTO APERTO per reimpostare tutte le impostazioni del corrente gruppo di opzioni ai valori di sistema (o predefiniti)." +msgid "" +"indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click the UNLOCKED LOCK icon to reset all settings for current option group to the system (or default) values." +msgstr "" +"indica che è stata modificata qualche impostazione e non è uguale ai valori di sistema (o predefiniti) del corrente gruppo di opzioni.\n" +"Clicca l'icona LUCCHETTO APERTO per reimpostare tutte le impostazioni del corrente gruppo di opzioni ai valori di sistema (o predefiniti)." #. TRN Description for "LOCKED LOCK" #: src/slic3r/GUI/Tab.cpp:3691 @@ -4319,8 +4488,12 @@ msgstr "indica che le impostazioni sono uguali ai valori di sistema (o predefini #. TRN Description for "BACK ARROW" #: src/slic3r/GUI/Tab.cpp:3707 -msgid "indicates that the settings were changed and are not equal to the last saved preset for the current option group.\nClick the BACK ARROW icon to reset all settings for the current option group to the last saved preset." -msgstr "indica che le impostazioni sono state modificate e non corrispondono all'ultimo preset salvato per l'attuale gruppo opzioni.\nClicca l'icona FRECCIA INDIETRO per reimpostare all'ultimo preset salvato tutte le impostazioni per il seguente gruppo di opzioni." +msgid "" +"indicates that the settings were changed and are not equal to the last saved preset for the current option group.\n" +"Click the BACK ARROW icon to reset all settings for the current option group to the last saved preset." +msgstr "" +"indica che le impostazioni sono state modificate e non corrispondono all'ultimo preset salvato per l'attuale gruppo opzioni.\n" +"Clicca l'icona FRECCIA INDIETRO per reimpostare all'ultimo preset salvato tutte le impostazioni per il seguente gruppo di opzioni." #: src/slic3r/GUI/ConfigManipulation.cpp:210 #: src/slic3r/GUI/GUI_ObjectList.cpp:35 src/slic3r/GUI/GUI_ObjectList.cpp:93 @@ -4383,8 +4556,12 @@ msgstr "Altezza layer iniziale" #: src/slic3r/GUI/Field.cpp:269 #, possible-c-format -msgid "Input value is out of range\nAre you sure that %s is a correct value and that you want to continue?" -msgstr "Il valore di input è fuori portata\nSei sicuro che %s sia un valore corretto e di voler continuare?" +msgid "" +"Input value is out of range\n" +"Are you sure that %s is a correct value and that you want to continue?" +msgstr "" +"Il valore di input è fuori portata\n" +"Sei sicuro che %s sia un valore corretto e di voler continuare?" #: src/slic3r/GUI/Field.cpp:252 src/slic3r/GUI/Field.cpp:1370 msgid "Input value is out of range" @@ -4398,6 +4575,10 @@ msgstr "Ispeziona / attiva istantanee di configurazione" msgid "install" msgstr "installa" +#: src/slic3r/GUI/UpdateDialogs.cpp:136 +msgid "Install" +msgstr "Installa" + #: src/slic3r/GUI/ObjectDataViewModel.cpp:62 #: src/slic3r/GUI/ObjectDataViewModel.cpp:218 #, possible-c-format @@ -4552,13 +4733,23 @@ msgstr "Salta all'altezza" #: src/slic3r/GUI/DoubleSlider.cpp:1223 #, possible-c-format -msgid "Jump to height %s\nor Set ruler mode" -msgstr "Vai all'altezza %s \no Imposta la modalità righello" +msgid "" +"Jump to height %s\n" +"or Set ruler mode" +msgstr "" +"Vai all'altezza %s \n" +"o Imposta la modalità righello" #: src/slic3r/GUI/DoubleSlider.cpp:1220 #, possible-c-format -msgid "Jump to height %s\nSet ruler mode\nor Set extruder sequence for the entire print" -msgstr "Vai all'altezza %s\nImposta la modalità del righello\no Imposta la sequenza dell'estrusore per l'intera stampa" +msgid "" +"Jump to height %s\n" +"Set ruler mode\n" +"or Set extruder sequence for the entire print" +msgstr "" +"Vai all'altezza %s\n" +"Imposta la modalità del righello\n" +"o Imposta la sequenza dell'estrusore per l'intera stampa" #: src/slic3r/GUI/DoubleSlider.cpp:1071 src/slic3r/GUI/DoubleSlider.cpp:1852 msgid "Jump to move" @@ -4756,6 +4947,10 @@ msgstr "Carica modello" msgid "Load an model saved with imperial units" msgstr "Carica un modello salvato con unità imperiali" +#: src/slic3r/GUI/MainFrame.cpp:1000 +msgid "Load an SL1 / Sl1S archive" +msgstr "Carica un archivio SL1 / SL1S" + #: src/slic3r/GUI/MainFrame.cpp:1058 msgid "Load an SL1 archive" msgstr "Carica un archivio SL1" @@ -5494,6 +5689,10 @@ msgstr "Monotonico" msgid "More" msgstr "Altro" +#: src/slic3r/GUI/GUI.cpp:339 +msgid "Most likely the configuration was produced by a newer version of PrusaSlicer or by some PrusaSlicer fork." +msgstr "Molto probabilmente la configurazione è stata creata da una versione più recente di PrusaSlicer o da qualche fork di PrusaSlicer." + #: src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:1219 msgid "Mouse wheel" msgstr "Rotella del mouse" @@ -5584,7 +5783,7 @@ msgstr "Movimento nello spazio della camera" #: src/slic3r/GUI/KBShortcutsDialog.cpp:162 msgid "Movement step set to 1 mm" -msgstr "Passo del movimento impostato a 1 mm" +msgstr "Passo movimento impostato a 1 mm" #: src/libslic3r/PrintConfig.cpp:2344 msgid "Multi material printers may need to prime or purge extruders on tool changes. Extrude the excess material into the wipe tower." @@ -5604,8 +5803,13 @@ msgid "Multiple Extruders" msgstr "Estrusori multipli" #: src/slic3r/GUI/Plater.cpp:2372 -msgid "Multiple objects were loaded for a multi-material printer.\nInstead of considering them as multiple objects, should I consider\nthese files to represent a single object having multiple parts?" -msgstr "Sono stati caricati oggetti multipli per stampante multi-material.\nInvece di considerarli come oggetti multipli, devo considerarli come parte di un singolo oggetto avente parti multiple?" +msgid "" +"Multiple objects were loaded for a multi-material printer.\n" +"Instead of considering them as multiple objects, should I consider\n" +"these files to represent a single object having multiple parts?" +msgstr "" +"Sono stati caricati oggetti multipli per stampante multi-material.\n" +"Invece di considerarli come oggetti multipli, devo considerarli come parte di un singolo oggetto avente parti multiple?" #: src/libslic3r/PrintConfig.cpp:3638 msgid "Multiply copies by creating a grid." @@ -5661,6 +5865,10 @@ msgstr "Nuovo progetto" msgid "New project, clear plater" msgstr "Nuovo progetto, pulisci piano" +#: src/slic3r/GUI/GUI.cpp:304 +msgid "new unknown value %1% was changed to default value %2%" +msgstr "il nuovo valore sconosciuto %1% è stato sostituito al valore predefinito %2%" + #: src/slic3r/GUI/UnsavedChangesDialog.cpp:609 msgid "New Value" msgstr "Nuovo valore" @@ -5748,6 +5956,10 @@ msgstr "Non trovato:" msgid "Note" msgstr "Nota" +#: src/slic3r/GUI/MsgDialog.cpp:114 +msgid "Note that" +msgstr "Si noti che" + #: src/slic3r/GUI/Tab.cpp:3408 msgid "Note, that selected preset will be deleted from this/those printer(s) too." msgstr "Nota: il preset selezionato verrà eliminato anche da questa/e stampante/i." @@ -5757,8 +5969,14 @@ msgid "Note, that this/those printer(s) will be deleted after deleting of the se msgstr "Nota: questa/e stampante/i saranno cancellate dopo aver cancellato il preset selezionato." #: src/slic3r/GUI/Tab.cpp:2039 -msgid "Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n\nA new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." -msgstr "Nota: Tutti i parametri di questo gruppo vengono spostati nelle impostazioni della stampante fisica (vedi changelog).\n\nUn nuovo profilo di stampante fisica viene creato cliccando sull'icona \"ingranaggio\" a destra della casella combinata dei profili della stampante, selezionando la voce \"Aggiungi stampante fisica\" nella casella combinata della stampante. L'editor dei profili della stampante fisica si apre anche cliccando sull'icona \"ingranaggio\" nella scheda Impostazioni della stampante. I profili della stampante fisica vengono memorizzati nella directory PrusaSlicer/physical_printer." +msgid "" +"Note: All parameters from this group are moved to the Physical Printer settings (see changelog).\n" +"\n" +"A new Physical Printer profile is created by clicking on the \"cog\" icon right of the Printer profiles combo box, by selecting the \"Add physical printer\" item in the Printer combo box. The Physical Printer profile editor opens also when clicking on the \"cog\" icon in the Printer settings tab. The Physical Printer profiles are being stored into PrusaSlicer/physical_printer directory." +msgstr "" +"Nota: Tutti i parametri di questo gruppo vengono spostati nelle impostazioni della stampante fisica (vedi changelog).\n" +"\n" +"Un nuovo profilo di stampante fisica viene creato cliccando sull'icona \"ingranaggio\" a destra della casella combinata dei profili della stampante, selezionando la voce \"Aggiungi stampante fisica\" nella casella combinata della stampante. L'editor dei profili della stampante fisica si apre anche cliccando sull'icona \"ingranaggio\" nella scheda Impostazioni della stampante. I profili della stampante fisica vengono memorizzati nella directory PrusaSlicer/physical_printer." #: src/slic3r/Utils/AstroBox.cpp:92 msgid "Note: AstroBox version at least 1.1.0 is required." @@ -6082,6 +6300,10 @@ msgstr "Apri la pagina di download dei driver Prusa3D sul browser" msgid "Open the software releases page in your browser" msgstr "Apri la pagina delle versioni software sul browser" +#: src/slic3r/GUI/UpdateDialogs.cpp:89 +msgid "Opening Configuration Wizard" +msgstr "Apertura Configurazione Guidata" + #: src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp:220 src/slic3r/GUI/Plater.cpp:3961 msgid "Optimize orientation" msgstr "Ottimizza orientamento" @@ -6218,7 +6440,7 @@ msgstr "Passo del connettore del pad dell'oggetto" #: src/libslic3r/PrintConfig.cpp:3053 msgid "Pad object connector width" -msgstr "Lunghezza connettore Pad dell'oggetto" +msgstr "Larghezza connettore Pad dell'oggetto" #: src/libslic3r/PrintConfig.cpp:3033 msgid "Pad object gap" @@ -6371,6 +6593,10 @@ msgstr "Stampanti fisiche" msgid "Pick another vendor supported by %s" msgstr "Scegli un altro produttore supportato da %s" +#: src/libslic3r/PrintConfig.cpp:67 +msgid "Picture sizes to be stored into a .gcode and .sl1 / .sl1s files, in the following format: \"XxY, XxY, ...\"" +msgstr "Dimensioni delle immagini da memorizzare in un file .gcode e .sl1 / .sl1s, nel seguente formato: \"XxY, XxY, ...\"" + #: src/libslic3r/PrintConfig.cpp:67 msgid "Picture sizes to be stored into a .gcode and .sl1 files, in the following format: \"XxY, XxY, ...\"" msgstr "Dimensioni delle immagini da memorizzare in un file .gcode e .sl1, nel seguente formato: \"XxY, XxY, ...\"" @@ -6421,6 +6647,10 @@ msgstr "Per favore controlla e correggi la tua lista oggetti." msgid "Please check your object list before preset changing." msgstr "Per favore verifica la tua lista di oggetti prima di cambiare i preset." +#: src/slic3r/GUI/GUI.cpp:341 +msgid "Please review the substitutions and adjust them if needed." +msgstr "Rivedere le sostituzioni e regolarle se necessario." + #: src/slic3r/GUI/Plater.cpp:3089 msgid "Please select the file to reload" msgstr "Seleziona il file da ricaricare" @@ -6521,15 +6751,23 @@ msgid "Press to activate selection rectangle" msgstr "Premi per attivare il rettangolo di selezione" #: src/slic3r/GUI/KBShortcutsDialog.cpp:155 -msgid "Press to select multiple objects\nor move multiple objects with mouse" -msgstr "Premi per selezionare o spostare\noggetti multipli con il mouse" +msgid "" +"Press to select multiple objects\n" +"or move multiple objects with mouse" +msgstr "" +"Premi per selezionare o spostare\n" +"oggetti multipli con il mouse" #: src/slic3r/GUI/KBShortcutsDialog.cpp:221 #: src/slic3r/GUI/KBShortcutsDialog.cpp:222 #: src/slic3r/GUI/KBShortcutsDialog.cpp:231 #: src/slic3r/GUI/KBShortcutsDialog.cpp:232 -msgid "Press to speed up 5 times while moving thumb\nwith arrow keys or mouse wheel" -msgstr "Premere per accelerare di 5 volte durante il movimento del cursore\ncon i tasti freccia o la rotella del mouse" +msgid "" +"Press to speed up 5 times while moving thumb\n" +"with arrow keys or mouse wheel" +msgstr "" +"Premere per accelerare di 5 volte durante il movimento del cursore\n" +"con i tasti freccia o la rotella del mouse" #: src/slic3r/GUI/KBShortcutsDialog.cpp:212 src/slic3r/GUI/Plater.cpp:4052 #: src/slic3r/GUI/Tab.cpp:2559 @@ -6731,8 +6969,14 @@ msgid "PrusaSlicer GUI initialization failed" msgstr "Inizializzazione GUI PrusaSlicer non riuscita" #: src/slic3r/GUI/GUI_App.cpp:586 -msgid "PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n\nThe application will now terminate." -msgstr "PrusaSlicer ha riscontrato un errore di localizzazione. Si prega di riferire al team di PrusaSlicer, quale lingua era attiva e in quale scenario si è verificato questo problema. Grazie.\n\nL'applicazione terminerà ora." +msgid "" +"PrusaSlicer has encountered a localization error. Please report to PrusaSlicer team, what language was active and in which scenario this issue happened. Thank you.\n" +"\n" +"The application will now terminate." +msgstr "" +"PrusaSlicer ha riscontrato un errore di localizzazione. Si prega di riferire al team di PrusaSlicer, quale lingua era attiva e in quale scenario si è verificato questo problema. Grazie.\n" +"\n" +"L'applicazione terminerà ora." #: src/slic3r/GUI/AboutDialog.cpp:285 msgid "PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community." @@ -6742,9 +6986,19 @@ msgstr "PrusaSlicer è basato su Slic3r di Alessandro Ranellucci e la comunità msgid "PrusaSlicer is closing: Unsaved Changes" msgstr "Chiusura PrusaSlicer: Modifiche non salvate" +#: src/slic3r/GUI/UpdateDialogs.cpp:90 +msgid "" +"PrusaSlicer is not using the newest configuration available.\n" +"Configuration Wizard may not offer the latest printers, filaments and SLA materials to be installed. " +msgstr "" +"PrusaSlicer non sta usando la configurazione più recente disponibile.\n" +"La configurazione guidata potrebbe non offrire la possibilità di installare le ultime stampanti, filamenti e materiali SLA." + #: src/slic3r/GUI/OpenGLManager.cpp:259 #, possible-c-format -msgid "PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \nwhile OpenGL version %s, render %s, vendor %s was detected." +msgid "" +"PrusaSlicer requires OpenGL 2.0 capable graphics driver to run correctly, \n" +"while OpenGL version %s, render %s, vendor %s was detected." msgstr "PrusaSlicer richiede un driver video con supporto OpenGL 2.0 per funzionare correttamente, mentre è stata rilevata la versione %s OpenGL, render %s, distributore %s." #: src/slic3r/GUI/ConfigSnapshotDialog.cpp:50 @@ -6756,8 +7010,14 @@ msgid "PrusaSlicer will remember your action." msgstr "PrusaSlicer ricorderà la tua azione." #: src/slic3r/GUI/ConfigWizard.cpp:1174 -msgid "PrusaSlicer's user interfaces comes in three variants:\nSimple, Advanced, and Expert.\nThe Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." -msgstr "L'interfaccia utente di PrusaSlicer è disponibile in tre varianti:\nSemplice, Avanzata ed Esperto.\nLa modalità Semplice mostra solo le impostazioni rilevanti utilizzate più spesso per una semplice stampa 3D. Le altre due offrono progressivamente ottimizzazioni più sofisticate, sono adatte ad utenti avanzati ed esperti, rispettivamente." +msgid "" +"PrusaSlicer's user interfaces comes in three variants:\n" +"Simple, Advanced, and Expert.\n" +"The Simple mode shows only the most frequently used settings relevant for regular 3D printing. The other two offer progressively more sophisticated fine-tuning, they are suitable for advanced and expert users, respectively." +msgstr "" +"L'interfaccia utente di PrusaSlicer è disponibile in tre varianti:\n" +"Semplice, Avanzata ed Esperto.\n" +"La modalità Semplice mostra solo le impostazioni rilevanti utilizzate più spesso per una semplice stampa 3D. Le altre due offrono progressivamente ottimizzazioni più sofisticate, sono adatte ad utenti avanzati ed esperti, rispettivamente." #: src/slic3r/GUI/UnsavedChangesDialog.cpp:668 msgid "PrusaSlicer: Don't ask me again" @@ -6841,8 +7101,14 @@ msgid "Ramming customization" msgstr "Personalizzazione del ramming" #: src/slic3r/GUI/WipeTowerDialog.cpp:41 -msgid "Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n\nThis is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." -msgstr "Il ramming è la rapida estrusione appena prima di un cambio di attrezzo in una stampante MM ad estrusore singolo. Lo scopo è di dare la forma corretta al capo del filamento scaricato cosicché non prevenga l'inserzione del nuovo filamento e perché possa essere inserito più facilmente esso stesso. Questa fase è importante e materiali diversi possono richiedere velocità diverse per ottenere la forma corretta. Per questo motivo le velocità di estrusione del ramming possono essere modificate.\n\nQuesta è un'impostazione per esperti, valori scorretti produrranno facilmente dei blocchi, o porteranno l'ingranaggio di estrusione a macinare il filamento etc." +msgid "" +"Ramming denotes the rapid extrusion just before a tool change in a single-extruder MM printer. Its purpose is to properly shape the end of the unloaded filament so it does not prevent insertion of the new filament and can itself be reinserted later. This phase is important and different materials can require different extrusion speeds to get the good shape. For this reason, the extrusion rates during ramming are adjustable.\n" +"\n" +"This is an expert-level setting, incorrect adjustment will likely lead to jams, extruder wheel grinding into filament etc." +msgstr "" +"Il ramming è la rapida estrusione appena prima di un cambio di attrezzo in una stampante MM ad estrusore singolo. Lo scopo è di dare la forma corretta al capo del filamento scaricato cosicché non prevenga l'inserzione del nuovo filamento e perché possa essere inserito più facilmente esso stesso. Questa fase è importante e materiali diversi possono richiedere velocità diverse per ottenere la forma corretta. Per questo motivo le velocità di estrusione del ramming possono essere modificate.\n" +"\n" +"Questa è un'impostazione per esperti, valori scorretti produrranno facilmente dei blocchi, o porteranno l'ingranaggio di estrusione a macinare il filamento etc." #: src/slic3r/GUI/WipeTowerDialog.cpp:91 msgid "Ramming line spacing" @@ -7469,6 +7735,10 @@ msgstr "Salva progetto (3mf)" msgid "Save project as (3mf)" msgstr "Salva progetto come (3mf)" +#: src/slic3r/GUI/Plater.cpp:5337 +msgid "Save SL1 / SL1S file as:" +msgstr "Salva file SL1 / SL1S come:" + #: src/slic3r/GUI/Plater.cpp:4975 msgid "Save SL1 file as:" msgstr "Salva file SL1 come:" @@ -7673,8 +7943,14 @@ msgid "Select what kind of support do you need" msgstr "Seleziona il tipo di supporto richiesto" #: src/slic3r/GUI/DoubleSlider.cpp:2135 -msgid "Select YES if you want to delete all saved tool changes, \nNO if you want all tool changes switch to color changes, \nor CANCEL to leave it unchanged." -msgstr "Seleziona SI se vuoi cancellare tutti i cambi attrezzo salvati,\nNO se vuoi che tutti i cambi attrezzo passino a cambi colore,\no ANNULLA per lasciarlo invariato." +msgid "" +"Select YES if you want to delete all saved tool changes, \n" +"NO if you want all tool changes switch to color changes, \n" +"or CANCEL to leave it unchanged." +msgstr "" +"Seleziona SI se vuoi cancellare tutti i cambi attrezzo salvati,\n" +"NO se vuoi che tutti i cambi attrezzo passino a cambi colore,\n" +"o ANNULLA per lasciarlo invariato." #: src/slic3r/GUI/Selection.cpp:191 msgid "Selection-Add" @@ -7919,8 +8195,12 @@ msgid "Set upper thumb to current slider thumb" msgstr "Imposta il cursore superiore alla barra di scorrimento attuale" #: src/libslic3r/PrintConfig.cpp:3714 -msgid "Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\nFor example. loglevel=2 logs fatal, error and warning level messages." -msgstr "Imposta la sensibilità di log. 0:fatale, 1:errore, 2:avviso, 3:informazioni, 4:debug, 5:traccia\nPer esempio. loglevel=2 registra messaggi fatali, di errore e di avviso." +msgid "" +"Sets logging sensitivity. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace\n" +"For example. loglevel=2 logs fatal, error and warning level messages." +msgstr "" +"Imposta la sensibilità di log. 0:fatale, 1:errore, 2:avviso, 3:informazioni, 4:debug, 5:traccia\n" +"Per esempio. loglevel=2 registra messaggi fatali, di errore e di avviso." #: src/slic3r/GUI/BedShapeDialog.cpp:292 src/slic3r/GUI/MainFrame.cpp:1969 msgid "Settings" @@ -8146,8 +8426,14 @@ msgid "Single Extruder Multi Material" msgstr "Estrusore singolo Multi Material" #: src/slic3r/GUI/Tab.cpp:2101 -msgid "Single Extruder Multi Material is selected, \nand all extruders must have the same diameter.\nDo you want to change the diameter for all extruders to first extruder nozzle diameter value?" -msgstr "Materiale multiplo a singolo estrusore selezionato,\ntutti gli estrusori devono avere lo stesso diametro.\nVuoi modificare il diametro di tutti gli estrusori al valore del diametro dell'ugello del primo estrusore?" +msgid "" +"Single Extruder Multi Material is selected, \n" +"and all extruders must have the same diameter.\n" +"Do you want to change the diameter for all extruders to first extruder nozzle diameter value?" +msgstr "" +"Materiale multiplo a singolo estrusore selezionato,\n" +"tutti gli estrusori devono avere lo stesso diametro.\n" +"Vuoi modificare il diametro di tutti gli estrusori al valore del diametro dell'ugello del primo estrusore?" #: src/slic3r/GUI/Tab.cpp:2476 msgid "Single extruder multimaterial parameters" @@ -8412,8 +8698,12 @@ msgstr "Alcuni comandi G/M-code, incluso il controllo di temperatura e altri, no #: src/slic3r/GUI/Plater.cpp:2309 #, possible-c-format -msgid "Some object(s) in file %s looks like saved in inches.\nShould I consider them as a saved in inches and convert them?" -msgstr "Alcuni oggetti nel file %s sembrano salvati in pollici.\nDevo considerarli come salvati in pollici e convertirli?" +msgid "" +"Some object(s) in file %s looks like saved in inches.\n" +"Should I consider them as a saved in inches and convert them?" +msgstr "" +"Alcuni oggetti nel file %s sembrano salvati in pollici.\n" +"Devo considerarli come salvati in pollici e convertirli?" #: src/slic3r/GUI/GLCanvas3D.cpp:636 msgid "Some objects are not visible." @@ -8622,8 +8912,30 @@ msgid "Start the application" msgstr "Avvia l'applicazione" #: src/slic3r/GUI/GUI_App.cpp:386 -msgid "Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n%2%.\n\nThis directory did not exist yet (maybe you run the new version for the first time).\nHowever, an old %1% configuration directory was detected in \n%3%.\n\nConsider moving the contents of the old directory to the new location in order to access your profiles, etc.\nNote that if you decide to downgrade %1% in future, it will use the old location again.\n\nWhat do you want to do now?" -msgstr "A partire da %1% 2.3, la directory di configurazione su Linux è cambiata (secondo la XDG Base Directory Specification) in \n%2%.\n\nQuesta directory non esiste ancora (forse stai usando la nuova versione per la prima volta).\nTuttavia, è stata rilevata una vecchia directory di configurazione %1% in \n%3%.\n\nPrendere in considerazione la possibilità di spostare il contenuto della vecchia directory nella nuova posizione per accedere ai propri profili, ecc.\nNotare che se si decide di fare un downgrade di %1% in futuro, si utilizzerà di nuovo la vecchia posizione.\n\nCosa vuoi fare adesso?" +msgid "" +"Starting with %1% 2.3, configuration directory on Linux has changed (according to XDG Base Directory Specification) to \n" +"%2%.\n" +"\n" +"This directory did not exist yet (maybe you run the new version for the first time).\n" +"However, an old %1% configuration directory was detected in \n" +"%3%.\n" +"\n" +"Consider moving the contents of the old directory to the new location in order to access your profiles, etc.\n" +"Note that if you decide to downgrade %1% in future, it will use the old location again.\n" +"\n" +"What do you want to do now?" +msgstr "" +"A partire da %1% 2.3, la directory di configurazione su Linux è cambiata (secondo la XDG Base Directory Specification) in \n" +"%2%.\n" +"\n" +"Questa directory non esiste ancora (forse stai usando la nuova versione per la prima volta).\n" +"Tuttavia, è stata rilevata una vecchia directory di configurazione %1% in \n" +"%3%.\n" +"\n" +"Prendere in considerazione la possibilità di spostare il contenuto della vecchia directory nella nuova posizione per accedere ai propri profili, ecc.\n" +"Notare che se si decide di fare un downgrade di %1% in futuro, si utilizzerà di nuovo la vecchia posizione.\n" +"\n" +"Cosa vuoi fare adesso?" #: src/slic3r/GUI/PrintHostDialogs.cpp:149 msgid "Status" @@ -8791,8 +9103,12 @@ msgid "Supports stealth mode" msgstr "Supporto modalità silenziosa" #: src/slic3r/GUI/ConfigManipulation.cpp:158 -msgid "Supports work better, if the following feature is enabled:\n- Detect bridging perimeters" -msgstr "I supporti funzionano meglio se le la seguente funzione è attivata:\n- Rileva perimetri ponte" +msgid "" +"Supports work better, if the following feature is enabled:\n" +"- Detect bridging perimeters" +msgstr "" +"I supporti funzionano meglio se le la seguente funzione è attivata:\n" +"- Rileva perimetri ponte" #: src/slic3r/GUI/Preferences.cpp:104 msgid "Suppress \" - default - \" presets" @@ -8852,12 +9168,22 @@ msgid "Switching Presets: Unsaved Changes" msgstr "Cambio di preset: Modifiche non salvate" #: src/slic3r/GUI/GUI_App.cpp:1608 -msgid "Switching the language will trigger application restart.\nYou will lose content of the plater." -msgstr "Il cambio della lingua necessita il riavvio dell'applicazione.\nVerrà cancellato il contenuto del piano." +msgid "" +"Switching the language will trigger application restart.\n" +"You will lose content of the plater." +msgstr "" +"Il cambio della lingua necessita il riavvio dell'applicazione.\n" +"Verrà cancellato il contenuto del piano." #: src/slic3r/GUI/WipeTowerDialog.cpp:365 -msgid "Switching to simple settings will discard changes done in the advanced mode!\n\nDo you want to proceed?" -msgstr "Cambiare alle impostazioni semplici eliminerà tutte le modifiche fatte alle impostazioni complesse!\n\nProcedere?" +msgid "" +"Switching to simple settings will discard changes done in the advanced mode!\n" +"\n" +"Do you want to proceed?" +msgstr "" +"Cambiare alle impostazioni semplici eliminerà tutte le modifiche fatte alle impostazioni complesse!\n" +"\n" +"Procedere?" #: src/slic3r/GUI/Tab.cpp:1332 msgid "symbolic profile name" @@ -8935,16 +9261,25 @@ msgstr "Il dispositivo %s non è stato trovato" #: src/slic3r/GUI/FirmwareDialog.cpp:436 #, possible-c-format -msgid "The %s device was not found.\nIf the device is connected, please press the Reset button next to the USB connector ..." -msgstr "Il dispositivo %s non è stato trovato.\nSe il dispositivo è connesso, premi il pulsante Reset vicino al connettore USB ..." +msgid "" +"The %s device was not found.\n" +"If the device is connected, please press the Reset button next to the USB connector ..." +msgstr "" +"Il dispositivo %s non è stato trovato.\n" +"Se il dispositivo è connesso, premi il pulsante Reset vicino al connettore USB ..." #: src/slic3r/GUI/Tab.cpp:1238 msgid "The current custom preset will be detached from the parent system preset." msgstr "Il preset personalizzato corrente sarà staccato dal preset del sistema padre." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:925 -msgid "The currently manipulated object is tilted (rotation angles are not multiples of 90°).\nNon-uniform scaling of tilted objects is only possible in the World coordinate system,\nonce the rotation is embedded into the object coordinates." -msgstr "L'oggetto modificato corrente è inclinato (angoli di rotazione non multipli di 90°).\nUn ridimensionamento non uniforme di un oggetto inclinato è possibile solamente su un sistema di coordinate reali, non appena la rotazione è inclusa nelle coordinate dell'oggetto." +msgid "" +"The currently manipulated object is tilted (rotation angles are not multiples of 90°).\n" +"Non-uniform scaling of tilted objects is only possible in the World coordinate system,\n" +"once the rotation is embedded into the object coordinates." +msgstr "" +"L'oggetto modificato corrente è inclinato (angoli di rotazione non multipli di 90°).\n" +"Un ridimensionamento non uniforme di un oggetto inclinato è possibile solamente su un sistema di coordinate reali, non appena la rotazione è inclusa nelle coordinate dell'oggetto." #: src/libslic3r/PrintConfig.cpp:2890 msgid "The default angle for connecting support sticks and junctions." @@ -9028,6 +9363,10 @@ msgstr "I seguenti modelli di stampante SLA non hanno nessun filamento seleziona msgid "the following suffix is not allowed:" msgstr "il seguente suffisso non è permesso:" +#: src/slic3r/GUI/GUI.cpp:340 +msgid "The following values were substituted:" +msgstr "I seguenti valori sono stati sostituiti:" + #: src/libslic3r/PrintConfig.cpp:3035 msgid "The gap between the object bottom and the generated pad in zero elevation mode." msgstr "Lo spazio tra la parte inferiore dell'oggetto e il pad generato nella modalità ad elevazione zero." @@ -9101,8 +9440,14 @@ msgid "The percentage of smaller pillars compared to the normal pillar diameter msgstr "La percentuale di pilastri più piccoli rispetto al diametro normale dei pilastri che vengono utilizzati in aree problematiche in cui un normale pilastro non può adattarsi." #: src/libslic3r/PrintConfig.cpp:2567 -msgid "The percentage of the bed area. \nIf the print area exceeds the specified value, \nthen a slow tilt will be used, otherwise - a fast tilt" -msgstr "La percentuale dell'area del piano.\nSe l'area di stampa supera un determinato valore,\nverrà utilizzata l'inclinazione lenta, in caso contrario - l'inclinazione veloce" +msgid "" +"The percentage of the bed area. \n" +"If the print area exceeds the specified value, \n" +"then a slow tilt will be used, otherwise - a fast tilt" +msgstr "" +"La percentuale dell'area del piano.\n" +"Se l'area di stampa supera un determinato valore,\n" +"verrà utilizzata l'inclinazione lenta, in caso contrario - l'inclinazione veloce" #: src/slic3r/GUI/Tab.cpp:3430 msgid "The physical printer(s) below is based on the preset, you are going to delete." @@ -9149,12 +9494,22 @@ msgid "The selected object couldn't be split because it contains only one part." msgstr "L'oggetto selezionato non può essere diviso perché contiene solo una parte." #: src/slic3r/GUI/MainFrame.cpp:1003 -msgid "The selected project is no longer available.\nDo you want to remove it from the recent projects list?" -msgstr "Il progetto selezionato non è più disponibile.\nVuoi rimuoverlo dall'elenco dei progetti recenti?" +msgid "" +"The selected project is no longer available.\n" +"Do you want to remove it from the recent projects list?" +msgstr "" +"Il progetto selezionato non è più disponibile.\n" +"Vuoi rimuoverlo dall'elenco dei progetti recenti?" #: src/slic3r/GUI/DoubleSlider.cpp:1121 -msgid "The sequential print is on.\nIt's impossible to apply any custom G-code for objects printing sequentually.\nThis code won't be processed during G-code generation." -msgstr "La stampa sequenziale è attiva.\nNon è possibile applicare alcun G-code personalizzato per oggetti con stampa sequenziale.\nQuesto codice non sarà processato durante la generazione del G-code." +msgid "" +"The sequential print is on.\n" +"It's impossible to apply any custom G-code for objects printing sequentually.\n" +"This code won't be processed during G-code generation." +msgstr "" +"La stampa sequenziale è attiva.\n" +"Non è possibile applicare alcun G-code personalizzato per oggetti con stampa sequenziale.\n" +"Questo codice non sarà processato durante la generazione del G-code." #: src/slic3r/GUI/ConfigWizard.cpp:1187 msgid "The size of the object can be specified in inches" @@ -9174,8 +9529,22 @@ msgstr "Velocità delle retrazioni (si applica solamente al motore dell'estrusor #: src/slic3r/GUI/ConfigManipulation.cpp:80 #, possible-c-format -msgid "The Spiral Vase mode requires:\n- one perimeter\n- no top solid layers\n- 0% fill density\n- no support material\n- Ensure vertical shell thickness enabled\n- Detect thin walls disabled" -msgstr "La modalità Vaso a spirale necessita:\n-un solo perimetro\n-nessun layer solido superiore\n-densità riempimento 0%\n-nessun materiale di supporto\n-Mantieni spessore guscio verticale attivo\n-Rileva perimetri sottili disattivo" +msgid "" +"The Spiral Vase mode requires:\n" +"- one perimeter\n" +"- no top solid layers\n" +"- 0% fill density\n" +"- no support material\n" +"- Ensure vertical shell thickness enabled\n" +"- Detect thin walls disabled" +msgstr "" +"La modalità Vaso a spirale necessita:\n" +"-un solo perimetro\n" +"-nessun layer solido superiore\n" +"-densità riempimento 0%\n" +"-nessun materiale di supporto\n" +"-Mantieni spessore guscio verticale attivo\n" +"-Rileva perimetri sottili disattivo" #: src/libslic3r/Print.cpp:1270 msgid "The Spiral Vase option can only be used when printing single material objects." @@ -9213,15 +9582,24 @@ msgid "The vertical distance between object and support material interface. Sett msgstr "Distanza verticale tra oggetto e interfaccia del materiale di supporto. Impostando questo valore a 0 eviterà che Slic3r utilizzi il flusso e velocità bridge per il primo layer dell'oggetto." #: src/slic3r/GUI/Tab.cpp:2731 -msgid "The Wipe option is not available when using the Firmware Retraction mode.\n\nShall I disable it in order to enable Firmware Retraction?" -msgstr "La funzione Wipe non è disponibile quando si usa la modalità Retrazione Firmware.\n\nDevo disattivarla per poter abilitare la Retrazione Firmware?" +msgid "" +"The Wipe option is not available when using the Firmware Retraction mode.\n" +"\n" +"Shall I disable it in order to enable Firmware Retraction?" +msgstr "" +"La funzione Wipe non è disponibile quando si usa la modalità Retrazione Firmware.\n" +"\n" +"Devo disattivarla per poter abilitare la Retrazione Firmware?" #: src/libslic3r/Print.cpp:1294 msgid "The Wipe Tower currently does not support volumetric E (use_volumetric_e=0)." msgstr "La Torre di Spurgo attualmente non supporta la volumetrica E (use_volumetric_e=0)." #: src/slic3r/GUI/ConfigManipulation.cpp:114 -msgid "The Wipe Tower currently supports the non-soluble supports only\nif they are printed with the current extruder without triggering a tool change.\n(both support_material_extruder and support_material_interface_extruder need to be set to 0)." +msgid "" +"The Wipe Tower currently supports the non-soluble supports only\n" +"if they are printed with the current extruder without triggering a tool change.\n" +"(both support_material_extruder and support_material_interface_extruder need to be set to 0)." msgstr "La Torre di Spurgo attualmente è compatibile con i supporti non solubili solamente se questi sono stampati con l'attuale estrusore senza l'innesco di un cambio attrezzo. (entrambi support_material_extruder e support_material_interface_extruder devono essere impostati a 0)." #: src/libslic3r/Print.cpp:1426 @@ -9273,16 +9651,28 @@ msgid "There are unprintable objects. Try to adjust support settings to make the msgstr "Sono presenti oggetti non stampabili. Prova a regolare le impostazioni dei supporti per rendere gli oggetti stampabili." #: src/slic3r/GUI/DoubleSlider.cpp:1155 -msgid "There is a color change for extruder that has not been used before.\nCheck your settings to avoid redundant color changes." -msgstr "È presente un cambio colore per l'estrusore che non è stato usato prima.\nControlla le impostazioni per evitare cambi colore ridondanti." +msgid "" +"There is a color change for extruder that has not been used before.\n" +"Check your settings to avoid redundant color changes." +msgstr "" +"È presente un cambio colore per l'estrusore che non è stato usato prima.\n" +"Controlla le impostazioni per evitare cambi colore ridondanti." #: src/slic3r/GUI/DoubleSlider.cpp:1149 -msgid "There is a color change for extruder that won't be used till the end of print job.\nThis code won't be processed during G-code generation." -msgstr "È presente un cambio colore per l'estrusore che non sarà utilizzato fino alla fine del lavoro di stampa.\nQuesto codice non sarà processato durante la generazione del G-code." +msgid "" +"There is a color change for extruder that won't be used till the end of print job.\n" +"This code won't be processed during G-code generation." +msgstr "" +"È presente un cambio colore per l'estrusore che non sarà utilizzato fino alla fine del lavoro di stampa.\n" +"Questo codice non sarà processato durante la generazione del G-code." #: src/slic3r/GUI/DoubleSlider.cpp:1152 -msgid "There is an extruder change set to the same extruder.\nThis code won't be processed during G-code generation." -msgstr "È presente un cambio estrusore impostato nello stesso estrusore.\nQuesto codice non verrà processato durante la generazione del G-code." +msgid "" +"There is an extruder change set to the same extruder.\n" +"This code won't be processed during G-code generation." +msgstr "" +"È presente un cambio estrusore impostato nello stesso estrusore.\n" +"Questo codice non verrà processato durante la generazione del G-code." #: src/libslic3r/GCode.cpp:604 msgid "There is an object with no extrusions on the first layer." @@ -9294,8 +9684,12 @@ msgid "This %s version: %s" msgstr "%s versione: %s" #: src/slic3r/GUI/Tab.cpp:1244 -msgid "This action is not revertable.\nDo you want to proceed?" -msgstr "Questa azione non è reversibile.\nVuoi continuare?" +msgid "" +"This action is not revertable.\n" +"Do you want to proceed?" +msgstr "" +"Questa azione non è reversibile.\n" +"Vuoi continuare?" #: src/libslic3r/PrintConfig.cpp:199 msgid "This code is inserted between objects when using sequential printing. By default extruder and bed temperature are reset using non-wait command; however if M104, M109, M140 or M190 are detected in this custom code, Slic3r will not add temperature commands. Note that you can use placeholder variables for all Slic3r settings, so you can put a \"M109 S[first_layer_temperature]\" command wherever you want." @@ -9370,13 +9764,30 @@ msgid "This file cannot be loaded in a simple mode. Do you want to switch to an msgstr "Non è possibile caricare questo file in modalità semplice. Si desidera passare alla modalità avanzata?" #: src/slic3r/GUI/Plater.cpp:2319 -msgid "This file contains several objects positioned at multiple heights.\nInstead of considering them as multiple objects, should I consider\nthis file as a single object having multiple parts?" -msgstr "Questo file contiene numerosi oggetti posizionati ad altezze multiple. Invece di considerarli come oggetti multipli, devo considerare \nquesto file come un oggetto singolo con parti multiple?" +msgid "" +"This file contains several objects positioned at multiple heights.\n" +"Instead of considering them as multiple objects, should I consider\n" +"this file as a single object having multiple parts?" +msgstr "" +"Questo file contiene numerosi oggetti posizionati ad altezze multiple. Invece di considerarli come oggetti multipli, devo considerare \n" +"questo file come un oggetto singolo con parti multiple?" #: src/slic3r/GUI/FirmwareDialog.cpp:332 #, possible-c-format -msgid "This firmware hex file does not match the printer model.\nThe hex file is intended for: %s\nPrinter reported: %s\n\nDo you want to continue and flash this hex file anyway?\nPlease only continue if you are sure this is the right thing to do." -msgstr "Questo file hex di firmware non è corretto per il modello della stampante. \nIl file hex è per: %s\nLa stampante è: %s\n\nVuoi continuare ed installare il firmware comunque?\nContinua solo se sei certo che sia la cosa giusta da fare." +msgid "" +"This firmware hex file does not match the printer model.\n" +"The hex file is intended for: %s\n" +"Printer reported: %s\n" +"\n" +"Do you want to continue and flash this hex file anyway?\n" +"Please only continue if you are sure this is the right thing to do." +msgstr "" +"Questo file hex di firmware non è corretto per il modello della stampante. \n" +"Il file hex è per: %s\n" +"La stampante è: %s\n" +"\n" +"Vuoi continuare ed installare il firmware comunque?\n" +"Continua solo se sei certo che sia la cosa giusta da fare." #: src/libslic3r/PrintConfig.cpp:348 msgid "This flag enables the automatic cooling logic that adjusts print speed and fan speed according to layer printing time." @@ -9468,8 +9879,12 @@ msgid "This matrix describes volumes (in cubic milimetres) required to purge the msgstr "Questa matrice descrive il volume (in millimetri cubici) necessario per spurgare il filamento nella torre di spurgo per una qualunque coppia di attrezzi." #: src/slic3r/GUI/GUI_ObjectManipulation.cpp:928 -msgid "This operation is irreversible.\nDo you want to proceed?" -msgstr "Questa operazione è irreversibile.\nVuoi continuare?" +msgid "" +"This operation is irreversible.\n" +"Do you want to proceed?" +msgstr "" +"Questa operazione è irreversibile.\n" +"Vuoi continuare?" #: src/libslic3r/PrintConfig.cpp:1550 msgid "This option sets the number of perimeters to generate for each layer. Note that Slic3r may increase this number automatically when it detects sloping surfaces which benefit from a higher number of perimeters if the Extra Perimeters option is enabled." @@ -9537,8 +9952,16 @@ msgstr "Questo vettore salva il volume necessario per cambiare da/a ogni attrezz #: src/slic3r/GUI/UpdateDialogs.cpp:216 #, possible-c-format -msgid "This version of %s is not compatible with currently installed configuration bundles.\nThis probably happened as a result of running an older %s after using a newer one.\n\nYou may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." -msgstr "Questa versione di %s non è compatibile con gli attuali gruppi di configurazioni installati.\nProbabilmente è causato dall'esecuzione di una vecchia versione di %s dopo averne utilizzata una più recente.\n\nProva a chiudere %s e riprovare con una versione più recente, o prova ad effettuare nuovamente la configurazione iniziale. Così facendo creerai un'istantanea di backup della configurazione esistente prima di istallare i file compatibili con questo %s." +msgid "" +"This version of %s is not compatible with currently installed configuration bundles.\n" +"This probably happened as a result of running an older %s after using a newer one.\n" +"\n" +"You may either exit %s and try again with a newer version, or you may re-run the initial configuration. Doing so will create a backup snapshot of the existing configuration before installing files compatible with this %s." +msgstr "" +"Questa versione di %s non è compatibile con gli attuali gruppi di configurazioni installati.\n" +"Probabilmente è causato dall'esecuzione di una vecchia versione di %s dopo averne utilizzata una più recente.\n" +"\n" +"Prova a chiudere %s e riprovare con una versione più recente, o prova ad effettuare nuovamente la configurazione iniziale. Così facendo creerai un'istantanea di backup della configurazione esistente prima di istallare i file compatibili con questo %s." #: src/libslic3r/PrintConfig.cpp:2601 msgid "This will apply a gamma correction to the rasterized 2D polygons. A gamma value of zero means thresholding with the threshold in the middle. This behaviour eliminates antialiasing without losing holes in polygons." @@ -9763,8 +10186,12 @@ msgstr "Tipo:" #: src/slic3r/GUI/OpenGLManager.cpp:275 #, possible-c-format -msgid "Unable to load the following shaders:\n%s" -msgstr "Impossibile caricare i seguenti shader:\n%s" +msgid "" +"Unable to load the following shaders:\n" +"%s" +msgstr "" +"Impossibile caricare i seguenti shader:\n" +"%s" #: src/slic3r/GUI/Plater.cpp:3233 msgid "Unable to reload:" @@ -9776,6 +10203,10 @@ msgstr "Impossibile ricaricare:" msgid "Undef" msgstr "Undef" +#: src/slic3r/GUI/GUI.cpp:305 +msgid "Undefined" +msgstr "Indefinito" + #: src/libslic3r/miniz_extension.cpp:91 msgid "undefined error" msgstr "errore non definito" @@ -9832,11 +10263,17 @@ msgid "UNLOCKED LOCK" msgstr "LUCCHETTO APERTO" #: src/slic3r/GUI/Tab.cpp:3719 -msgid "UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\nClick to reset all settings for current option group to the system (or default) values." -msgstr "L'icona del LUCCHETTO APERTO indica che alcune impostazioni sono state modificate e non sono uguali ai valori di sistema (o predefinite) per il gruppo di opzioni corrente.\nClicca qui per reimpostare tutte le impostazioni del gruppo corrente ai valori di sistema (o predefiniti)." +msgid "" +"UNLOCKED LOCK icon indicates that some settings were changed and are not equal to the system (or default) values for the current option group.\n" +"Click to reset all settings for current option group to the system (or default) values." +msgstr "" +"L'icona del LUCCHETTO APERTO indica che alcune impostazioni sono state modificate e non sono uguali ai valori di sistema (o predefinite) per il gruppo di opzioni corrente.\n" +"Clicca qui per reimpostare tutte le impostazioni del gruppo corrente ai valori di sistema (o predefiniti)." #: src/slic3r/GUI/Tab.cpp:3734 -msgid "UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\nClick to reset current value to the system (or default) value." +msgid "" +"UNLOCKED LOCK icon indicates that the value was changed and is not equal to the system (or default) value.\n" +"Click to reset current value to the system (or default) value." msgstr "L'icona del LUCCHETTO APERTO indica che il valore è stato cambiato e non è uguale al valore di sistema (o predefinito). Clicca per reimpostare il valore corrente al valore di sistema (o predefinito)." #: src/slic3r/GUI/KBShortcutsDialog.cpp:173 @@ -10120,8 +10557,12 @@ msgid "View mode" msgstr "Modalità Visualizzazione" #: src/slic3r/GUI/UnsavedChangesDialog.cpp:666 -msgid "Visit \"Preferences\" and check \"%1%\"\nto be asked about unsaved changes again." -msgstr "Visita \"Prefereze\" e controlla \"%1%\"\nper ricevere nuovamente informazioni sui cambiamenti non salvati." +msgid "" +"Visit \"Preferences\" and check \"%1%\"\n" +"to be asked about unsaved changes again." +msgstr "" +"Visita \"Prefereze\" e controlla \"%1%\"\n" +"per ricevere nuovamente informazioni sui cambiamenti non salvati." #: src/libslic3r/PrintConfig.cpp:3553 msgid "Visualize an already sliced and saved G-code" @@ -10366,8 +10807,18 @@ msgid "World coordinates" msgstr "Coordinate reali" #: src/slic3r/GUI/UpdateDialogs.cpp:92 -msgid "Would you like to install it?\n\nNote that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n\nUpdated configuration bundles:" -msgstr "Vuoi installarlo?\n\nNota: verrà prima creata un'istantanea della configurazione completa. Potrà essere ripristinata in qualunque momento se dovessero presentarsi problemi con la nuova versione.\n\nGruppo di configurazioni aggiornate:" +msgid "" +"Would you like to install it?\n" +"\n" +"Note that a full configuration snapshot will be created first. It can then be restored at any time should there be a problem with the new version.\n" +"\n" +"Updated configuration bundles:" +msgstr "" +"Vuoi installarlo?\n" +"\n" +"Nota: verrà prima creata un'istantanea della configurazione completa. Potrà essere ripristinata in qualunque momento se dovessero presentarsi problemi con la nuova versione.\n" +"\n" +"Gruppo di configurazioni aggiornate:" #: src/slic3r/GUI/GUI_App.cpp:1802 msgid "Would you like to stop uploads and close the program?" @@ -10455,12 +10906,20 @@ msgid "You cannot use non-uniform scaling mode for multiple objects/parts select msgstr "Non è possibile utilizzare la modalità di ridimensionamento non uniforme per una selezione di più oggetti/parti" #: src/slic3r/GUI/NotificationManager.hpp:459 -msgid "You have just added a G-code for color change, but its value is empty.\nTo export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" -msgstr "Hai aggiunto un G-code per il cambio colore, ma il suo valore è vuoto.\nPer esportare correttamente il G-code, controlla \"Color Change G-code\" su \"Impostazioni stampante > G-code personalizzato\"" +msgid "" +"You have just added a G-code for color change, but its value is empty.\n" +"To export the G-code correctly, check the \"Color Change G-code\" in \"Printer Settings > Custom G-code\"" +msgstr "" +"Hai aggiunto un G-code per il cambio colore, ma il suo valore è vuoto.\n" +"Per esportare correttamente il G-code, controlla \"Color Change G-code\" su \"Impostazioni stampante > G-code personalizzato\"" #: src/slic3r/GUI/SavePresetDialog.cpp:277 -msgid "You have selected physical printer \"%1%\" \nwith related printer preset \"%2%\"" -msgstr "Hai selezionato la stampante fisica \"%1%\" \ncon il relativo preset stampante \"%2%\"" +msgid "" +"You have selected physical printer \"%1%\" \n" +"with related printer preset \"%2%\"" +msgstr "" +"Hai selezionato la stampante fisica \"%1%\" \n" +"con il relativo preset stampante \"%2%\"" #: src/slic3r/GUI/GUI_App.cpp:1078 msgid "You have the following presets with saved options for \"Print Host upload\"" @@ -10479,9 +10938,13 @@ msgstr "È necessario installare un aggiornamento della configurazione." msgid "You need to restart %s to make the changes effective." msgstr "È necessario riavviare %s per rendere effettive le modifiche." -#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:611 msgid "You should change the name of your printer device." -msgstr "Devi cambiare il nome del dispositivo di stampa." +msgstr "Dovresti cambiare il nome del tuo dispositivo di stampa." + +#: src/slic3r/GUI/PhysicalPrinterDialog.cpp:468 +msgid "You should to change a name of your printer device. It can't be saved." +msgstr "Devi cambiare il nome del dispositivo di stampa. Non può essere salvato." #: src/slic3r/GUI/GUI_ObjectList.cpp:3884 #, possible-c-format @@ -10521,12 +10984,24 @@ msgid "Z offset" msgstr "Offset Z" #: src/slic3r/GUI/ConfigManipulation.cpp:59 -msgid "Zero first layer height is not valid.\n\nThe first layer height will be reset to 0.01." -msgstr "Altezza primo layer a zero non è valida.\n\nL'altezza del primo layer verrà reimpostata a 0.01." +msgid "" +"Zero first layer height is not valid.\n" +"\n" +"The first layer height will be reset to 0.01." +msgstr "" +"Altezza primo layer a zero non è valida.\n" +"\n" +"L'altezza del primo layer verrà reimpostata a 0.01." #: src/slic3r/GUI/ConfigManipulation.cpp:47 -msgid "Zero layer height is not valid.\n\nThe layer height will be reset to 0.01." -msgstr "Altezza layer zero non valida.\n\nL'altezza layer verrà reimpostata a 0.01." +msgid "" +"Zero layer height is not valid.\n" +"\n" +"The layer height will be reset to 0.01." +msgstr "" +"Altezza layer zero non valida.\n" +"\n" +"L'altezza layer verrà reimpostata a 0.01." #: src/libslic3r/PrintConfig.cpp:2831 msgid "Zig-Zag" @@ -10550,8 +11025,12 @@ msgid "Zoom to Bed" msgstr "Zoom sul piano" #: src/slic3r/GUI/KBShortcutsDialog.cpp:176 -msgid "Zoom to selected object\nor all objects in scene, if none selected" -msgstr "Zoom sull'oggetto selezionato\no tutti gli oggetti in scena, se nessuno è selezionato" +msgid "" +"Zoom to selected object\n" +"or all objects in scene, if none selected" +msgstr "" +"Zoom sull'oggetto selezionato\n" +"o tutti gli oggetti in scena, se nessuno è selezionato" #: src/libslic3r/PrintConfig.cpp:241 src/libslic3r/PrintConfig.cpp:816 #: src/libslic3r/PrintConfig.cpp:1748 src/libslic3r/PrintConfig.cpp:1758 diff --git a/resources/localization/ko/PrusaSlicer.mo b/resources/localization/ko/PrusaSlicer.mo index fa7a62e6ed585beb1fbe4e71de52e46294d5447f..07c81b77ed78e8115d9c0d4dffbdcbaa909e92e5 100644 GIT binary patch delta 16685 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 delta 16737 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 diff --git a/resources/localization/nl/PrusaSlicer.mo b/resources/localization/nl/PrusaSlicer.mo index 70155e722bdc88454500a205e265f0f08353ea26..3b32ea02f325744d451cb5d8665691c972b46d2b 100644 GIT binary patch delta 20157 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 f3Mx5PpchwFggT&AQBQ6P(eaUIz;Ib=?*6? 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 aEK|O8Tx3kin3%EW#`w0L8{@z9^Zx;3{pHO7 diff --git a/resources/localization/pl/PrusaSlicer.mo b/resources/localization/pl/PrusaSlicer.mo index 213a7eb0b217716e9103cbe387a20821093f3883..4673f175f5783b082a348e0b745ac491df7ee58a 100644 GIT binary patch delta 56440 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

4w}%`tBzWUb-rL?oyOKsHi~iW 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 P00000NkvXXu0mjfa^HEm From 32ec4aa652fdf192016b84032bc243bc913705ab Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Tue, 1 Jun 2021 09:09:59 +0200 Subject: [PATCH 09/80] Creality 0.0.17 Updated start g-code. Added specific start g-code for straingauge printers. Improved output filename format. Added filament profile. --- resources/profiles/Creality.idx | 1 + resources/profiles/Creality.ini | 92 +++++++++++++++++++-------------- 2 files changed, 55 insertions(+), 38 deletions(-) diff --git a/resources/profiles/Creality.idx b/resources/profiles/Creality.idx index c1242f27e..caa304bad 100644 --- a/resources/profiles/Creality.idx +++ b/resources/profiles/Creality.idx @@ -1,4 +1,5 @@ min_slic3r_version = 2.3.1-beta +0.0.17 Updated start g-code. Added specific start g-code for straingauge printers. Improved output filename format. Added filament profile. 0.0.16 Updated CR6-SE start g-code. Added and updated filament profiles. 0.0.15 Added new printer models, filament profiles. Various improvements. min_slic3r_version = 2.3.0-rc2 diff --git a/resources/profiles/Creality.ini b/resources/profiles/Creality.ini index 524815525..b055641ee 100644 --- a/resources/profiles/Creality.ini +++ b/resources/profiles/Creality.ini @@ -5,7 +5,7 @@ name = Creality # Configuration version of this file. Config file will only be installed, if the config_version differs. # This means, the server may force the PrusaSlicer configuration to be downgraded. -config_version = 0.0.16 +config_version = 0.0.17 # Where to get the updates from? config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/ # changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1% @@ -21,7 +21,7 @@ technology = FFF family = ENDER bed_model = ender3_bed.stl bed_texture = ender3.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER3BLTOUCH] name = Creality Ender-3 BLTouch @@ -30,7 +30,7 @@ technology = FFF family = ENDER bed_model = ender3_bed.stl bed_texture = ender3.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER3V2] name = Creality Ender-3 V2 @@ -39,7 +39,7 @@ technology = FFF family = ENDER bed_model = ender3v2_bed.stl bed_texture = ender3v2.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER3MAX] name = Creality Ender-3 Max @@ -48,7 +48,7 @@ technology = FFF family = ENDER bed_model = cr10v2_bed.stl bed_texture = cr10spro.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER4] name = Creality Ender-4 @@ -57,7 +57,7 @@ technology = FFF family = ENDER bed_model = ender3v2_bed.stl bed_texture = ender3v2.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER5] name = Creality Ender-5 @@ -66,7 +66,7 @@ technology = FFF family = ENDER bed_model = ender3_bed.stl bed_texture = ender3.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER5PLUS] name = Creality Ender-5 Plus @@ -75,7 +75,7 @@ technology = FFF family = ENDER bed_model = ender5plus_bed.stl bed_texture = ender5plus.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER6] name = Creality Ender-6 @@ -84,7 +84,7 @@ technology = FFF family = ENDER bed_model = ender6_bed.stl bed_texture = ender6.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:ENDER2] name = Creality Ender-2 @@ -93,7 +93,7 @@ technology = FFF family = ENDER bed_model = ender2_bed.stl bed_texture = ender2.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR5PRO] name = Creality CR-5 Pro @@ -102,7 +102,7 @@ technology = FFF family = CR bed_model = cr5pro_bed.stl bed_texture = cr5pro.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR5PROH] name = Creality CR-5 Pro H @@ -111,7 +111,7 @@ technology = FFF family = CR bed_model = cr5pro_bed.stl bed_texture = cr5pro.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR6SE] name = Creality CR-6 SE @@ -120,7 +120,7 @@ technology = FFF family = CR bed_model = cr6se_bed.stl bed_texture = cr6se.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR6MAX] name = Creality CR-6 Max @@ -129,7 +129,7 @@ technology = FFF family = CR bed_model = cr10s4_bed.stl bed_texture = cr10s4.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10MINI] name = Creality CR-10 Mini @@ -138,7 +138,7 @@ technology = FFF family = CR bed_model = cr10mini_bed.stl bed_texture = cr10mini.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10MAX] name = Creality CR-10 Max @@ -147,7 +147,7 @@ technology = FFF family = CR bed_model = cr10max_bed.stl bed_texture = cr10max.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10] name = Creality CR-10 @@ -156,7 +156,7 @@ technology = FFF family = CR bed_model = cr10_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10V2] name = Creality CR-10 V2 @@ -165,7 +165,7 @@ technology = FFF family = CR bed_model = cr10v2_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10V3] name = Creality CR-10 V3 @@ -174,7 +174,7 @@ technology = FFF family = CR bed_model = cr10v2_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10S] name = Creality CR-10 S @@ -183,7 +183,7 @@ technology = FFF family = CR bed_model = cr10_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10SPRO] name = Creality CR-10 S Pro @@ -192,7 +192,7 @@ technology = FFF family = CR bed_model = cr10v2_bed.stl bed_texture = cr10spro.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10SPROV2] name = Creality CR-10 S Pro V2 @@ -201,7 +201,7 @@ technology = FFF family = CR bed_model = cr10v2_bed.stl bed_texture = cr10.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10S4] name = Creality CR-10 S4 @@ -210,7 +210,7 @@ technology = FFF family = CR bed_model = cr10s4_bed.stl bed_texture = cr10s4.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR10S5] name = Creality CR-10 S5 @@ -219,7 +219,7 @@ technology = FFF family = CR bed_model = cr10s5_bed.stl bed_texture = cr10s5.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR20] name = Creality CR-20 @@ -228,7 +228,7 @@ technology = FFF family = CR bed_model = ender3_bed.stl bed_texture = cr20.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR20PRO] name = Creality CR-20 Pro @@ -237,7 +237,7 @@ technology = FFF family = CR bed_model = ender3_bed.stl bed_texture = cr20.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR200B] name = Creality CR-200B @@ -246,7 +246,7 @@ technology = FFF family = CR bed_model = cr200b_bed.stl bed_texture = cr200b.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY [printer_model:CR8] name = Creality CR-8 @@ -255,7 +255,7 @@ technology = FFF family = CR bed_model = cr8_bed.stl bed_texture = cr8.svg -default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY #[printer_model:CRX] #name = Creality CR-X @@ -264,7 +264,7 @@ default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @ #family = CR-X #bed_model = cr10v2_bed.stl #bed_texture = cr10spro.svg -#default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +#default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY #[printer_model:CRXPRO] #name = Creality CR-X Pro @@ -273,7 +273,7 @@ default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @ #family = CR-X #bed_model = cr10v2_bed.stl #bed_texture = cr10spro.svg -#default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY +#default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY # All presets starting with asterisk, for example *common*, are intermediate and they will # not make it into the user interface. @@ -326,7 +326,7 @@ notes = overhangs = 0 only_retract_when_crossing_perimeters = 0 ooze_prevention = 0 -output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode +output_filename_format = {input_filename_base}_{print_time}_{layer_height}mm_{temperature[0]}C_{filament_type[0]}_{printer_model}.gcode perimeters = 2 perimeter_extruder = 1 perimeter_extrusion_width = 0.45 @@ -639,6 +639,18 @@ filament_density = 1.24 filament_colour = #FF0000 filament_spool_weight = 256 +[filament:Devil Design PLA Matt @CREALITY] +inherits = *PLA* +filament_vendor = Devil Design +temperature = 205 +bed_temperature = 60 +first_layer_temperature = 205 +first_layer_bed_temperature = 60 +filament_cost = 20.00 +filament_density = 1.38 +filament_colour = #FF0000 +filament_spool_weight = 256 + [filament:Devil Design PLA Galaxy @CREALITY] inherits = *PLA* renamed_from = "Devil Design PLA (Galaxy) @CREALITY" @@ -779,7 +791,7 @@ filament_colour = #C7F935 # Common printer preset [printer:*common*] printer_technology = FFF -before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n +before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0\n;{layer_z}\n\n between_objects_gcode = pause_print_gcode = deretract_speed = 40 @@ -804,7 +816,7 @@ machine_max_jerk_y = 8 machine_max_jerk_z = 0.4 machine_min_extruding_rate = 0 machine_min_travel_rate = 0 -layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z] +layer_gcode = ;AFTER_LAYER_CHANGE\n;{layer_z} max_layer_height = 0.28 min_layer_height = 0.08 max_print_height = 250 @@ -834,16 +846,20 @@ z_offset = 0 printer_model = default_print_profile = 0.16mm OPTIMAL @CREALITY default_filament_profile = Generic PLA @CREALITY -start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[first_layer_bed_temperature] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[first_layer_temperature] ; set final nozzle temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp to stabilize\nM109 S[first_layer_temperature] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 +start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{first_layer_bed_temperature[0]} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{first_layer_temperature[0]} ; set final nozzle temp\nM190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize\nM109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F600 ; Move print head up{endif}\nG1 X5 Y{print_bed_max[1]*0.8} F{travel_speed*60} ; present print\n{if max_layer_z < max_print_height-10}G1 Z{z_offset+min(max_layer_z+70, max_print_height-10)} F600 ; Move print head further up{endif}\n{if max_layer_z < max_print_height*0.6}G1 Z{max_print_height*0.6} F600 ; Move print head further up{endif}\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors +# Intended for printers equipped with a strain gauge mechanism, like the CR-6 series +[printer:*straingauge*] +start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{first_layer_bed_temperature[0]} ; set final bed temp\nM109 S{first_layer_temperature[0]-50} ; set temporary nozzle temp to prevent oozing during homing\nM190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize\nG28 ; home all axis\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{first_layer_temperature[0]} ; set final nozzle temp\nM109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 + # Intended for printers with a smaller bed, like the Ender-3 series [printer:*fastabl*] -start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[first_layer_bed_temperature] ; set final bed temp\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG29 ; auto bed levelling\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[first_layer_temperature] ; set final nozzle temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp to stabilize\nM109 S[first_layer_temperature] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 +start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{first_layer_bed_temperature[0]} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nG4 S10 ; allow partial nozzle warmup\nG28 ; home all axis\nG29 ; auto bed levelling\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{first_layer_temperature[0]} ; set final nozzle temp\nM190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize\nM109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 # Intended for printers with a larger bed, like the CR-10 series [printer:*slowabl*] -start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S120 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM140 S[first_layer_bed_temperature] ; set final bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp to stabilize\nG28 ; home all axis\nG29 ; auto bed levelling\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S[first_layer_temperature] ; set final nozzle temp\nM109 S[first_layer_temperature] ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 +start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM140 S{first_layer_bed_temperature[0]} ; set final bed temp\nM104 S150 ; set temporary nozzle temp to prevent oozing during homing and auto bed leveling\nM190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize\nG28 ; home all axis\nG29 ; auto bed levelling\nG1 Z50 F240\nG1 X2 Y10 F3000\nM104 S{first_layer_temperature[0]} ; set final nozzle temp\nM109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize\nG1 Z0.28 F240\nG92 E0\nG1 Y140 E10 F1500 ; prime the nozzle\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E10 F1200 ; prime the nozzle\nG92 E0 # Intended for printers with vendor official firmware verified to support M25 [printer:*pauseprint*] @@ -969,13 +985,13 @@ printer_model = CR5PROH printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_CR5PROH\nPRINTER_HAS_BOWDEN [printer:Creality CR-6 SE] -inherits = *common*; *pauseprint* +inherits = *common*; *straingauge*; *pauseprint* bed_shape = 5x0,230x0,230x235,5x235 printer_model = CR6SE printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_CR6SE\nPRINTER_HAS_BOWDEN [printer:Creality CR-6 Max] -inherits = *common*; *slowabl* +inherits = *common*; *straingauge* retract_length = 6 bed_shape = 5x5,395x5,395x395,5x395 max_print_height = 400 From 90fd22f85ff5ab4e6f13105a96a65d65fe761db8 Mon Sep 17 00:00:00 2001 From: rtyr <36745189+rtyr@users.noreply.github.com> Date: Tue, 1 Jun 2021 12:53:06 +0200 Subject: [PATCH 10/80] Improved SL1 thumbnail. --- .../profiles/PrusaResearch/SL1_thumbnail.png | Bin 63151 -> 78767 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/profiles/PrusaResearch/SL1_thumbnail.png b/resources/profiles/PrusaResearch/SL1_thumbnail.png index b4425a705f313a0a7e707ba507966d10c5d2583e..984aed7e0cef2f9ecaf6758177ca06e00e54d1df 100644 GIT binary patch delta 74645 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